Skip to main content

The fastest high-accuracy natural language detector. Compiled in C. Nito-ELDC, ELDC, ELD-C.

Project description

Efficient Language Detector - C

license supported languages

What is a language detector?
It is a tool that identifies which language a text is written in. For example, detect("Hola") returns "es" for Spanish.


Efficient language detector, written in C, is the fastest high-accuracy natural language detector.
ELDC can be compiled into a library, a command line executable, or easily installed as a python package.

ELD is also available in PHP (v3), Javascript (v2), and pure Python (v1 outdated). ELD-C (or ELDC) is v3.

Making "the fastest" or most accurate language identification tool can be trivial using unlimited resources, but doing both things while being memory constrained, is what ELD-C has the edge on. It's 2x faster than Google's CLD2 (previously the fastest decent detector for the last 10 years), and 6x faster than Facebook's Fasttext. It's also more accurate, based on the benchmarks below, than Lingua (referred to as the most accurate), and 100x faster for good measure.

  1. ELDC Python package
  2. ELDC Library
  3. Command line executable
  4. Benchmarks
  5. Languages
  6. More info

ELDC Python package

By default, pip will install a pre-compiled binary package for your system. If you need to build from source, you will need a C compiler (GCC, Clang, or MSVC) and Python headers, then use command pip install --no-binary eldc eldc or pip install . to build from local files.

Installation

$ pip install eldc

How to use?

Full demo at examples/demo_eldc_package.py

import eldc

eldc.init()

# Optionally, we can make an isolated configuration instance
eldc_instance = eldc.instance()

# We can set a language filter, global setter
eldc.set_languages(["en", "es", "fr"])  # also accepts string "en, es, fr"
# returns a list of the set languages ['en', 'es', 'fr']
eldc.set_languages([])  # reset all
# Instance setter, works the same way
eldc_instance.set_languages(["en", "es", "fr"])

# ISO 639-2/T output, (default iso639-1)
# eldc.set_scheme("iso639-2t")  global setter
# eldc_instance.set_scheme("iso639-2t")  instance setter

# Simple detect, returns a string with language code, or "und" for undetermined
eldc.detect("Bonjour le monde")  # 'fr'
eldc_instance.detect('Bonjour')  # 'fr'
# Use detect_mt() for multi-threaded parallel Python threads

# for detect_details() we can choose up to how many scores we want
eldc.set_scores(2) # default 3, max 20. Global setter
eldc_instance.set_scores(2) # Instance setter

r = eldc.detect_details("Hola mundo")  # multi-threaded capable by default
print(r.language)  # (str)  'es'
print(r.scores)    # (dict) {'es': 0.80, 'pt': 0.57} Scores are between 0 and 1
print(r.reliable)  # (bool) True or False
r = eldc_instance.detect_details("Hola mundo")  # Instance example

# eldc.LANGUAGES and eldc.LANGUAGES_ISO2T return list of all available languages

ELDC Library

Compile a library for Linux .so, Windows .dll or Darwin (macOS) .dylib. To be used with your preferred programming language.
I included demo examples at examples/ folder for: Java, TypeScript/Node/Js, Go, Rust, .NET/C#, PHP, Ruby, and Python. (Not 100% validated yet)

Installation

Download repostory or clone.

git clone https://github.com/nitotm/eldc.git
cd eldc/src/eldc
  • Linux
gcc -O3 -shared -fPIC -DELD_BUILD_DLL -o libeldc.so  eldc_lib.c -lm
  • Windows MinGW-w64
gcc -O3 -shared -DELD_BUILD_DLL -o eldc.dll eldc_lib.c -lm -Wl,--out-implib,libeldc.a
  • macOS (Darwin)
gcc -O3 -shared -fPIC -DELD_BUILD_DLL -o libeldc.dylib eldc_lib.c -lm
  • Windows. Use Developer Command Prompt.
cl /O2 /LD /DELD_BUILD_DLL eldc_lib.c /Fe:eldc.dll

How to use?

Find complete demos at the root folder of this repository, for each programming language examples/: demo_eldc_lib.py, demo_eldc_lib.ts, demo_eldc_lib.go, etc.
Here is a simple demo in PHP, as it is quite readable.

$ffi = FFI::cdef('
    typedef struct { const char *language; float score; } EldcScoreItem;
    typedef struct {
        const char   *language;
        int           reliable;
        int           n_scores;
        EldcScoreItem scores[20];
    } EldcDetectResult;

    struct EldcConfig;
    typedef struct EldcConfig EldcConfig;

    void        eldc_init(void);
    void        eldc_close(void);
    const char *eldc_detect(const char *text);
    void        eldc_detect_details(const char *text, EldcDetectResult *result);
    const char *eldc_set_languages(const char *codes);
    void        eldc_set_scheme(const char *scheme);
    void        eldc_set_scores(int n);

    EldcConfig *eldc_config_create(void);
    void        eldc_config_free(EldcConfig *cfg);
    const char *eldc_detect_cfg(EldcConfig *cfg, const char *text);
    void        eldc_detect_details_cfg(EldcConfig *cfg, const char *text, EldcDetectResult *result);
    const char *eldc_set_languages_cfg(EldcConfig *cfg, const char *codes);
    void        eldc_set_scheme_cfg(EldcConfig *cfg, const char *scheme);
    void        eldc_set_scores_cfg(EldcConfig *cfg, int n);
', './libeldc.so');  // Windows: 'eldc.dll', macOS: './libeldc.dylib'

$ffi->eldc_init();

// Optionally, we can make an isolated configuration instance
$i_config = $ffi->eldc_config_create();

$ffi->eldc_detect("Bonjour le monde");        // "fr"
$ffi->eldc_detect_cfg($i_config, "Bonjour");  // "fr", same behavior

// detect_details() to retrieve full data
$r = $ffi->new("EldcDetectResult");
$ffi->eldc_detect_details("Bonjour le monde", FFI::addr($r));
$r->language;  // string: "fr"
$r->reliable;  // int: 1 (0 for false, 1 for true)
$r->n_scores;  // int: 3 (default, up to)
$r->scores[0]->language;  // string: "fr"
$r->scores[0]->score;  // float: 0.9016
// Isolated configuration version example, works the same way
$ffi->eldc_detect_details_cfg($i_config, "Bonjour", FFI::addr($r));

// Return up to X scores. Default 3, max 20. Global setter.
$ffi->eldc_set_scores(2);  
$r2 = $ffi->new("EldcDetectResult"); 
$ffi->eldc_detect_details("Bonjour le monde", FFI::addr($r2));
$r2->n_scores;  // int: 2
// Isolated instance setter
$ffi->eldc_set_scores_cfg($i_config, 2);

// Set a language subset, returns validated languages
$ffi->eldc_set_languages("en,fr,de");  // string: "en,fr,de" Global setter
$ffi->eldc_detect("Hola mundo, bonito dia");  // string: "fr"
$ffi->eldc_set_languages("");  // reset
$ffi->eldc_set_languages_cfg($i_config, "en,fr,es");  // instance setter

$ffi->eldc_set_scheme("iso639-2t");  // Default "iso639-1". Global setter
$ffi->eldc_set_scheme_cfg($i_config, "iso639-2t");  // instance setter
$ffi->eldc_detect("Hola mundo, bonito dia");  // string: "spa"

// Cleanup
$ffi->eldc_config_free($i_config);
$ffi->eldc_close();  // Unloads eldc resources, globally

Command line executable

There are 2 versions, standard eld.c and multi thread eld_mt.c. You might use this executable just to try it, but its input file processing is the fastest ELD-C implementation suitable for production and heavy workloads.

Installation

Download repostory or clone.

git clone https://github.com/nitotm/eldc.git
cd eldc/src/eldc
  • Linux or macOS
gcc -O3 -march=native -o eldc eld.c -lm
# Or multi thread executable
gcc -O3 -march=native -o eldc_mt eld_mt.c -lm -lpthread
  • Windows MinGW-w64
gcc -O3 -o eldc.exe eld.c -lm -static
# Or multi thread executable
gcc -O3 -o eldc_mt.exe eld_mt.c -lm -lpthread -static
  • Windows. Use Developer Command Prompt.
cl /O2 eld.c /Fe:eldc.exe

How to use?

If we input text (after flags), it will make a single detect; if not, it will read from stdin; one result per line.
If we use --scores or --reliable, it will return JSON, if not, a simple unquoted string with language code or und for undetected.

-h, --help              This message
    --list-languages    Print all supported codes and exit
-v, --verbose           Loading info, timing, throughput
-l, --languages CODES   Restrict to a subset, e.g. -l "es,en,de,fr"
                        Accepts ISO 639-1 or ISO 639-2/T codes.
-s, --scores [N]        Output compact JSON with top-N normalised [0,1] scores
                        N must be 1..20; omit N to get all 20.
                        Example: {"language":"en","scores":{"en":0.9234,...}}
-r, --reliable          Add "reliable" boolean to JSON output
    --scheme NAME       iso639-1 (default) | iso639-2t

For eld_mt.c, we also have the flag -t, --threads to limit threads -t 4

Examples: (on Windows use eldc.exe)

./eldc "Bonjour le monde"
./eldc -l "es,en,fr,de" --scheme iso639-2t "Hola mundo"
./eldc --scores --reliable "Hello world"
./eldc < corpus.txt > results.txt
./eldc --verbose

Benchmarks

Contenders

URL Version Core Language
https://github.com/nitotm/eldc/ 0.4.0 C
https://github.com/pemistahl/lingua-py 2.0.2 Rust
https://github.com/facebookresearch/fastText 0.9.2 C++
https://github.com/CLD2Owners/cld2 Aug 21, 2015 C++
https://github.com/wooorm/franc 7.2.0 Javascript

Benchmarks:

  • Tatoeba: 18MB, short sentences from Tatoeba, 50 languages supported by all contenders, up to 10k lines each.
  • For Tatoeba, I limited all detectors to the 50 languages subset, making the comparison as fair as possible.
  • Also, Tatoeba is not part of ELD training dataset (nor tuning), but it is for fasttext
  • ELD Test: 10MB, sentences from the 60 languages supported by ELD, 1000 lines each. Extracted from the 60GB of ELD training data.
  • Sentences: 8MB, sentences from Lingua benchmark, minus unsupported languages and Yoruba which had broken characters.
  • Word pairs and Single words, ~1MB, also from Lingua, same 53 languages.

Other notes:

  • ELDC pyc is eldc python package.
  • I added ELDC <file> bench to show full potential without a wrapper, ELDC <file> bench times include: file read, detect & save results. ./eldc < eld_test.txt > results.txt -v
  • ELDC <file> -t 4 stands for: command line with multi thread (4 threads), ./eldc_mt < eld_test.txt > results.txt -v -t 4

Time execution benchmark: timetable Accuracy:

accuracy table
  • Lingua participates with 54 languages, Franc with 58.
  • fasttext does not have a built-in subset option, so to show its accuracy and speed potential I made two benchmarks, fasttext-all not being limited by any subset at any test
  • * Google's CLD2 also lacks subset option, and it's difficult to make a subset even with its option bestEffort = True, as usually returns only one language, so it has a comparative disadvantage.
  • Time is normalized: (total lines * time) / processed lines

ELD-C comes out as the fastest detector. For reference, with the command line executable an i7-4770 can process files at over 1M lines per second (1GB/15sec.) with only 1 thread.

I also included a multithreaded version, that can process files almost as fast as the I/O can support, with multithread an i7-4770 jumps to 4M lines per second or 1GB of text in 5 seconds (read 21M lines + classify + store results). In short, it's unnecessarily fast.

This feat would be meaningless if it weren't for the fact that it could also be one of the most accurate detectors; which it is for this benchmark. Accuracy is more benchmark dependent, but it is clearly among the most accurate detectors.

Languages

  • These are the 60 supported languages for Nito-ELDC.

Amharic, Arabic, Azerbaijani (Latin), Belarusian, Bulgarian, Bengali, Catalan, Czech, Danish, German, Greek, English, Spanish, Estonian, Basque, Persian, Finnish, French, Gujarati, Hebrew, Hindi, Croatian, Hungarian, Armenian, Icelandic, Italian, Japanese, Georgian, Kannada, Korean, Kurdish (Arabic), Lao, Lithuanian, Latvian, Malayalam, Marathi, Malay (Latin), Dutch, Norwegian, Oriya, Punjabi, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Albanian, Serbian (Cyrillic), Swedish, Tamil, Telugu, Thai, Tagalog, Turkish, Ukrainian, Urdu, Vietnamese, Yoruba, Chinese

  • These are the ISO 639-1 codes that include the 60 languages. Plus 'und' for undetermined
    It is the default ELD language scheme. --scheme iso639-1

am, ar, az, be, bg, bn, ca, cs, da, de, el, en, es, et, eu, fa, fi, fr, gu, he, hi, hr, hu, hy, is, it, ja, ka, kn, ko, ku, lo, lt, lv, ml, mr, ms, nl, no, or, pa, pl, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, ur, vi, yo, zh

  • ISO 639-2/T codes (which are also valid 639-3) --scheme iso639-2t.

amh, ara, aze, bel, bul, ben, cat, ces, dan, deu, ell, eng, spa, est, eus, fas, fin, fra, guj, heb, hin, hrv, hun, hye, isl, ita, jpn, kat, kan, kor, kur, lao, lit, lav, mal, mar, msa, nld, nor, ori, pan, pol, por, ron, rus, slk, slv, sqi, srp, swe, tam, tel, tha, tgl, tur, ukr, urd, vie, yor, zho


More info

  • ELD-C executable is 24MB, with a similar runtime memory use.
  • ELD-C only reads first 1000 bytes of the input string (benchmarks are fair, with all lines under), but could be modded, if you feel an increased --limit flag/option is necessary, open a discussion.
  • Unlike other versions of ELD, ELD-C only comes with the 'large' database size, as that is the optimal one, but other sizes could be added.
  • Next improvement could be a better training data set, my own "small" 60GB of data are not as clean as I wish, fineweb-2 looks good.

Donations and suggestions

If you wish to donate for open source improvements, hire me for private modifications, request alternative dataset training, or contact me, please use the following link: https://linktr.ee/nitotm

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

eldc-0.4.0.tar.gz (14.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eldc-0.4.0-cp313-cp313-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.13Windows x86-64

eldc-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

eldc-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

eldc-0.4.0-cp312-cp312-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.12Windows x86-64

eldc-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

eldc-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

eldc-0.4.0-cp311-cp311-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.11Windows x86-64

eldc-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

eldc-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

eldc-0.4.0-cp310-cp310-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.10Windows x86-64

eldc-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

eldc-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

eldc-0.4.0-cp39-cp39-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.9Windows x86-64

eldc-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp39-cp39-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

eldc-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

eldc-0.4.0-cp38-cp38-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.8Windows x86-64

eldc-0.4.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

eldc-0.4.0-cp38-cp38-macosx_11_0_arm64.whl (26.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

eldc-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file eldc-0.4.0.tar.gz.

File metadata

  • Download URL: eldc-0.4.0.tar.gz
  • Upload date:
  • Size: 14.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0.tar.gz
Algorithm Hash digest
SHA256 889f7c2ce0719502684277583d4cf8495e4944a90908fb8bf0da02d0bc394c66
MD5 db0424913bfc1e5fee45c3b2b2ea0a18
BLAKE2b-256 878baa380e744ee46369312cce87c3bc948f9d46ae0074da4729533fd9f95117

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0.tar.gz:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d94951dc7a273d3c30bd7390bbb3c741f21034ac14e9b35c5e322519453aaedb
MD5 ccd90ce6267abdfc9afa1c2b26eba5d1
BLAKE2b-256 5c6871e6d003d99063c297572aa89975b38f10852498da974a06d491c0252f19

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp313-cp313-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b8db1760c582df03880432b28f0f2a062c405e0e7322118c0ca6b22379225a51
MD5 1d6ecfbcc213e9c42b706832eb093528
BLAKE2b-256 720942d708ac0264eaa75988324c58cc43b522926cd2c97d5f52cc435471f98c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7989ac07ae8329905406c806c6ead7957167970e3a88e4bc4f65b8171efeb0c3
MD5 d91e46e1552ce7d3c3ed83943b87c3df
BLAKE2b-256 d463c7ce0162cad0e29597747a57dd2d5ef0331bd1863f6d02ddc98064248cbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 61f22718ea09e94e48660da849a9d3ffb5afe1f5e43384ee4a8135a48f8e0728
MD5 05f8294fde5db9f63ae58ca6aff8b3c4
BLAKE2b-256 7e5ae4b21e95b0d26b61f09f19403a8cadc318b760a68c58fb810395755f9d16

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3a017cf3236939d5891458fd40affb857c3900f957b92b180e34c5a11af00c1e
MD5 a779186ef7ec1d0efc61a5a10be37205
BLAKE2b-256 6574534e4ef19930329a0c858d20badffa5ce15b3dd21294922300c5dc4b7019

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp312-cp312-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 15f575a1d01dca9315a58bd39f9e73eaca311f25f334a07c4b8b2f7fbeaaf1a1
MD5 b69e949180a0abbaf0d78e22633837bf
BLAKE2b-256 d5536b8fd635813603da6dd0edfbe6b918c77c33576f39d612e0e78dc5f6e22c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffb71de2a3334ba9fdec495a8251ae4bb3536dcf156c90f978f5a670ab72ddf6
MD5 4f58fbbbc8fa507dcea834791e853730
BLAKE2b-256 f78dbf3defd6f2dec61182b14a096ed200d6d5f0e7c3611478ef5ff4b386a382

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1994390619524aa65e0af95f3ed022e8b87d15497e2c363664f4cd1336565d06
MD5 69aefb337d21bcf3e7551074191c41ce
BLAKE2b-256 c26eaf7650b09aa29b8405ae28f50ba588374c98fe5b2f8edb49468d910d107f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 559c34baaeb2e91efcaf39796b1f4af118dc6f27514572831d12c0feef6ca082
MD5 7deacb16f35799096aefcb88df11b3fc
BLAKE2b-256 dc38796e2735329d1b614855336246bb8459272ce1e9ffac604dc96e170cf91c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp311-cp311-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1946e6d2dceed5a6575783d666332e7679f713574387f1efb08b5242e9eed22e
MD5 489da6c03e8a8b8212092cb902b868f9
BLAKE2b-256 7064bcc3e8cb88e697341f4cb0082dcd439fe459a9bed6014d7d77f690db8e3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a6e3af3406e0fd57853744cc2c9705e3a714cbbb27537914046f3f02e1564cf
MD5 0de3cd590033e7cba7a703e31b41ca0a
BLAKE2b-256 b3544804d6df60a52a5a17844f838c6948ed49c7a148f72322f88e58fa5305bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a207862de1cb36c623e945b3f74d0cf1ecc0fb7c1117262e942ea3936887324f
MD5 44f051ccaa6cd6898871db26931a81a0
BLAKE2b-256 872f4f238956e37ae58aa292fa44252454e15a1f331817b7e1e92e6d59ca61a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a6f28047b0cb69cc4e87d4b2cd153c2899f27c102c71ee00ac2e97181c71216
MD5 0050af8ce9aa8dce069df5b031a2221a
BLAKE2b-256 e60446a8e15cea7c11d72d770bd9dbe54a0536df16ed03d016087ca143f3c634

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp310-cp310-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 13bd02ba4cc75d8a6a76dd962a2fe5caa3f160aa807bd7ecdd63a775418d193a
MD5 3a9e387cb6346f50e5a31725ff195169
BLAKE2b-256 04551c43885da7ea5253abcf1af4d4f792299e4df46c95318e3ea4bd14b2a1b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05957f9a5f02d43625874691a7fc6483682ee4ec13d4488df7de4baac6e25c8f
MD5 35343ebf7d218d10ca0b024957497ab2
BLAKE2b-256 72a9715ff2ad4106a7909a674e54a277a55e4d74f86ac2dfc2e4e0dd14331fe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 269bc7f3d1471d5c1303ad0aab63fbd40bad93868961a9a00f50f3391c6a7507
MD5 f62cf7d9857330bc3b41e91da11a45c6
BLAKE2b-256 a8ad659f749391b4e290f635a8faa2dce0437b0befa25c71fd1539681f2dabb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f5cf9346601c1c4907a23fe7052b41280dd71567d3cf8bfcbb3b79b23d390232
MD5 428341429851a57526fec542b138901c
BLAKE2b-256 cd709806ce4029bb71cc7af4b9cdbc10ebc2c0e7267b6a03cee470828b0a4526

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp39-cp39-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bc4f5dcfd93b2d15dd4f5392c22e5f729dab2fa2abdab0e8f4c849d6a9e1f271
MD5 20ddcf8422010157f2a306d88e5ed8a9
BLAKE2b-256 04f0e6902f4a08ab820aedf3f9f84a9b8147f248f17ce9c079d6ffd88f2e631f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 26.6 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c3bfc1f7fb07c41a24fcb318214970d24c3854dc68637792192c8c1f079cece
MD5 ae780864a61dd5f5dfb712cd5125239b
BLAKE2b-256 9e0fd76ae08160ed9b69a55164a5b14dedc26d17fe56252231ef0f512b28ab62

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a475d3cc9921cb15a3ad699160f02aecc6fa2c4cb9e1e30b60684a1076f57204
MD5 8b17b345a70c623dced63994e4c8023a
BLAKE2b-256 d0bd6fd4cbbf82c9d81dccf5d15050d4d44e73d8f619b53c3768f707de0f671c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2bce399ffa8af7fb0a96a344253943ca16faf4b518401ddfd499cd7d1e323362
MD5 33ee8a5f7f5179ffa4ca6204e202a10e
BLAKE2b-256 87feb7cab2d63764d2e70d61f35e62722a568c4cabdf09c011759a420d119e3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp38-cp38-win_amd64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for eldc-0.4.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3cc9c56e9cbe482070ffa6d173fc6482027b51897358574aeda22c7b2cb141cc
MD5 38b74b0cf8a85b76aed0c5be79b95593
BLAKE2b-256 183cdfbc07e9b2ae1ed285829d8b72f9faaff367578ee6ed602cc4cedbbd2d88

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 26.6 MB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8be372a9295e80f74b32e7ae74cd096f844880cd5f25d188c17a74fa35aba6f
MD5 414b9a5c6310c068bb9dde9f68e2fc88
BLAKE2b-256 4a7463618218ef60da1616db31decd5efb9553af17672df4f1050cf4d545ffbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eldc-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: eldc-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eldc-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cbae364396739b79c8f5c5ed12ce56fa605e7ca7afdca5d840e1c412f6fcc754
MD5 5aba7da81c738c08159774ec16e60c9c
BLAKE2b-256 22866edf876eb22bed4277b8f97ac60e56a01a6c9b7c9bde18063d1e6721d2ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for eldc-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl:

Publisher: release.yaml on nitotm/eldc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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