This release is a pre-release and may not be stable for production use.
unilyte
An easy, unified, and unambiguous way to write electrolytes.
Parses and validates battery electrolyte formulation shorthand (e.g. 1M LiPF6 in EC:EMC 3:7wt + 1wt% LiDFOB) into an unambiguous, JSON-serializable canonical form, and renders it back to shorthand text without losing information.
✅ A perfect unilyte string "1M LiPF6 in EC:EMC 3:7wt" -> "1M LiPF6 in EC:EMC 3:7wt"
✅ Messy strings get normalized " 1M LiPF6 in (EC:EMC 3:7weight) + 1w% LiDFOB" -> ✅ cleaned up "1M LiPF6 in EC:EMC 3:7wt + 1wt% LiDFOB"
❌ Missing units not allowed "1M LiPF6 in EC:EMC 3:7" -> errors
❌ Ambiguous quantities not allowed "1M LiPF6 in EC:EMC 3:7wt + EC:DMC 3:7wt" -> errors
Built in Rust with a CLI and Python bindings.
For developers
git clone https://github.com/g-kimbell/unilyte
cd unilyte
To build the unilyte' [[bin]]` Rust CLI, you must first build with cargo. Use as is or copy to the scripts folder so it is bundled in the Python wheel.
If you skip this step and just pip install, the Python bindings still work, there is just no CLI.
cargo build --release --bin unilyte
cp target/release/unilyte.exe unilyte.data/scripts/unilyte.exe # no .exe on Linux/macOS
pip install . # or: pip install -e . / maturin develop --release
Re-run the first two lines whenever you change src/bin/unilyte.rs (or its dependencies) before reinstalling — it is not rebuilt automatically by pip install.
cargo test # Rust test suite
uv run --with maturin maturin develop --release && python -m pytest python_tests/ # Python bindings
Warning: because the unilyte CLI is copied manually, maturin develop doesn't check if it has changed. If Cargo reports everything "Fresh" (e.g. because you already ran cargo build --release --bin unilyte separately), maturin develop can silently skip reinstalling the wheel entirely, leaving a stale CLI binary. To avoid this, force a reinstall:
uv pip install . --reinstall
scripts/emmo_terms.py regenerates src/registry_data.json (the built-in salt/solvent registry) from the EMMO chemical-substance ontology:
uv run --with rdflib scripts/emmo_terms.py --export src/registry_data.json
Metadata
Release files for unilyte 0.1.0a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unilyte-0.1.0a0.tar.gz | 84.3 kB | Details |
Built distributions (wheels)
Total release size: 20.0 MB
Release files / unilyte-0.1.0a0.tar.gz
| Download URL | unilyte-0.1.0a0.tar.gz |
|---|---|
| Size | 84.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1290e36ad201cc709e72e7d776477357fc9c0c5695335ab4be298c85ffc34e9f
|
|
BLAKE2b-256 checksum How to use checksums |
69a60a8e29c5b6ccd0a4438b44cff8677fb9e1865f9e102cd6e876ea4bc6840c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-win_arm64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-win_arm64.whl |
|---|---|
| Size | 840.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows ARM64 |
|
SHA-256 checksum How to use checksums |
5ad8357a0200b9137b36862ba8d54783b0415f3c13a6799d3f03a71893236254
|
|
BLAKE2b-256 checksum How to use checksums |
c961bda02ec9775ed6b37c6eb56f0b597185a8a1e52b88b3d6da5508018f772a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-win_amd64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 879.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e9b89529898b632ba332f445b62a1d8502d9f04cf5b0d2a23d2fe4d295bbe8ad
|
|
BLAKE2b-256 checksum How to use checksums |
a603a0c683f2bd578b37bd15d620dccd85f185704fe96dc6f3011a14964b44c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-win32.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-win32.whl |
|---|---|
| Size | 814.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-32 |
|
SHA-256 checksum How to use checksums |
045b5be61057e926221c7e396eeeaa9d4d3d3f830f24821c5ff249ac70a27846
|
|
BLAKE2b-256 checksum How to use checksums |
e6a7d07ca76c54f559fff9367591b844ff871c5bab436d8bde12af93ee1584ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5ece0059f0bb55d1dd9135e1faf8314d6e4fa97b34f82654b88aa643cb1ff9e2
|
|
BLAKE2b-256 checksum How to use checksums |
e7e1409c7e5b3b35aa35fb2f8ba73636fbe919d3c6c78013161d921ff2f22a90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
56f4c7f2a8cd56fe80e1eb164545fe4f580ab2ae29a5f9b4ce2f3c72dcb17911
|
|
BLAKE2b-256 checksum How to use checksums |
eb27bb10795a3c7264897f4250c578ee2e204d4e9be6c26d52c505c785161942
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4fc4e623854b7dc2215c0984f51498b11e7d0e1facce5efcc1fcd115e278854f
|
|
BLAKE2b-256 checksum How to use checksums |
c3a24ef36401b83fc459db728d898268b9a726f23d7201bd87d46b863a64ca9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
12ad0604ffcba172d04f5b11aa0b8dac32fbaf388174ff0c19c8f5f2380869a7
|
|
BLAKE2b-256 checksum How to use checksums |
519c53eb35f47ae6d00d0db7d8c8833b997ae26958b4643a746710c26ab0a4bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f60f45da806c7620e31afa728d96897cc06f1157a417096fc91a14cf0584f844
|
|
BLAKE2b-256 checksum How to use checksums |
c101e6359b54faf1b8caabf6f13b5da4fe621bd2ac984f98784d03dec32d32bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp314-cp314t-macosx_10_12_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp314-cp314t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
164119a7219c5e351c1bcb8971c4459732425a5b9edf59e76d6db29688c2d33f
|
|
BLAKE2b-256 checksum How to use checksums |
56c863ff98f9766a4685a3206e61df474347cb7619cb4b43b0c3eea84fe5122d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-win_arm64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-win_arm64.whl |
|---|---|
| Size | 850.6 kB |
| Tags | CPython 3.9 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f6ef59cf9a3e8909355e65760357aa9b775a6d45aca08d105d90b04b2c3c72ca
|
|
BLAKE2b-256 checksum How to use checksums |
6b0f38e4200994ca5e779c52962d466c7820b87521b42e9b5c33478ca996b129
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-win_amd64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 889.3 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
aef4994550f5e04e807519129fad8009dfc8a1d2a392ebc60ab0e7cfa4963812
|
|
BLAKE2b-256 checksum How to use checksums |
c6bea0ff2557d8eed9b16e957b0ae962023c468cc9fd168588081b278dc41b2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-win32.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-win32.whl |
|---|---|
| Size | 819.3 kB |
| Tags | CPython 3.9 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
03273ab57554795e98bc26ddcab80438b971a02ff0a31085797fee23bd920d22
|
|
BLAKE2b-256 checksum How to use checksums |
d7740f0012ac71ab775b81e4d68905553a3f6f8d94565613b5b2c0b18d52263a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
228048f94123bb1115419699b2a0df6a7d16c84b32c20a430a1113570959b9e4
|
|
BLAKE2b-256 checksum How to use checksums |
c636ad3fd3af63300dd344ffca82d905f840b6c380069263b07c1a89096efef1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
ac427f902c4ed4171f8d73d684c878571e8056521881b46631445c2e56e0b398
|
|
BLAKE2b-256 checksum How to use checksums |
f0da1ad4b392408910698eb7816b9f9045a3697dc1799f1248855c9c19a4942c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
223408cfcef01f68d263a19e978dbbb868a680c21d7cfa1ec8452759cf4ee73c
|
|
BLAKE2b-256 checksum How to use checksums |
8df51922fa2e429a7251356913225c34551958ee403edf331fc2ee6a26ae5103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
13da14aea087168c3a76e7abf28a522613ca477a7221d676ae4f3b22e2bdf2ec
|
|
BLAKE2b-256 checksum How to use checksums |
77e6c7f8e2ed8c5f3b7d918004743eb97d3db29f8c6f462090c9b6bdba229c12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7cbcd134a7e741a31a3b9fb20b18f154941a7027e418d2beab65445c911960ba
|
|
BLAKE2b-256 checksum How to use checksums |
145975183a8df6234eed04250dd41f4a6443b6f5d5c0f2a93b3ee90a271741ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / unilyte-0.1.0a0-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | unilyte-0.1.0a0-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
04810edab795bd02ae17e68804f6e685e6646344ce94f4f1f41e10c001033d71
|
|
BLAKE2b-256 checksum How to use checksums |
0991f984e02146af8a0693bbe258b92c33babdbfd764c78d864ca0d31982a801
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|