Skip to main content

TokenGeeX is an efficient tokenizer for code based on UnigramLM and TokenMonster.

Project description

TokenGeeX - Efficient Tokenizer for CodeGeeX

This repository holds the code for the TokenGeeX Rust crate and Python package. TokenGeeX is a tokenizer for CodeGeeX aimed at code and Chinese. It is based on UnigramLM (Taku Kudo 2018) and TokenMonster.

Python

You can install the PyPI TokenGeeX package through pip.

pip install tokengeex

Example usage:

import tokengeex

tokenizer = tokengeex.load("code-32k-strict.json")

# Vocab
print(tokenizer.vocab_size()) # 32768
print(tokenizer.token_to_id(b"token")) # 13513
print(tokenizer.id_to_token(13513)) # (b"token", -13.322)

# Encode
ids = tokenizer.encode("def main(): print(\"Hello world!\")")
print(ids) # [68, 437, 12747, 58, 14653, 2807, 1735, 10120]

# Decode
print(tokenizer.decode(ids, include_special_tokens=False)) # "def main(): print(\"Hello world!\")"

# Byte fallbacks
print([tokenizer.id_to_token(id) for id in tokenizer.encode("电脑")]) # ["电", "<0xe8>", "<0x84>", "<0x91>"]

Rust

You can install the Rust library crate through cargo.

cargo add tokengeex

Example usage:

fn main() {
    let tokenizer = tokengeex::load("code-32k-strict.json").unwrap();

    // Vocab
    println!("{}", tokenizer.vocab_size());
    println!("{}", tokenizer.token_to_id("token").unwrap())
    println!("{:?}", tokenizer.id_to_token(13513).unwrap())

    // Encode
    let ids = tokenizer.encode("def main(): print(\"Hello world!\")");
    println!("{:?}", ids); // [68, 437, 12747, 58, 14653, 2807, 1735, 10120]

    // Decode
    println!("{:?}", tokenizer.decode(ids, false)); // "def main(): print(\"Hello world!\")"

    // Byte fallbacks
    println!("{:?}", tokenizer.encode("电脑").map(|id| tokenizer.id_to_token(id))); // ["电", "<0xe8>", "<0x84>", "<0x91>"]
}

CLI

Train

You can install the Rust binary crate through cargo.

cargo install tokengeex --features cli

Here's the full command used to train base vocabularies.

RUST_LOG=debug RAYON_NUM_THREADS=120 tokengeex train \
    --model 'unigram' \
    --output 'base-131k.json' \
    --logfile 'base-131k.log' \
    --vocab-size 131072 \
    --processor 'nfc' \
    --processor 'crlf' \
    --initial-vocab-max-token-length 32 \
    --initial-vocab-size 5000000 \
    --initial-vocab-insert-probability 0.01 \
    --initial-vocab-allow "$(cat data/base.regex)" \
    --unigram-shrinking-factor 0.8 \
    --unigram-num-sub-iterations 2 \
    --unigram-sample-regularization 'log' \
    --added-tokens-file './hub/tokens/base/added.json' \
    --suggested-tokens-file './hub/tokens/base/suggested.json' \
    $(for lang in infilling assembly cuda hcl kotlin php shell xml c-sharp dart html powershell sql yaml c diff java lua python swift zig chinese-markdown dockerfile javascript makefile r tex cmake elixir json markdown ruby toml cpp go jsx pascal rust typescript css haskell julia perl scala vue; do echo "--train ${lang}:./hub/data/train/${lang}.bin --test ${lang}:./hub/data/test/${lang}.bin --suggested-tokens-file ./hub/tokens/base/suggested-${lang}.json "; done)

Here's the full command used to train capcode vocabularies.

RUST_LOG=debug RAYON_NUM_THREADS=120 tokengeex train \
    --model 'unigram' \
    --output 'capcode-65k.json' \
    --logfile 'capcode-65k.log' \
    --vocab-size 65536 \
    --processor 'nfc' \
    --processor 'crlf' \
    --processor 'capcode' \
    --initial-vocab-max-token-length 32 \
    --initial-vocab-size 5000000 \
    --initial-vocab-insert-probability 0.01 \
    --initial-vocab-allow "$(cat data/capcode.regex)" \
    --unigram-shrinking-factor 0.8 \
    --unigram-num-sub-iterations 2 \
    --unigram-sample-regularization 'log' \
    --added-tokens-file './hub/tokens/capcode/added.json' \
    --suggested-tokens-file './hub/tokens/capcode/suggested.json' \
    $(for lang in infilling assembly cuda hcl kotlin php shell xml c-sharp dart html powershell sql yaml c diff java lua python swift zig chinese-markdown dockerfile javascript makefile r tex cmake elixir json markdown ruby toml cpp go jsx pascal rust typescript css haskell julia perl scala vue; do echo "--train ${lang}:./hub/data/train/${lang}.bin --test ${lang}:./hub/data/test/${lang}.bin --suggested-tokens-file ./hub/tokens/capcode/suggested-${lang}.json "; done)

Extend with BPE

RUST_LOG=debug RAYON_NUM_THREADS=120 tokengeex bpe \
    --output ./base-131k-extended.json \
    --vocab ./base-131k.json \
    --num-merges 1000 \
    --step 100 \
    --score-scale-factor 0.85 \
    --max-merge-length 16 \
    --ignore '^$' \
    $(for lang in infilling assembly cuda hcl kotlin php shell xml c-sharp dart html powershell sql yaml c diff java lua python swift zig chinese-markdown dockerfile javascript makefile r tex cmake elixir json markdown ruby toml cpp go jsx pascal rust typescript css haskell julia perl scala vue; do echo "--train ${lang}:./hub/data/train/${lang}.bin --test ${lang}:./hub/data/test/${lang}.bin "; done)

Project details


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

tokengeex-0.7.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

tokengeex-0.7.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (525.6 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

tokengeex-0.7.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (529.0 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

tokengeex-0.7.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

tokengeex-0.7.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (525.5 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

tokengeex-0.7.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (529.1 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

tokengeex-0.7.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

tokengeex-0.7.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (525.4 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

tokengeex-0.7.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (529.5 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

tokengeex-0.7.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

tokengeex-0.7.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl (531.3 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

tokengeex-0.7.1-cp313-cp313-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.13 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp313-cp313-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.13 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp313-cp313-macosx_11_0_arm64.whl (525.5 kB view hashes)

Uploaded CPython 3.13 macOS 11.0+ ARM64

tokengeex-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl (528.8 kB view hashes)

Uploaded CPython 3.13 macOS 10.12+ x86-64

tokengeex-0.7.1-cp312-none-win_amd64.whl (383.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

tokengeex-0.7.1-cp312-none-win32.whl (366.9 kB view hashes)

Uploaded CPython 3.12 Windows x86

tokengeex-0.7.1-cp312-cp312-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp312-cp312-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp312-cp312-macosx_11_0_arm64.whl (525.5 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

tokengeex-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl (528.8 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

tokengeex-0.7.1-cp311-none-win_amd64.whl (383.2 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

tokengeex-0.7.1-cp311-none-win32.whl (365.7 kB view hashes)

Uploaded CPython 3.11 Windows x86

tokengeex-0.7.1-cp311-cp311-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp311-cp311-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp311-cp311-macosx_11_0_arm64.whl (525.8 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tokengeex-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl (529.8 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

tokengeex-0.7.1-cp310-none-win_amd64.whl (383.2 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

tokengeex-0.7.1-cp310-none-win32.whl (365.7 kB view hashes)

Uploaded CPython 3.10 Windows x86

tokengeex-0.7.1-cp310-cp310-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp310-cp310-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp310-cp310-macosx_11_0_arm64.whl (525.8 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tokengeex-0.7.1-cp310-cp310-macosx_10_12_x86_64.whl (529.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

tokengeex-0.7.1-cp39-none-win_amd64.whl (383.5 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

tokengeex-0.7.1-cp39-none-win32.whl (365.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

tokengeex-0.7.1-cp39-cp39-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp39-cp39-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp39-cp39-macosx_11_0_arm64.whl (525.7 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tokengeex-0.7.1-cp39-cp39-macosx_10_12_x86_64.whl (529.5 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

tokengeex-0.7.1-cp38-none-win_amd64.whl (383.8 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

tokengeex-0.7.1-cp38-none-win32.whl (366.1 kB view hashes)

Uploaded CPython 3.8 Windows x86

tokengeex-0.7.1-cp38-cp38-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp38-cp38-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp38-cp38-macosx_11_0_arm64.whl (526.0 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

tokengeex-0.7.1-cp38-cp38-macosx_10_12_x86_64.whl (529.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

tokengeex-0.7.1-cp37-none-win_amd64.whl (384.1 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

tokengeex-0.7.1-cp37-none-win32.whl (366.4 kB view hashes)

Uploaded CPython 3.7 Windows x86

tokengeex-0.7.1-cp37-cp37m-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

tokengeex-0.7.1-cp37-cp37m-musllinux_1_1_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

tokengeex-0.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

tokengeex-0.7.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

tokengeex-0.7.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

tokengeex-0.7.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

tokengeex-0.7.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

tokengeex-0.7.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

tokengeex-0.7.1-cp37-cp37m-macosx_11_0_arm64.whl (525.5 kB view hashes)

Uploaded CPython 3.7m macOS 11.0+ ARM64

tokengeex-0.7.1-cp37-cp37m-macosx_10_12_x86_64.whl (529.2 kB view hashes)

Uploaded CPython 3.7m macOS 10.12+ x86-64

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