Ultra-fast retrosynthesis engine for computer-aided synthesis planning (CASP) — pure Rust, Python bindings via PyO3
Project description
RENKIN — Retrosynthesis Engine
Computer-Aided Synthesis Planning (CASP) · Pure Rust · WebAssembly · Python
Named after 錬金 (れんきん, renkin) — Japanese for alchemy: just as alchemists transformed base metals into gold, RENKIN transforms target molecules back into cheap starting materials.
What is RENKIN?
RENKIN is an open-source retrosynthesis engine for computer-aided synthesis planning (CASP) that automatically discovers optimal chemical reaction routes from a target molecule back to cheap, commercially available starting materials — a core problem in drug discovery and medicinal chemistry.
Built entirely in Rust with the chematic cheminformatics crate, RENKIN solves the fundamental speed and dependency problems of existing Python-based CASP tools (AiZynthFinder, ASKCOS, Retro*, etc.). It ships as:
- CLI — single binary,
cargo build --release - Python package —
import renkinvia PyO3 + maturin - WASM module — 493 KB bundle, runs in the browser with no server
All from a single pure-Rust codebase with zero C/C++ dependencies.
Key Features
| Feature | Detail |
|---|---|
| Pure Rust | Zero C/C++ dependencies. Cross-platform with cargo build alone |
| A* / AND-OR Tree Search | Retro*-equivalent algorithm proven more efficient than MCTS for retrosynthesis |
| SA Score heuristic | chematic::chem::sa_score guides search toward synthetically accessible precursors |
| Beam search | --beam-width N limits heap size for memory-bounded exploration |
| Graph-based Ar–Ar cleavage | Bridge-bond detection via DFS — correctly handles biaryl (Suzuki) disconnections |
| Parallel rule application | rayon parallelises SMIRKS rule evaluation; sequential fallback on WASM |
| Python bindings | maturin extension — import renkin; renkin.find_routes(...) |
| WASM-ready | 493 KB bundle via wasm-pack; browser demo with 2D structure rendering |
| ~400 building blocks | Curated commercial starting materials covering esters, amines, halides, heterocycles, amino acids, sulfonyl chlorides, boronic acids and more |
| Benchmark CLI | renkin-bench --input targets.smi produces a JSON success/timing report |
Architecture
Target SMILES
│
▼
┌─────────────────────────┐
│ chem_env.rs │ ← chematic wrapper
│ - SMILES parse │ SMARTS VF2 building-block check
│ - SMIRKS retro rules │ fragment sanitization
│ - Building block check │ HashMap O(1) pre-filter
└────────────┬────────────┘
│ par_iter (rayon / sequential on WASM)
▼
┌─────────────────────────┐
│ search.rs │ ← A* / AND-OR Tree Search
│ - Priority queue │ SA Score heuristic
│ - Closed list │ beam search pruning
│ - Degenerate filter │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ score.rs │ ← Heuristic / Cost Function
│ - SA Score (chematic) │ h = Σ(1 + 0.5·(sa−1)/9)
│ - MW step cost │ g = Σ(1 + total_mw/2000)
└────────────┬────────────┘
│
▼
JSON ← CLI / Python / WASM
Technology Stack
- Language: Rust (Edition 2024)
- Cheminformatics:
chematicv0.4.9+chematic-smiles— SMILES parsing & canonical SMILESchematic-smarts— VF2 substructure matching (building block identity)chematic-rxn— SMIRKS reaction application (run_reactants)chematic-chem— SA Score, molecular weight, aromaticity descriptors
- Search: A* + AND/OR Tree (Retro* equivalent)
- Parallelism:
rayon— parallel SMIRKS rule application - Python:
PyO3+maturin - WASM:
wasm-bindgen+wasm-pack
Installation
As a library
# Cargo.toml
[dependencies]
renkin = "0.1"
CLI (from source)
git clone https://github.com/kent-tokyo/renkin
cd renkin
cargo build --release
Python
pip install maturin
git clone https://github.com/kent-tokyo/renkin && cd renkin
python -m venv .venv && source .venv/bin/activate
maturin develop --features python
Getting Started
CLI
# Retrosynthesis (Aspirin, depth 3)
./target/release/renkin --target "CC(=O)Oc1ccccc1C(=O)O" --depth 3
# With beam search (top-50 nodes)
./target/release/renkin --target "CC(=O)Oc1ccccc1C(=O)O" --depth 5 --beam-width 50
--target / -t Target molecule SMILES
--depth / -d Max retrosynthesis depth (default: 5)
--max-routes / -n Max routes to return (default: 5)
--beam-width / -w Beam search width, 0 = unlimited A* (default: 0)
--building-blocks Path to .smi file of commercial starting materials
Python
import renkin, json
routes = json.loads(renkin.find_routes(
"CC(=O)Oc1ccccc1C(=O)O", # Aspirin
depth=3,
max_routes=5,
))
print(routes["routes_found"]) # number of routes found
for r in routes["routes"]:
print(r["depth"], [s["rule"] for s in r["steps"]])
WASM
wasm-pack build --target web --no-default-features
# Output: pkg/ (npm-ready package)
# Browser demo: python3 -m http.server 8080 → http://localhost:8080/demo/
import init, { find_routes } from './pkg/renkin.js';
await init();
const result = JSON.parse(find_routes(
"CC(=O)Oc1ccccc1C(=O)O", // target SMILES
3, // depth
5, // max_routes
0, // beam_width (0 = unlimited A*)
));
console.log(result.routes_found);
Benchmark
# Input: one SMILES per line, optional name after whitespace
./scripts/run_benchmark.sh --input data/benchmark_targets.smi --depth 5
{
"total": 42, "solved": 37, "success_rate": 0.88,
"avg_depth": 1.05, "avg_time_ms": 2.5,
"results": [...]
}
CLI Output Example
{
"target": "CC(=O)Oc1ccccc1C(=O)O",
"routes_found": 2,
"routes": [
{
"steps": [
{
"rule": "ester_cleavage",
"target": "CC(=O)Oc1ccccc1C(=O)O",
"precursors": ["CC(=O)O", "Oc1ccccc1C(=O)O"]
}
],
"depth": 1
}
]
}
depth: 0 means the target itself is a commercially available starting material (buy directly).
Retro-Rules (14 total)
| Rule | Reaction type | Strategy |
|---|---|---|
ester_cleavage |
Ester → acid + alcohol | SMIRKS |
amide_cleavage |
Amide → acid + amine | SMIRKS |
friedel_crafts_acylation_retro |
Ar-C(=O)R → Ar-H + acyl chloride | SMIRKS |
aryl_carboxylation_retro |
Ar-COOH → Ar-H + CO₂ surrogate | SMIRKS |
aryl_amine_retro |
Ar-N → Ar-H + amine | SMIRKS |
buchwald_hartwig_retro |
Ar-N → Ar-Br + amine | SMIRKS |
aryl_ether_retro |
Ar-O → Ar-OH + fragment | SMIRKS |
suzuki_retro |
Ar-Ar → Ar-Br + Ar-H | Graph (bridge-bond DFS) |
cc_single_cleavage |
C–C → two fragments | SMIRKS |
wittig_retro |
C=C → C=O + C=O | SMIRKS |
reductive_amination_retro |
C–N → C=O + amine | SMIRKS |
cn_aliphatic_cleavage |
C–N → two fragments | SMIRKS |
co_aliphatic_cleavage |
C–O → two fragments | SMIRKS |
alcohol_oxidation_retro |
C–OH → C=O | SMIRKS |
suzuki_retro uses a graph-based bridge-bond algorithm instead of SMIRKS to correctly handle symmetric biaryls (biphenyl, 4-fluorobiphenyl, etc.) without the BFS leakage artifacts that affect SMIRKS-based approaches.
Project Structure
renkin/
├── Cargo.toml
├── src/
│ ├── lib.rs # public library (DEFAULT_BUILDING_BLOCKS, re-exports)
│ ├── main.rs # CLI binary
│ ├── bin/
│ │ └── benchmark.rs # renkin-bench binary
│ ├── chem_env.rs # chematic wrapper — parse, retro rules, BB check
│ ├── score.rs # SA Score heuristic + step cost
│ ├── search.rs # A* / AND-OR tree engine + beam pruning
│ ├── python.rs # PyO3 bindings (--features python)
│ └── wasm.rs # wasm-bindgen bindings (cfg = wasm32)
├── data/
│ ├── building_blocks.smi # Commercial starting materials (~400 entries)
│ └── benchmark_targets.smi # 42-molecule benchmark set
├── demo/
│ └── index.html # Browser WASM demo with 2D structure rendering
└── scripts/
└── run_benchmark.sh # Benchmark runner with human-readable summary
Roadmap
- Phase 1 — SMIRKS retro-reaction rules + fragment sanitization
- Phase 2 — A* / AND-OR tree search, closed list, degenerate-route filter
- Phase 3 — SA Score heuristic + beam search (
--beam-width) - Phase 4 — Parallel rule application (
rayon; sequential fallback on WASM) - Phase 5 — Python bindings (PyO3 + maturin)
- Phase 6 — WASM build (493 KB,
pkg/npm-ready) - Phase 7 — Benchmark CLI (
renkin-bench) - Phase 8 — 21 unit tests, SMIRKS rules 5→14, building blocks ~30→~400
- Phase 9 — Browser WASM demo (SmilesDrawer 2D rendering), benchmark target set
- Phase 10 — Graph-based biaryl cleavage (suzuki_retro), O(1) BB HashMap index
- Phase 11 — Formal benchmark vs. AiZynthFinder / Retro* on USPTO-50k
- Phase 12 — PyPI / npm publish
Competitive Landscape
| Tool | Language | Algorithm | WASM | Zero-dep build |
|---|---|---|---|---|
| ASKCOS | Python | MCTS / A* | No | No (Docker, 64 GB RAM) |
| AiZynthFinder | Python | MCTS primary | No | No (conda, model download) |
| IBM RXN | Closed | Transformer | No | No (cloud only) |
| SYNTHIA | Closed | SMARTS + AND/OR | No | No (proprietary) |
| Retro* | Python | A* + AND/OR | No | No (unmaintained) |
| ★ RENKIN | Rust | A* + AND/OR | Yes | Yes (cargo build) |
All existing open CASP tools are Python-based. RENKIN fills the vacant niche: Rust-native, WASM-deployable, zero-dependency, A* search.
License
MIT
GitHub Topics: retrosynthesis cheminformatics wasm rust drug-discovery casp synthesis-planning computational-chemistry
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
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 renkin-0.1.0.tar.gz.
File metadata
- Download URL: renkin-0.1.0.tar.gz
- Upload date:
- Size: 46.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8660dc7bd6461b0fa581e65e850904e366e28aa41cf41b3413cfab7874d66cd5
|
|
| MD5 |
d8cd8683a9d4e754e326b415d1a2e004
|
|
| BLAKE2b-256 |
da0ce40b4754af66a7b16972bfa14b6b93cf704d602d471bae64b312ee8e3273
|
File details
Details for the file renkin-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 683.5 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e5690ac3778bca1e9bef1d149e372058ead353b41b1f92f911115ce7e5f3128
|
|
| MD5 |
ae637a321033a1f289f45f5e1bb0d8e8
|
|
| BLAKE2b-256 |
9593e5f6eb505cb19f07382431929374bf7f1b9fd5918f185e0099e16ec0b65e
|
File details
Details for the file renkin-0.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 648.2 kB
- Tags: PyPy, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfe24c65972086555f14179b0e57de551bf83ef449e74f76b9c2cc867c0af276
|
|
| MD5 |
5ae4d236a765766a18a8a4e409bcd15b
|
|
| BLAKE2b-256 |
f7be9ada57304500e5004d9cdfbb6a9675c71d1f67740e6427c438ac7096f323
|
File details
Details for the file renkin-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 680.5 kB
- Tags: CPython 3.15t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca42d7096330e9e967862a5f9ff681528b365b69c8121e19ce781c1c91bdc763
|
|
| MD5 |
61fb6c2d169ce5f9adef83ca9c07ddc1
|
|
| BLAKE2b-256 |
40051eccb4f07982725f95fb1d1e37ac9f787cef4c922b46b3b243554a13c08c
|
File details
Details for the file renkin-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 681.7 kB
- Tags: CPython 3.15, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468fe5f68d5cc6c9f8956dc17d1c3a748bfa6f9712a3918d771b1f897bd32b94
|
|
| MD5 |
eb99f45e9d39d45528df11d2f787d7c7
|
|
| BLAKE2b-256 |
4af4bcd6df65f0b8203e9bfe91f0c944fce44ef1c070c8a88a0e5cf84be5220a
|
File details
Details for the file renkin-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 679.8 kB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc7197d2fd59cf4b601faf796f9a8a7d8ea46e3b666bda77d3b883dbe1a4d2a7
|
|
| MD5 |
534c375f26eb22fd18e2db96a136af0a
|
|
| BLAKE2b-256 |
5ffdf9ebe5a3ffbc7588e9e5df825bfc810aaa90fd3a0407d2034fb031209bb8
|
File details
Details for the file renkin-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 644.8 kB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a30c4fa0b221a04a766136ee8b1cf3ba7f6b404356d880f6c2f974a53dc9898
|
|
| MD5 |
06bd47e497eeae4dae860292d9d59436
|
|
| BLAKE2b-256 |
2ccf0073bbbbe36bb7554f71e197fabc3dc24e7ef71b7b3a61998407f29a9613
|
File details
Details for the file renkin-0.1.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 450.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6bd2b86a89fecc21f75b0c7dd16a4f71d3d67f94f2f7f478c1b1f1ec0d9727b
|
|
| MD5 |
6fd3e25c2755554dcef4ba502bec305a
|
|
| BLAKE2b-256 |
98e0df65db9b2e66d2e7f481bf9b898347d77061323861217792fa32b166b19a
|
File details
Details for the file renkin-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 680.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4513f81968a88306d6d54773856e5b1e4650a60ccf6cf9ff58f9bce021e931b
|
|
| MD5 |
6fab3f343e53f4b1f510692ac4e6b01b
|
|
| BLAKE2b-256 |
5408b947bcf4a97ea82bee67692ed68916ebb4e6277a7f0a3636a012f3ebe885
|
File details
Details for the file renkin-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 645.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe868d36eaf8bbedd40ec5cce1cd024e1be55c2ee1fbb2925cd15f9796234f9
|
|
| MD5 |
48996289022794f3a12c035241790c11
|
|
| BLAKE2b-256 |
cb66a9019c83795e119ed092120107a4ebd78bf312f2cc0d8c6f22100d06d570
|
File details
Details for the file renkin-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 577.9 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14ac8095726d2f6b1bb5c5ea74b9b4c98c83e8c31aac03e7add4c9015e707951
|
|
| MD5 |
7c1666634751767a63175b3e3b06bfc4
|
|
| BLAKE2b-256 |
ae02bcfdf08b7341669b977d49ef47d302fc2629e918e8e8fffd161ee3bb9400
|
File details
Details for the file renkin-0.1.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: renkin-0.1.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 448.7 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bef10cee52c9078f3002173a2b362c633cc1bde41b86a8e61bbe2b35dbf7a72
|
|
| MD5 |
c148f2cda0fb6525cb016b742011c017
|
|
| BLAKE2b-256 |
94296ab44be3927798e03d5c17cb37eed683973c154a2508c56d66d2e00c44ec
|
File details
Details for the file renkin-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 679.7 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73b75faee82ebe7a2902e06d2050d91c06875c24be6873ef18a2ebe5a0e16bca
|
|
| MD5 |
f4ac3abb43fa2efaf628063124594d47
|
|
| BLAKE2b-256 |
237021f703d70c98929a9c0ed2f78f51486e5411c7ff05ce7b714c19db3124b0
|
File details
Details for the file renkin-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 644.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e244187bd191ebfd3db413a4bb78fcfafc8de102419cc4955255d9e556efc4c
|
|
| MD5 |
7675296c32103bf72dfe0c8244ed3db3
|
|
| BLAKE2b-256 |
417b86caa1e6498b9e228a08fbb056147d96af222b3a6d1a4924882ae09581a5
|
File details
Details for the file renkin-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 531.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b23d2ed8f33171254dca59e69994fe3da2f83534affa36530f5671f7e0886b6f
|
|
| MD5 |
5ea518940a0a0dc28017ecf0f6cf57d2
|
|
| BLAKE2b-256 |
c717eb2a7d4ea36758d82920cb8dde4571079f0592074b3540c1c8f9d2761a15
|
File details
Details for the file renkin-0.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: renkin-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 448.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5addeb69ac58015938565c30219688d89ead489ecb559eecfb60f5b40e849f75
|
|
| MD5 |
4f92da4161e9125b332366b1b783bacb
|
|
| BLAKE2b-256 |
502561e7fef1c207c2e676bfccab57cf5eb562dff488955fdb36816b04a040da
|
File details
Details for the file renkin-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 679.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93312f9e2f8051fd8a12f299ab252ffbf99ca6e2f0c6c1af6abd71ae1e9ca869
|
|
| MD5 |
810903498ea8af5dce9763c573cc9a4a
|
|
| BLAKE2b-256 |
3e992aedca44f2c73e9992648dcbccaffc560879cc0d5dd0fc11b4659b0209dd
|
File details
Details for the file renkin-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 644.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37516218f3e49d9bf98185f040ccc6ca11dd8661d169e2b0b5ce72238d58cd8a
|
|
| MD5 |
3754faceeeddca20c7642ccbc024e33e
|
|
| BLAKE2b-256 |
0a533ce4e43cfa1b72ee85a5583d1c9eedb91d30683bd5caa6014dcb7f1037a5
|
File details
Details for the file renkin-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 576.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b0ab0e771fc94705f1863ed1f247227a0f57e9104834536fc8e17078dcb9534
|
|
| MD5 |
0076bb23073461efbb3658154c607698
|
|
| BLAKE2b-256 |
d33655847d4c39c0cb8120093a65443c874fb765f6ecd49ff62bf3174d6044a5
|
File details
Details for the file renkin-0.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: renkin-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 450.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d8e6565c4d2c7d0cb2011b604796d7f529f4972f81ade37ed908161892272c7
|
|
| MD5 |
d169004e36f05743280eede3be589f35
|
|
| BLAKE2b-256 |
7d391d10ea2e08a74231ad855bcda1af10614f5764d77d9ec9389f4c1190b167
|
File details
Details for the file renkin-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 682.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae8c8f923b32d2311d8225949308874c69ca29b2eb1c9694087b76548a63a85e
|
|
| MD5 |
adfffe438eff98a7c3bb42ca84f6cf59
|
|
| BLAKE2b-256 |
720f4e65a6a17a8bbda591fae368d785bf595dc6ac4f75df786bc6b675205bcb
|
File details
Details for the file renkin-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 647.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6a89cd533294c99116f1ced8911b34df12fc207ba512030dd3cac1336dec107
|
|
| MD5 |
c7711b975f54de101acf3ccb7ab7717f
|
|
| BLAKE2b-256 |
cb90c19915aadd3f8602957bec055e31e62283a7dada746890d773ffba99ffbf
|
File details
Details for the file renkin-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 581.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0f3589e1166c82246637150fe95463ad67d13698bf5f98d65974f62d315764c
|
|
| MD5 |
2d0ceb47bae71ecea34c837279258c95
|
|
| BLAKE2b-256 |
95116370847196513b52cecfcec5b640b9de0de61c1c6da3eb8e63607159c640
|
File details
Details for the file renkin-0.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: renkin-0.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 450.8 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25d1da803cc4f304d771c54de35155142a0d0ea5fb9af7d8ac378f8e3e20c791
|
|
| MD5 |
b565028670fc3b9a82b6af7e4d25b9f0
|
|
| BLAKE2b-256 |
76103ff2502ba2e531de55f56b73efe8194e64d89c2f1cdf6ebda4560e1a38c7
|
File details
Details for the file renkin-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 682.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1a14f2ac9623530071b8d0dfd250562a8182120d62ad68486ecd5c0381e1892
|
|
| MD5 |
25afee3a3c43149a4b417cb2671bfd98
|
|
| BLAKE2b-256 |
d9533a519ff7775c73ddd5f2767aba61e4a332c6e5ba5dc4bcb53c3ca9842c8f
|
File details
Details for the file renkin-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 647.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edbe5027789ffb492c24bbe75f32567fd729a510333b23e0d1092db6eec25426
|
|
| MD5 |
42e2e0efcec867f7ade4d2b126f550d1
|
|
| BLAKE2b-256 |
cdd071b35f3130d21f5cf5c2c0121779ae08e0dfc7a8561c0e2603e9697b91cc
|
File details
Details for the file renkin-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 683.0 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fa4d0a23a99e47b8ea9acb1d75382628b28506082f8f32bce05ee4eb52331ba
|
|
| MD5 |
30fc57061f7ddc720316588e253eb751
|
|
| BLAKE2b-256 |
ff4e6eb1c45ecf1c31e27532198c868677fc5c6d5ec6a29c370a4f00292d547d
|
File details
Details for the file renkin-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 648.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbabde3031be9574a757173bfe957bca25f336122dc9b2a6b0f4040d265e5004
|
|
| MD5 |
306df5179d845bc16596cd7df3e36288
|
|
| BLAKE2b-256 |
fd335cd9df499910d54c117234df32ccd3edbfa2d675099edd893543a614960f
|
File details
Details for the file renkin-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 648.3 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6d1dda5164321f1a83befdc2b1a053a51838c05a1e974493c28e388f4c065af
|
|
| MD5 |
78a0b4e0a56953541d8f55c01d35b881
|
|
| BLAKE2b-256 |
f81c0c867a4376712eadd176745d2ad216b36056a890ea40554935b81e275c40
|