TJA file parser written in Rust, working in Rust, Python, and WebAssembly.
Project description
tja-rs
An efficient TJA file parser, written in Rust, that supports Rust, Python, and WebAssembly environments.
It is highly optimized for speed and includes features such as a synthesizer for synthesizing music along with don/ka sound effects from a TJA file.
It's fast! Check out the benchmark.
Building Instructions
Rust
The Rust target requires no additional feature flags.
To build the library, run:
cargo build
To build the CLI tool, run:
cargo build --bin tja
Python
We use maturin to build the Python package. The Python package requires the python feature flag to be enabled.
To build the Python package .whl, run:
maturin build -F python --release
To develop and test, run:
maturin develop -F python
Python virtual environment is necessary. (e.g.
conda,micromamba,poetry,pixi)
To navigate variable, please check tja.pyi
WebAssembly
We use wasm-pack to build the WebAssembly package. The WebAssembly package requires the wasm feature flag to be enabled.
To build the WebAssembly package, run:
wasm-pack build --features wasm
Performance Benchmarks
The parser is highly optimized for performance.
It can parse a typical TJA file in under 1 ms in full mode, and in metadata-only mode in under 5 µs.
For detailed benchmarks and comparisons, check out our benchmark report.
To run the benchmark:
cargo bench
Synthesizer
The TJA parser includes a synthesizer binary that can synthesize music along with don/ka sound effects from a TJA file:
cargo run -F audio --bin synthesize <TJA file> <music file> <don sound file> <ka sound file> --course <course> --branch <branch>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tja-0.3.3.tar.gz.
File metadata
- Download URL: tja-0.3.3.tar.gz
- Upload date:
- Size: 194.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70e2737462b1af66dfc1f2e62deed1d3b3efdb9dff13722ff2db134d830180e1
|
|
| MD5 |
45f4ce0edcdad0970c1e090d6e2ddf89
|
|
| BLAKE2b-256 |
e45b52ddbd19477fa2d7643a5abb1cbeeaf940023dcaf9cfbc56a24739c2fca2
|
File details
Details for the file tja-0.3.3-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 225.4 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d61f5975d8f6dbaf0aa6a97c5dad4d98ec56ab35ced83865078eb90cfecb92c
|
|
| MD5 |
79309309393553db953d105c5ac858e7
|
|
| BLAKE2b-256 |
a19d160239d84433412c6c8afb4641f534d43571a646b9e45b36b313577d51ae
|
File details
Details for the file tja-0.3.3-cp38-abi3-win32.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-win32.whl
- Upload date:
- Size: 217.3 kB
- Tags: CPython 3.8+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
531fe3cfb1c018c38215351eacdb3f9912239550937549b44bc61d15da152e87
|
|
| MD5 |
c95114968e8e970ac3e057b805eb58f3
|
|
| BLAKE2b-256 |
76b9647265fa65086affffcfdc50554658e13c092f727674b4609853c1f2ea6f
|
File details
Details for the file tja-0.3.3-cp38-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c1a006259902372c31262c47951eab3a3450a6f6c0dde8193772678119ca04
|
|
| MD5 |
3769f29f1ee668612c5d1c5ef93b8ef7
|
|
| BLAKE2b-256 |
135552493a6c4270409ce931d95d6863484d5c663607d73aa98046aa1b4405a7
|
File details
Details for the file tja-0.3.3-cp38-abi3-musllinux_1_2_i686.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-musllinux_1_2_i686.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30109607154e700ed4fcbe0297f96a68214d36a10a42bb5fe6dc9f1f29402221
|
|
| MD5 |
57f702f6079f35699322f224d181bb46
|
|
| BLAKE2b-256 |
99f9921edbfa32bedbb608c0c10bf9c08e0da1016e6e351d4d699241d60ababb
|
File details
Details for the file tja-0.3.3-cp38-abi3-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48fc7b5c637c6a7736125b9760ebba2d872e1e3d360b357060ec4a21620576a6
|
|
| MD5 |
98e469bc03dfec5122dc9257b6111e2d
|
|
| BLAKE2b-256 |
57304a6ad780925a1cc819400e68e05d606f6975b395d134570275410c42b1c9
|
File details
Details for the file tja-0.3.3-cp38-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53ad273dc4413ceb25f19558009063045ff972f5be453bb8073c836ea9f3cf31
|
|
| MD5 |
47c7483e3bd9e70a2d43c9df52fba5a4
|
|
| BLAKE2b-256 |
827ec713624470f8a2eead28ed47d1bb67a064929d5b80cc352aebd740423fd4
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ebde35edcc4cd1ced1c51bf06d00dedfe228a203c1be8abe5df047acbf6eb6b
|
|
| MD5 |
bfa7f0b2c065e51f0a65f28d15a27dbc
|
|
| BLAKE2b-256 |
59d6efa5d6b10de40c5cf54740e446b94a716b142812fb5ac73b8bd2052f3253
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b291b271ed5b7429f507044e37c2f466d3baad420f01163459fc55c9e1e817f5
|
|
| MD5 |
b0581eed484e0e11a794e501555a0587
|
|
| BLAKE2b-256 |
a186631ca28b39eff3a642e5972bff3004dea368d3d5d4c71b8f9fbbabb72d02
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4354d80df0000a6b14ccb477aebc9878b1875f56667ed89b45af5ff86936f54e
|
|
| MD5 |
4e17430bd8fa919d9eb3e2b6895e0807
|
|
| BLAKE2b-256 |
f0438ba99f7c626a5862d02f0da3049c1f4d534600eacf86eff42131fb8fca3a
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f52398ac5c32e927f588de7a9e593d4eec3ab738ca888f0f385fdff17515039c
|
|
| MD5 |
b926af125148f638fd3ac9e57f178733
|
|
| BLAKE2b-256 |
ca74406537bd2592e4f9ec0a93d7f0db6f60e71ee46feb22fe1cb89b6938d6b3
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e4291ef34d9973fa657c1847bd5415bf8657717fd0134f315d19219cc216292
|
|
| MD5 |
aaad841384292cd7f83ee6320d2493dc
|
|
| BLAKE2b-256 |
6cbe40ff43e686930b68bd015933b2d6058f4e16a96d4f4176a3a84dee70d0fc
|
File details
Details for the file tja-0.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.8+, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac8d253da763693d3834ad7b7261b77f4964f94790597856049c7ccd71127c7e
|
|
| MD5 |
a050b7de5b044e0f73c286bc3c6f38df
|
|
| BLAKE2b-256 |
ebf47c96a288f8a9acdcb30b5a77deeb460e1fbdb0c9854b9fc6fca792bba74c
|
File details
Details for the file tja-0.3.3-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 355.1 kB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c50b58a5eb7f3e35e2893c7d456a17d5670521728543c03ed161e1c35ee7a3e2
|
|
| MD5 |
0ee859d8b57cd440561240b0abf4f4c6
|
|
| BLAKE2b-256 |
43dfd3a6002a390b69421f9c3de6fb1961b6c6d0973c138ceb0521947529135b
|
File details
Details for the file tja-0.3.3-cp38-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: tja-0.3.3-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 363.2 kB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f6446f93e37ce168babc1a373fcd073f79bcb65f594266e64ab42ebdbea9457
|
|
| MD5 |
c92d3348be1025ac081ba2ce5ef52ac4
|
|
| BLAKE2b-256 |
5593c88d284610ed3e526aa8036c1c2bc85fac8d93ff0bf5ffcb3245750f38a8
|