Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

A Python wrapper around the NLPIR/ICTCLAS Chinese segmentation software.

Project Description

PyNLPIR is a Python wrapper around the NLPIR/ICTCLAS Chinese segmentation software.


Easily segment text using NLPIR, one of the most widely-regarded Chinese text analyzers:

import pynlpir

s = '欢迎科研人员、技术工程师、企事业单位与个人参与NLPIR平台的建设工作。'

[('欢迎', 'verb'), ('科研', 'noun'), ('人员', 'noun'), ('、', 'punctuation mark'), ('技术', 'noun'), ('工程师', 'noun'), ('、', 'punctuation mark'), ('企事业', 'noun'), ('单位', 'noun'), ('与', 'conjunction'), ('个人', 'noun'), ('参与', 'verb'), ('NLPIR', 'noun'), ('平台', 'noun'), ('的', 'particle'), ('建设', 'verb'), ('工作', 'verb'), ('。', 'punctuation mark')]


  • Helper functions for common use cases
  • English/Chinese part of speech mapping
  • Support for UTF-8, GBK, and BIG5 encoded strings (and unicode of course!)
  • Access to NLPIR’s C functions via ctypes
  • No third-party dependencies (PyNLPIR includes a copy of NLPIR)
  • Runs on Python 2.7 and 3
  • Supports Linux and Windows (no OS X support until NLPIR supports it)

Getting Started

Change Log

0.3.1 (2015-07-12)

  • Fixes RST rendering error.

0.3 (2015-07-12)

  • Includes NLPIR version 20150702. Fixes #25.
  • Adds encoding error handling scheme options.
  • Adds new word identification functions and documentation. Fixes #26.
  • Makes ~pynlpir.get_key_words work with multiple NLPIR return value structures. Fixes #23.
  • Returns None when pos code not recognized. Fixes #20.
  • Updates outdated link in tutorial. Fixes #21.

0.2.2 (2015-01-02)

  • Fixes release problem with v0.2.1.

0.2.1 (2015-01-02)

  • Packages NLPIR version 20141230. Fixes #18.

0.2 (2014-12-18)

  • Packages NLPIR version 20140926. Restores pynlpir.get_key_words functionality. Fixes #11, #14, and #15.
  • Updates part of speech map for new NLPIR version. Fixes #17.
  • Fixes a typo in api.rst. Fixes #16.
  • Fixes a bug involving uppercase part of speech codes. Fixes #10.
  • Adds Python 3.4 test to tox and travis.
  • Notes Python 3.4 support in and CONTRIBUTING.rst.
  • Fixes the doubleslash unit test so that it works with the new NLPIR version.
  • Adds a missing comma. Fixes #8.
  • Fixes indentation in pynlpir.get_key_words.
  • Adds condition for empty key word result. Fixes #9.

0.1.3 (2014-06-12)

  • Fixes typo in docs. Fixes #4.
  • Adds license_code argument to Fixes #6.
  • Packages NLPIR version 20131219 and removes version 20140324. Fixes a NLPIR expired license issue. Fixes #5.
  • Fixes bug with double slashes in input. Fixes #7.

0.1.2 (2014-05-01)

  • Adds version information to
  • Adds Travis CI configuration information.
  • Reformats README.rst.
  • Adds documentation about contributing.
  • Fixes #2. Fixes segmenting text with whitespace.
  • Fixes #3. Fixes _encode()/_decode default encoding error.

0.1.1 (2014-04-07)

  • Fixes installation problem with package data.

0.1.0 (2014-04-07)

  • Initial release.
Release History

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
PyNLPIR-0.3.1.tar.gz (12.5 MB) Copy SHA256 Checksum SHA256 Source Jul 13, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting