Skip to main content

An accurate natural language detection library, suitable for short text and mixed-language text

Project description

lingua

build status codecov supported languages supported Python versions pypi license


1. What does this library do?

Its task is simple: It tells you which language some text is written in. This is very useful as a preprocessing step for linguistic data in natural language processing applications such as text classification and spell checking. Other use cases, for instance, might include routing e-mails to the right geographically located customer service department, based on the e-mails' languages.

2. Why does this library exist?

Language detection is often done as part of large machine learning frameworks or natural language processing applications. In cases where you don't need the full-fledged functionality of those systems or don't want to learn the ropes of those, a small flexible library comes in handy.

Python is widely used in natural language processing, so there are a couple of comprehensive open source libraries for this task, such as Google's CLD 2 and CLD 3, Langid, Simplemma and Langdetect. Unfortunately, except for the last one they have two major drawbacks:

  1. Detection only works with quite lengthy text fragments. For very short text snippets such as Twitter messages, they do not provide adequate results.
  2. The more languages take part in the decision process, the less accurate are the detection results.

Lingua aims at eliminating these problems. She nearly does not need any configuration and yields pretty accurate results on both long and short text, even on single words and phrases. She draws on both rule-based and statistical Naive Bayes methods but does not use neural networks or any dictionaries of words. She does not need a connection to any external API or service either. Once the library has been downloaded, it can be used completely offline.

3. A short history of this library

This library started as a pure Python implementation. Python's quick prototyping capabilities made an important contribution to its improvements. Unfortunately, there was always a tradeoff between performance and memory consumption. At first, Lingua's language models were stored in dictionaries during runtime. This led to quick performance at the cost of large memory consumption (more than 3 GB). Because of that, the language models were then stored in NumPy arrays instead of dictionaries. Memory consumption reduced to approximately 800 MB but CPU performance dropped significantly. Both approaches were not satisfying.

Starting from version 2.0.0, the pure Python implementation was replaced with compiled Python bindings to the native Rust implementation of Lingua. This decision has led to both quick performance and a small memory footprint of less than 1 GB. The pure Python implementation is still available in a separate branch in this repository and will be kept up-to-date in subsequent 1.* releases. There are environments that do not support native Python extensions such as Juno, so a pure Python implementation is still useful. Both 1.* and 2.* versions will remain available on the Python package index (PyPI).

4. Which languages are supported?

Compared to other language detection libraries, Lingua's focus is on quality over quantity, that is, getting detection right for a small set of languages first before adding new ones. Currently, the following 75 languages are supported:

  • A
    • Afrikaans
    • Albanian
    • Arabic
    • Armenian
    • Azerbaijani
  • B
    • Basque
    • Belarusian
    • Bengali
    • Norwegian Bokmal
    • Bosnian
    • Bulgarian
  • C
    • Catalan
    • Chinese
    • Croatian
    • Czech
  • D
    • Danish
    • Dutch
  • E
    • English
    • Esperanto
    • Estonian
  • F
    • Finnish
    • French
  • G
    • Ganda
    • Georgian
    • German
    • Greek
    • Gujarati
  • H
    • Hebrew
    • Hindi
    • Hungarian
  • I
    • Icelandic
    • Indonesian
    • Irish
    • Italian
  • J
    • Japanese
  • K
    • Kazakh
    • Korean
  • L
    • Latin
    • Latvian
    • Lithuanian
  • M
    • Macedonian
    • Malay
    • Maori
    • Marathi
    • Mongolian
  • N
    • Norwegian Nynorsk
  • P
    • Persian
    • Polish
    • Portuguese
    • Punjabi
  • R
    • Romanian
    • Russian
  • S
    • Serbian
    • Shona
    • Slovak
    • Slovene
    • Somali
    • Sotho
    • Spanish
    • Swahili
    • Swedish
  • T
    • Tagalog
    • Tamil
    • Telugu
    • Thai
    • Tsonga
    • Tswana
    • Turkish
  • U
    • Ukrainian
    • Urdu
  • V
    • Vietnamese
  • W
    • Welsh
  • X
    • Xhosa
  • Y
    • Yoruba
  • Z
    • Zulu

5. How accurate is it?

Lingua is able to report accuracy statistics for some bundled test data available for each supported language. The test data for each language is split into three parts:

  1. a list of single words with a minimum length of 5 characters
  2. a list of word pairs with a minimum length of 10 characters
  3. a list of complete grammatical sentences of various lengths

Both the language models and the test data have been created from separate documents of the Wortschatz corpora offered by Leipzig University, Germany. Data crawled from various news websites have been used for training, each corpus comprising one million sentences. For testing, corpora made of arbitrarily chosen websites have been used, each comprising ten thousand sentences. From each test corpus, a random unsorted subset of 1000 single words, 1000 word pairs and 1000 sentences has been extracted, respectively.

Given the generated test data, I have compared the detection results of Lingua, Langdetect, Langid, Simplemma, CLD 2 and CLD 3 running over the data of Lingua's supported 75 languages. Languages that are not supported by the other detectors are simply ignored for them during the detection process.

Each of the following sections contains three plots. The bar plot shows the detailed accuracy results for each supported language. The box plots illustrate the distributions of the accuracy values for each classifier. The boxes themselves represent the areas which the middle 50 % of data lie within. Within the colored boxes, the horizontal lines mark the median of the distributions.

5.1 Single word detection


Single Word Detection Performance



Single Word Detection Performance
Bar plot Single Word Detection Performance



5.2 Word pair detection


Word Pair Detection Performance



Word Pair Detection Performance
Bar plot Word Pair Detection Performance



5.3 Sentence detection


Sentence Detection Performance



Sentence Detection Performance
Bar plot Sentence Detection Performance



5.4 Average detection


Average Detection Performance



Average Detection Performance
Bar plot Average Detection Performance



5.5 Mean, median and standard deviation

The tables found here show detailed statistics for each language and classifier including mean, median and standard deviation.

6. How fast is it?

The accuracy reporter script measures the time each language detector needs to classify 3000 input texts for each of the supported 75 languages. The results below have been produced on an iMac 3.6 Ghz 8-Core Intel Core i9 with 40 GB RAM.

Lingua in multi-threaded mode is one of the fastest algorithms in this comparison. CLD 2 and 3 are similarly fast as they have been implemented in C or C++. Pure Python libraries such as Simplemma, Langid or Langdetect a significantly slower.

Detector Time
Lingua (low accuracy mode, multi-threaded) 3.00 sec
Lingua (high accuracy mode, multi-threaded) 7.97 sec
CLD 2 8.65 sec
CLD 3 16.77 sec
Lingua (low accuracy mode, single-threaded) 20.46 sec
Lingua (high accuracy mode, single-threaded) 51.88 sec
Simplemma 2 min 36.44 sec
Langid 3 min 50.40 sec
Langdetect 10 min 43.96 sec

7. Why is it better than other libraries?

Every language detector uses a probabilistic n-gram model trained on the character distribution in some training corpus. Most libraries only use n-grams of size 3 (trigrams) which is satisfactory for detecting the language of longer text fragments consisting of multiple sentences. For short phrases or single words, however, trigrams are not enough. The shorter the input text is, the less n-grams are available. The probabilities estimated from such few n-grams are not reliable. This is why Lingua makes use of n-grams of sizes 1 up to 5 which results in much more accurate prediction of the correct language.

A second important difference is that Lingua does not only use such a statistical model, but also a rule-based engine. This engine first determines the alphabet of the input text and searches for characters which are unique in one or more languages. If exactly one language can be reliably chosen this way, the statistical model is not necessary anymore. In any case, the rule-based engine filters out languages that do not satisfy the conditions of the input text. Only then, in a second step, the probabilistic n-gram model is taken into consideration. This makes sense because loading less language models means less memory consumption and better runtime performance.

In general, it is always a good idea to restrict the set of languages to be considered in the classification process using the respective api methods. If you know beforehand that certain languages are never to occur in an input text, do not let those take part in the classification process. The filtering mechanism of the rule-based engine is quite good, however, filtering based on your own knowledge of the input text is always preferable.

8. Test report generation

If you want to reproduce the accuracy results above, you can generate the test reports yourself for all classifiers and languages by installing Poetry and executing:

poetry install --no-root --only script
poetry run python3 scripts/accuracy_reporter.py

Accuracy reports for only a subset of classifiers and / or languages can be created by passing command line arguments:

poetry run python3 scripts/accuracy_reporter.py --detectors cld2 lingua-high-accuracy --languages bulgarian german

For each detector and language, a test report file is then written into /accuracy-reports. As an example, here is the current output of the Lingua German report:

##### German #####

>>> Accuracy on average: 89.27%

>> Detection of 1000 single words (average length: 9 chars)
Accuracy: 74.20%
Erroneously classified as Dutch: 2.30%, Danish: 2.20%, English: 2.20%, Latin: 1.80%, Bokmal: 1.60%, Italian: 1.30%, Basque: 1.20%, Esperanto: 1.20%, French: 1.20%, Swedish: 0.90%, Afrikaans: 0.70%, Finnish: 0.60%, Nynorsk: 0.60%, Portuguese: 0.60%, Yoruba: 0.60%, Sotho: 0.50%, Tsonga: 0.50%, Welsh: 0.50%, Estonian: 0.40%, Irish: 0.40%, Polish: 0.40%, Spanish: 0.40%, Tswana: 0.40%, Albanian: 0.30%, Icelandic: 0.30%, Tagalog: 0.30%, Bosnian: 0.20%, Catalan: 0.20%, Croatian: 0.20%, Indonesian: 0.20%, Lithuanian: 0.20%, Romanian: 0.20%, Swahili: 0.20%, Zulu: 0.20%, Latvian: 0.10%, Malay: 0.10%, Maori: 0.10%, Slovak: 0.10%, Slovene: 0.10%, Somali: 0.10%, Turkish: 0.10%, Xhosa: 0.10%

>> Detection of 1000 word pairs (average length: 18 chars)
Accuracy: 93.90%
Erroneously classified as Dutch: 0.90%, Latin: 0.90%, English: 0.70%, Swedish: 0.60%, Danish: 0.50%, French: 0.40%, Bokmal: 0.30%, Irish: 0.20%, Tagalog: 0.20%, Tsonga: 0.20%, Afrikaans: 0.10%, Esperanto: 0.10%, Estonian: 0.10%, Finnish: 0.10%, Italian: 0.10%, Maori: 0.10%, Nynorsk: 0.10%, Somali: 0.10%, Swahili: 0.10%, Turkish: 0.10%, Welsh: 0.10%, Zulu: 0.10%

>> Detection of 1000 sentences (average length: 111 chars)
Accuracy: 99.70%
Erroneously classified as Dutch: 0.20%, Latin: 0.10%

9. How to add it to your project?

Lingua is available in the Python Package Index and can be installed with:

pip install lingua-language-detector

10. How to build?

Lingua requires Python >= 3.10. First create a virtualenv and install the Python wheel for your platform with pip.

git clone https://github.com/pemistahl/lingua-py.git
cd lingua-py
python3 -m venv .venv
source .venv/bin/activate
pip install --find-links=lingua lingua-language-detector

In the scripts directory, there are Python scripts for writing accuracy reports, drawing plots and writing accuracy values in an HTML table. The dependencies for these scripts are managed by Poetry which you need to install if you have not done so yet. In order to install the script dependencies in your virtualenv, run

poetry install --no-root --only script

The project makes uses of type annotations which allow for static type checking with Mypy. Run the following commands for checking the types:

poetry install --no-root --only dev
poetry run mypy

The Python source code is formatted with Black:

poetry run black .

11. How to use?

11.1 Basic usage

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.SPANISH]
>>> detector = LanguageDetectorBuilder.from_languages(*languages).build()
>>> language = detector.detect_language_of("languages are awesome")
>>> language
Language.ENGLISH
>>> language.iso_code_639_1
IsoCode639_1.EN
>>> language.iso_code_639_1.name
'EN'
>>> language.iso_code_639_3
IsoCode639_3.ENG
>>> language.iso_code_639_3.name
'ENG'

The entire library is thread-safe, i.e. you can use a single LanguageDetector instance and its methods in multiple threads. Multiple instances of LanguageDetector share thread-safe access to the language models, so every language model is loaded into memory just once, no matter how many instances of LanguageDetector have been created.

11.2 Minimum relative distance

By default, Lingua returns the most likely language for a given input text. However, there are certain words that are spelled the same in more than one language. The word prologue, for instance, is both a valid English and French word. Lingua would output either English or French which might be wrong in the given context. For cases like that, it is possible to specify a minimum relative distance that the logarithmized and summed up probabilities for each possible language have to satisfy. It can be stated in the following way:

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.SPANISH]
>>> detector = LanguageDetectorBuilder.from_languages(*languages)\
.with_minimum_relative_distance(0.9)\
.build()
>>> print(detector.detect_language_of("languages are awesome"))
None

Be aware that the distance between the language probabilities is dependent on the length of the input text. The longer the input text, the larger the distance between the languages. So if you want to classify very short text phrases, do not set the minimum relative distance too high. Otherwise, None will be returned most of the time as in the example above. This is the return value for cases where language detection is not reliably possible.

11.3 Confidence values

Knowing about the most likely language is nice but how reliable is the computed likelihood? And how less likely are the other examined languages in comparison to the most likely one? These questions can be answered as well:

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.SPANISH]
>>> detector = LanguageDetectorBuilder.from_languages(*languages).build()
>>> confidence_values = detector.compute_language_confidence_values("languages are awesome")
>>> for confidence in confidence_values:
...     print(f"{confidence.language.name}: {confidence.value:.2f}")
ENGLISH: 0.93
FRENCH: 0.04
GERMAN: 0.02
SPANISH: 0.01

In the example above, a list is returned containing those languages which the calling instance of LanguageDetector has been built from, sorted by their confidence value in descending order. Each value is a probability between 0.0 and 1.0. The probabilities of all languages will sum to 1.0. If the language is unambiguously identified by the rule engine, the value 1.0 will always be returned for this language. The other languages will receive a value of 0.0.

There is also a method for returning the confidence value for one specific language only:

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN, Language.SPANISH]
>>> detector = LanguageDetectorBuilder.from_languages(*languages).build()
>>> confidence_value = detector.compute_language_confidence("languages are awesome", Language.FRENCH)
>>> print(f"{confidence_value:.2f}")
0.04

The value that this method computes is a number between 0.0 and 1.0. If the language is unambiguously identified by the rule engine, the value 1.0 will always be returned. If the given language is not supported by this detector instance, the value 0.0 will always be returned.

11.4 Eager loading versus lazy loading

By default, Lingua uses lazy-loading to load only those language models on demand which are considered relevant by the rule-based filter engine. For web services, for instance, it is rather beneficial to preload all language models into memory to avoid unexpected latency while waiting for the service response. If you want to enable the eager-loading mode, you can do it like this:

LanguageDetectorBuilder.from_all_languages().with_preloaded_language_models().build()

Multiple instances of LanguageDetector share the same language models in memory which are accessed asynchronously by the instances.

11.5 Low accuracy mode versus high accuracy mode

Lingua's high detection accuracy comes at the cost of being noticeably slower than other language detectors. The large language models also consume significant amounts of memory. These requirements might not be feasible for systems running low on resources. If you want to classify mostly long texts or need to save resources, you can enable a low accuracy mode that loads only a small subset of the language models into memory:

LanguageDetectorBuilder.from_all_languages().with_low_accuracy_mode().build()

The downside of this approach is that detection accuracy for short texts consisting of less than 120 characters will drop significantly. However, detection accuracy for texts which are longer than 120 characters will remain mostly unaffected.

In high accuracy mode (the default), the language detector consumes approximately 1 GB of memory if all language models are loaded. In low accuracy mode, memory consumption is reduced to approximately 100 MB.

An alternative for a smaller memory footprint and faster performance is to reduce the set of languages when building the language detector. In most cases, it is not advisable to build the detector from all supported languages. When you have knowledge about the texts you want to classify you can almost always rule out certain languages as impossible or unlikely to occur.

11.6 Single-language mode

If you build a LanguageDetector from one language only it will operate in single-language mode. This means the detector will try to find out whether a given text has been written in the given language or not. If not, then None will be returned, otherwise the given language. In single-language mode, the detector decides based on a set of unique and most common n-grams which have been collected beforehand for every supported language.

11.7 Detection of multiple languages in mixed-language texts

In contrast to most other language detectors, Lingua is able to detect multiple languages in mixed-language texts. This feature can yield quite reasonable results but it is still in an experimental state and therefore the detection result is highly dependent on the input text. It works best in high-accuracy mode with multiple long words for each language. The shorter the phrases and their words are, the less accurate are the results. Reducing the set of languages when building the language detector can also improve accuracy for this task if the languages occurring in the text are equal to the languages supported by the respective language detector instance.

>>> from lingua import Language, LanguageDetectorBuilder
>>> languages = [Language.ENGLISH, Language.FRENCH, Language.GERMAN]
>>> detector = LanguageDetectorBuilder.from_languages(*languages).build()
>>> sentence = "Parlez-vous français? " + \
...            "Ich spreche Französisch nur ein bisschen. " + \
...            "A little bit is better than nothing."
>>> for result in detector.detect_multiple_languages_of(sentence):
...     print(f"{result.language.name}: '{sentence[result.start_index:result.end_index]}'")
FRENCH: 'Parlez-vous français? '
GERMAN: 'Ich spreche Französisch nur ein bisschen. '
ENGLISH: 'A little bit is better than nothing.'

In the example above, a list of DetectionResult is returned. Each entry in the list describes a contiguous single-language text section, providing start and end indices of the respective substring.

11.8 Single-threaded versus multi-threaded language detection

The LanguageDetector methods explained above all operate in a single thread. If you want to classify a very large set of texts, you will probably want to use all available CPU cores efficiently in multiple threads for maximum performance.

Every single-threaded method has a multi-threaded equivalent that accepts a list of texts and returns a list of results.

Single-threaded Multi-threaded
detect_language_of detect_languages_in_parallel_of
detect_multiple_languages_of detect_multiple_languages_in_parallel_of
compute_language_confidence_values compute_language_confidence_values_in_parallel
compute_language_confidence compute_language_confidence_in_parallel

11.9 Methods to build the LanguageDetector

There might be classification tasks where you know beforehand that your language data is definitely not written in Latin, for instance. The detection accuracy can become better in such cases if you exclude certain languages from the decision process or just explicitly include relevant languages:

from lingua import LanguageDetectorBuilder, Language, IsoCode639_1, IsoCode639_3

# Include all languages available in the library.
LanguageDetectorBuilder.from_all_languages()

# Include only languages that are not yet extinct (= currently excludes Latin).
LanguageDetectorBuilder.from_all_spoken_languages()

# Include only languages written with Cyrillic script.
LanguageDetectorBuilder.from_all_languages_with_cyrillic_script()

# Exclude only the Spanish language from the decision algorithm.
LanguageDetectorBuilder.from_all_languages_without(Language.SPANISH)

# Only decide between English and German.
LanguageDetectorBuilder.from_languages(Language.ENGLISH, Language.GERMAN)

# Select languages by ISO 639-1 code.
LanguageDetectorBuilder.from_iso_codes_639_1(IsoCode639_1.EN, IsoCode639_1.DE)

# Select languages by ISO 639-3 code.
LanguageDetectorBuilder.from_iso_codes_639_3(IsoCode639_3.ENG, IsoCode639_3.DEU)

11.10 Differences to native Python enums

As version >= 2.0 has been implemented in Rust with Python bindings implemented with PyO3, there are some limitations with regard to enums. PyO3 does not yet support meta classes, that's why Lingua's enums do not exactly behave like native Python enums.

If you want to iterate through all members of the Language enum, for instance, you can do it like this:

# This won't work
# for language in Language:
#    print(language)

# But this will work
for language in sorted(Language.all()):
    print(language)

PyO3 enums are not subscriptable. If you want to get an enum member dynamically, you can do it like this:

# This won't work
# assert Language["GERMAN"] == Language.GERMAN

# But this will work
assert Language.from_str("GERMAN") == Language.GERMAN
assert Language.from_str("german") == Language.GERMAN
assert Language.from_str("GeRmAn") == Language.GERMAN

12. What's next for version 2.2.0?

Take a look at the planned issues.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

lingua_language_detector-2.1.1-cp313-cp313-win_amd64.whl (95.9 MB view details)

Uploaded CPython 3.13Windows x86-64

lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (96.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

lingua_language_detector-2.1.1-cp313-cp313-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lingua_language_detector-2.1.1-cp313-cp313-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

lingua_language_detector-2.1.1-cp312-cp312-win_amd64.whl (95.9 MB view details)

Uploaded CPython 3.12Windows x86-64

lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (96.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

lingua_language_detector-2.1.1-cp312-cp312-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lingua_language_detector-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

lingua_language_detector-2.1.1-cp311-cp311-win_amd64.whl (95.9 MB view details)

Uploaded CPython 3.11Windows x86-64

lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (96.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

lingua_language_detector-2.1.1-cp311-cp311-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lingua_language_detector-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

lingua_language_detector-2.1.1-cp310-cp310-win_amd64.whl (95.9 MB view details)

Uploaded CPython 3.10Windows x86-64

lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (96.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl (96.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (96.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

lingua_language_detector-2.1.1-cp310-cp310-macosx_11_0_arm64.whl (96.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lingua_language_detector-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl (96.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1703cd369d74bde4fd6df8f21988c66231d8c85589e7ce535c3e251e0d4ee4c5
MD5 320035b0cd7a1529d1c38a83a78cb9e3
BLAKE2b-256 0556da535866dac54f9738e49ba7473004d4400ef937c0467e1267f8cd9901b2

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 178b65db951cdfbd17d05a2eb629e177e5495e57e2b41b6789e82db4df126ff7
MD5 6adf8305213c465695164da096d1bca4
BLAKE2b-256 dc99ed79463a1a3cc91cf5f48f4f9083b64b6b642e63d75a42c33f594cd1c942

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98f6128ea7b6122b23dab9168cd447fe85a3cc90d0272b7ea67034453715d306
MD5 35b9e45e5b281abda06c0904d6064b9a
BLAKE2b-256 45f98fc1fa832b596360c64b2ba4771782f53d4bef9f52f5affb438a42a78425

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2477f75cc871d20bafdcb56f9d51be25d57c37d9ea5d7301cc592761dc68c963
MD5 65aff28ce29c814ca32c4fae542fedc6
BLAKE2b-256 09148367387fea0ececc36a6cf551d188d83a28411e896d1235f3e24d63f99b3

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3790a8761c37d2c4c2aa287c1a6a1f8d3d5d9b0d74c276ffd37243385cc33f0
MD5 ba0621180755443e8b814589bc546c6b
BLAKE2b-256 4d494647f3e482db0ab61c0f2ca395157062ef0fcf418e7dc0c89d54a53d0504

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c121e6340bb4cb051e1469adc4575790a94a47f03999155c028fd5cfb4a7516b
MD5 225d901be46ff6af66942edac181fed1
BLAKE2b-256 785ad322b6606011ab86ca65a28e357b3fa177fccce704a2523d1607861e195f

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 284077366b7ca3b2c4ecc492f3e40570f6afeaee2bf44153d347fa100137561b
MD5 8b31f5b6cc45347fa635e8336e920fa3
BLAKE2b-256 a49df50d27185cce1d040e9c4f33e3ba87daa825bdaf92d7c9285e4476a430c1

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5f0917b9210b59acb0d2c0979a78f3e54dcf9967d54885a4a8d34264d5a07720
MD5 2d3fee638d521a2581b45c84f8b39ff0
BLAKE2b-256 5ee24bc76452c16e238f9cb639de3bc16e8cd511868b43c9d1f76748d4ae2dc8

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a6370392683607a34e941ea05088fde197d5dc37b8abb088fada7a51749ca44
MD5 0a9a9c341c04656a07f00fa4f1aa29e0
BLAKE2b-256 4d72f61f1e9678cc19cfb5141149382104c5885a46a4678e8467a443642e7559

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b359f2571ff7ca6b4b998a3fc10fa87f136dbd4e4809af5283bb6b7093e88a07
MD5 c6dc348a2a556f9a4cc75addc9634e43
BLAKE2b-256 80e42e5cf9426b74fbe3c1b1df961790ad611a97c1191789cfa1bf02b2231d61

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 197b2a394015298b80a12f61294094800560761227dcb27003f957c378059b20
MD5 84440b92d2988a0c8e446be2259a8330
BLAKE2b-256 5bb5a299004221cd8c07d74cdbeb12aede65127aa2f3fee78a0fbf093f82f2b8

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a857dd48a801f6a492a7832dc812c1a256f83da93725897abff7534321b0b7b1
MD5 0e4abd887883b26a85a032588f48d38d
BLAKE2b-256 d7c3941f5cd8019bcfc049813df8b7ecacf01d059bcdeb9bb9382bd36cd11847

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 53cc131d9c7be64a88b1e20633d66c62a2779776e11a26e32bac80fb19b43f33
MD5 59451c20df96838aa5aa62405f311a9b
BLAKE2b-256 9f5daec2634a8a54c654e5fb5816d703c72263360a23e682bb7f5a4f77e06e70

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 17110a40f9346a4c24291b170d0deb815bd615427c4857342a7f513813717148
MD5 3600787bba08dd3c5dd92113d3ba8976
BLAKE2b-256 14ae5c700dc7b4b7d975df93c67b9d80fe2fd153da703721d1e5faa7c97bd194

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 354040a3c2ac748623966373cc64de34e8f14b0043c09aa334fdccf3456bf5d0
MD5 6245b08468c21cdc1537729fe7a83ece
BLAKE2b-256 82c62e9cc80bdd621648e4e27c3d40dc04bd7fc85fbfd5698692217008b15090

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d55300513d9e2e0e034f6fd6b8cf111ba9faf49ba20cc060d67b403c3d356148
MD5 4e037f78f2c092e345a6efe194d1eecc
BLAKE2b-256 7927647e2a112e974d24e98f1168004522960d47991e122f43438e75fd1d06e2

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe21c948a387fd9aa0b994853eb47cfedcc738a91530193de839ef0977ecc0de
MD5 d5126398800cd7a3c62f8d4d641d0d94
BLAKE2b-256 c4820571a607046a73284e43f46b4ef22f903156799f4ee96aa5b466ace632a8

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbf22f8b1715f577f8cda4758d61ff3c1f5238d48b8cbe035a3c2064edf7b0a5
MD5 1f3dc4d3d9e7782153d23bc099f8b905
BLAKE2b-256 c6f261aad0aecf707e112bae4340275934eb4098c6c3040ffe7ae316498ea78f

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6190e7632d08467dd3d148134743c4c40ccb4c84d6f3313508ffd73a8210c614
MD5 61803a6206a6c08cf72fe690904e0975
BLAKE2b-256 b854f95fe718a889f7b57e507580d2713e29dfc5eaadbe4ad323bfd631fc9490

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a54d976a1daa8ecb5fd3f36e1ed5d3f9a363beed6edca22e88e49a8af9c4757a
MD5 f4b986130066838d21431360a3e38b8e
BLAKE2b-256 af56ec90f90afcdf09b3c1ed52f4c65430d5454e5ef2cc101220b91a37bfb719

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6e1c950dceafd5ee12b6267d9f71987c572a1ee9f18b6465c722fcde9b0d5149
MD5 07c36f64cdf09cdbab38cd41f22bb479
BLAKE2b-256 09139d618ccf34d70688514336c256af4c7fb861e94b009ed0962cbd72e87567

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f9e116206431eb283a4bc9107407a58b7d093870ae9d50ab43e39796db029fc5
MD5 1bb904c7e7f921da82b2bea25be5b0ac
BLAKE2b-256 2888873a9df437f71ff0b5e58b9d764289c3a9df6d32c706ba3f0f0361eb8f10

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a398e4871fe8e32ff5711eaabb09ebdf4f80420d73e5d646a6cae0468c7c47e
MD5 446cf483facf474c24bbc6d96eadfb08
BLAKE2b-256 424122ce56bb34ed8ea418e67ac448f557af3a9a446defb523fb7b85e822e32b

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3de2070ab293457a4f0fc1bd87f34de2e98c8348205b40b5667e043485950a64
MD5 e13a859bf6c6953462d6d41b035d23c2
BLAKE2b-256 780fe85720ea17dde1463a847b963d24ea7c43c8cc600c6bdd5ff64775f4578a

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a18d3bf0039ef8746f8df391cff885b47e2a3762bb30883eceac3d449fd1fc8
MD5 219a7432b338a839d4e50d870ee79f56
BLAKE2b-256 48bdfed4a8a1d3d016fb69e9de5bfd03a4eac131f698d8254eb60be1ba67a67e

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80acd7652f95ae569e6a03ffcb0cb9522ea3fde2328b9c6fac15b1d24ba382d9
MD5 c0b74db022c0778f3a759444efbbb84a
BLAKE2b-256 abfe33eae6e11979278017d2e781d0ea1e2c3cf18f70284c7fce32d1e9a0df5f

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fa3c9cfe7f7d9dc857ba22f14c2dfc7834e2dac131afaa737f3a59adae3ea553
MD5 6c093bc12cda082aae692daeffe97dd1
BLAKE2b-256 08792b57032c1eee8c95b710a66a3d791bb8c9024def7aa7f1318209f3437bcc

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 69a408fc0bb372a46afec6d0744077b9932c64df7c02ad517bf37c5c7e3734bb
MD5 ae69e89537f1144d777e02e186e08aa6
BLAKE2b-256 d8ee13a61cbd2e2d1a3d9ac3d87ed2996e6cb7233e5d39dfb60bf77dc543dcb4

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 430e9e517427070f20d1b9eaff88633614d332cdcd119a519cefcd8c9f3d67e9
MD5 e653309d1dfe70caf68d5ae94163dd48
BLAKE2b-256 56e71d0d145898716438a7ebdc4a57bf6f287bad839eb8ccee1dbb460fff9591

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a468c3fc9eaa6db733a347fee768fe171e76fac2c4bc49951e26bc79aec6a2a
MD5 3d608d15e808b796e0a3ce693996bc25
BLAKE2b-256 665ee2a285f299f55532904e5a57985fbcda436396d4e4cb8dde959d9cf0533a

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e94ad32a46f04b670a939623b69d7d7008221d15e20b3d975d284304d9d6c788
MD5 a397fdd5538e7e51178aa87aa56c6db4
BLAKE2b-256 c4812598350ecc0133a81c0f2ea63f2e7c4d58645837f37fabbd0c5c5521912f

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e82bcb924d09e552a52bc79265d5e49a5863b6b7297524adc4fb7c4564ebb5d
MD5 8418056e65853a98166d17fa74af68e2
BLAKE2b-256 a7f61ab95d5bef46cf6e4386892ae8bd417372eb231610d297d4463c4941a70f

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cd9f734f67da00d37d93a1354f7c44d86c83b297cc078d7f31f1fd8a7deddef9
MD5 17add2219358bf5de46505dd903eb2f6
BLAKE2b-256 c1ddf5ee4e6a07d5871d6c30a1ab6b58843bb87bb8a4a95cfd3de04919a01652

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d0429b482e8b3def24ad4e5565eb187a389c35cf0506ac7ed7ef7360e7369ec7
MD5 14513bbaf69533a3af7fa6ece88af3a8
BLAKE2b-256 c22709d7d7bde906297ffc0b1d8fbd599035e8e4d6c17ed568c30b00b4f5761b

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8230d7a08d0477d136f22ec53cf8eaffaa90b273a7ab616d972298360c2a4090
MD5 80438dc7e6889105cee258df9409002a
BLAKE2b-256 0894afba267556509b9bad4f28c86669520a94ff03d73f890840975289f36dd4

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 db18582802ae49d03fe4330d13bbb9285532f157f3e7be291f83ed2ea90ea190
MD5 7d91bb96f5be3e37aa7f90482aa0085b
BLAKE2b-256 d2a6472063fe4884d337525a2591accce55e7a2420cb7e21f35e283cf5e84d4e

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 deec7c9d5a72d7434144952cd5c3b85923d7a858264baa9c21018cb0e2e929fb
MD5 85e6729da22f89c82c84a0620959b8fb
BLAKE2b-256 5a589a7c650aa6b068b995106be4c3502a0983122a70e65ec685038e82822d40

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 07a2447576fabbf7f381b82be6de2336f55f54d7836b0ac6eed721f3b79cabe4
MD5 00dc5d163aa4458f0051c4c00bf4841f
BLAKE2b-256 ba17f1ccdec51d84a9a39efa1bf184f1e1ea831410d98636bd8bdb0b65273467

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbd56b2f830f77819f8f97ecc11bff421133ced2da7c2cf9e05ebfe0e9f625f5
MD5 86113b6e32771168cd4b9039e9712630
BLAKE2b-256 02f96489ce213a2d3d5bad1f0114c22772d3e7a3d93cf66423cc1371c078e777

See more details on using hashes here.

File details

Details for the file lingua_language_detector-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lingua_language_detector-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9c195a39f3b9ebeec9af72acf03a0b13132bff09147cd50d99001c060a998eaa
MD5 3c368591127f8bebeafebe6d27fc2279
BLAKE2b-256 77481aae0f9a74ca0d61bd0af6000d436a6af9929482ac5cb44f5c8e7ffe71d8

See more details on using hashes here.

Supported by

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