Skip to main content

CLD3 Python bindings

Project description

pycld3

Python bindings to the Compact Language Detector v3 (CLD3).

This package contains Python bindings (via Cython) to Google's CLD3 library.

Installation

Install via Pip:

python -m pip install pycld3

Building from Source

To build this extension, you will need:

  • Cython
  • Protobuf, including the protoc Protobuf compiler available as an executable

Building the extension does not require the Chromium repository.

Usage

cld3 exports two module-level functions, get_language() and get_frequent_languages():

>>> import cld3

>>> cld3.get_language("影響包含對氣候的變化以及自然資源的枯竭程度")
LanguagePrediction(language='zh', probability=0.999969482421875, is_reliable=True, proportion=1.0)

>>> cld3.get_language("This is a test")
LanguagePrediction(language='en', probability=0.9999980926513672, is_reliable=True, proportion=1.0)

>>> for lang in cld3.get_frequent_languages(
...     "This piece of text is in English. Този текст е на Български.",
...     num_langs=3
... ):
...     print(lang)
...
LanguagePrediction(language='bg', probability=0.9173890948295593, is_reliable=True, proportion=0.5853658318519592)
LanguagePrediction(language='en', probability=0.9999790191650391, is_reliable=True, proportion=0.4146341383457184)
LanguagePrediction(language='und', probability=0.0, is_reliable=False, proportion=0.0)

FAQ

cld3 incorrectly detects my input, how can I fix this?

In some cases, you cannot. Language detection algorithms in general may perform poorly with very short inputs. Rarely should you trust the output of something like detect("hi"). Keep this limitation in mind regardless of what library you are using.

How do I fix an error telling me "The Protobuf compiler, protoc, could not be found"?

The Protobuf compiler, protoc, is required for building this package. (However, if you are installing from PyPI with pip, then the .h and .cc files generated with protoc will already be included.)

Below are some quick install commands, but please consult the official protobuf repository for information on installing Protobuf.

Ubuntu Linux:

sudo apt-get update
sudo apt-get install protobuf-compiler

Mac OSX:

brew update && brew install protobuf

Authors

This repository contains a fork of google/cld3 at commit 06f695f. The license for google/cld3 can be found at LICENSES/CLD3_LICENSE.

This repository is a combination of changes introduced by various forks of google/cld3 by the following people:

Project details


Download files

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

Source Distribution

pycld3-0.8.tar.gz (684.0 kB view details)

Uploaded Source

Built Distribution

pycld3-0.8-cp37-cp37m-macosx_10_14_x86_64.whl (513.5 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

Details for the file pycld3-0.8.tar.gz.

File metadata

  • Download URL: pycld3-0.8.tar.gz
  • Upload date:
  • Size: 684.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for pycld3-0.8.tar.gz
Algorithm Hash digest
SHA256 85c3b4b1a5599554578dc028b89b34c6a4472e0e0af153896f448d8b987c4280
MD5 d63c14d19046186eee0e6f92ee7c269d
BLAKE2b-256 7bbfd304ee6e24975e33ee9212fb1b929a9e04c4cf9ce0b2c54f4b4b75b1c6ba

See more details on using hashes here.

File details

Details for the file pycld3-0.8-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: pycld3-0.8-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 513.5 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for pycld3-0.8-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 f1dd6cc914e270b9bc7c7d24f4faeb27221bb27df3bc49e19a8bc054bf2f3935
MD5 d7a633f7e6f955f9a58d57763222b30a
BLAKE2b-256 0aa1b391c1a70d4afac7d78a2eb9dac51c5d45e0c17a682bf6c9779cc8fb1d52

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page