RENKIN — Retrosynthesis Engine for Knowledge-Informed Navigation
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.
日本語版 README · Documentation · Live Demo →
⚠️ Notice (2026-07-22): corrected USPTO-50k Stage 1 (single-pass) baseline below — historical 78.0%/95.9%/81.8%(ChEMBL) figures elsewhere on this page are invalidated and have NOT been re-measured. Full fix history and methodology:
docs/benchmark.mdandtasks/phase31_final_remeasurement_run.md.Corrected baseline (commit
e20dc8c, 2026-07-22): Search-to-stock rate (raw_solved_rate) 20.09% (986/4,907) → atom-balance-filtered rate (atom_balanced_solved_rate) 15.41% (756/4,907) → current-validator-confirmed rate (provenance_validated_solved_rate) 0.88% (43/4,907). These are a nested series over the same 4,907 targets, not three independent numbers, and none is a measured or bounded chemical-correctness rate on its own. The last figure is not a measured chemical-accuracy rate and not a proven lower bound on correctness — it only counts routes the current validator can positively confirm under stated checks, and an unknown fraction of "invalid" verdicts may be validator false negatives rather than real chemistry errors (the split is unmeasured — open follow-up, see linked doc). Cascade and ChEMBL OOD have not been re-run against the corrected rule set.
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.
Built entirely in Rust with the chematic cheminformatics crate. Zero C/C++ dependencies. All crates enforce #![forbid(unsafe_code)] — compiler-verified Pure Safe Rust throughout.
→ Try the Live Playground — runs entirely in WebAssembly, no installation needed.
→ Full Documentation — API reference, examples, benchmark.
Why RENKIN?
RENKIN is designed as a Rust-native synthesis planning stack:
| Fast | A* / AND-OR tree search with beam search and template frequency weighting |
| Portable | Native CLI · Python wheels · npm/WASM · browser playground — one codebase |
| Explainable | Per-step confidence, atom_economy, route_cost, and procedure_hint |
| Verifiable | renkin-forward validates each retrosynthetic step by forward-applying templates |
| Benchmarkable | USPTO-50k, PaRoutes-style evaluation, route diversity, and atom balance checks |
| Agent-ready | MCP server exposes routes and validation to Claude Desktop and AI agents |
Installation
pip install renkin # Python
cargo add renkin # Rust
npm install renkin # JavaScript / Node.js
Quick Start
import renkin
result = renkin.find_routes(
"CC(=O)Oc1ccccc1C(=O)O", # Aspirin
depth=5,
max_routes=3,
)
for route in result["routes"]:
for step in route["steps"]:
print(f" {step['target']} → {' + '.join(step['precursors'])} [{step['rule']}]")
import init, { find_routes } from './pkg/renkin.js';
await init();
const result = JSON.parse(find_routes("CC(=O)Oc1ccccc1C(=O)O", 5, 3, 0));
./target/release/renkin --target "CC(=O)Oc1ccccc1C(=O)O" --depth 5 \
--templates data/templates_extracted_5000.smi --format tree
Target: CC(=O)Oc1ccccc1C(=O)O
Routes found: 3
Route 1 [score=1.02, depth=1]
OC(=O)c1ccccc1OC(=O)C
└── [extracted_169]
├── OC(=O)C ✓ BB
└── [OH]c1ccccc1C(=O)O ✓ BB
Route 2 [score=1.02, depth=1]
OC(=O)c1ccccc1OC(=O)C
└── [extracted_145]
├── CC(=O)Cl ✓ BB
└── [OH]c1ccccc1C(=O)O ✓ BB
Route 3 [score=1.03, depth=1]
OC(=O)c1ccccc1OC(=O)C
└── [extracted_238]
├── c1cccc(c1O)C(O)=O ✓ BB
└── C([OH])(=O)C ✓ BB
Use --format mermaid for GitHub/Notion-compatible flowcharts.
Constraint-based Search
Restrict routes by the element composition of their building blocks.
Default search — all 5 routes for biphenyl:
renkin --target "c1ccc(-c2ccccc2)cc1" --templates data/templates_extracted_5000.smi --format tree
Routes found: 5
Route 1 [score=1.00, depth=1] c1ccccc1Br + c1c(B(O)O)cccc1
Route 2 [score=1.03, depth=1] c1ccccc1Br + c1c(B(O)O)cccc1
Route 3 [score=1.06, depth=1] c1cc(Cl)ccc1 + c1c(B(O)O)cccc1
Route 4 [score=1.08, depth=1] c1(I)ccccc1 + c1c(B(O)O)cccc1
Route 5 [score=1.08, depth=1] c1ccccc1Br + c1(B2OC(C(C)(C)O2)(C)C)ccccc1
Constrained search — boronic-acid coupling, no Br or I starting materials:
renkin --target "c1ccc(-c2ccccc2)cc1" --templates data/templates_extracted_5000.smi \
--require-elements "B" --avoid-elements "Br,I" --format tree
Routes found: 1
Route 1 [score=1.06, depth=1]
c1ccccc1-c2ccccc2
└── [extracted_398]
├── c1cc(Cl)ccc1 ✓ BB
└── c1c(B(O)O)cccc1 ✓ BB
Constraints compose freely and are enforced in two layers:
--avoid-elementsprunes expansions during search when a BB precursor contains a forbidden element (no dead-end nodes added to the heap).- A final route-level post-filter is still applied for correctness.
--require-elementsis a route-level post-filter only.
Add --verbose to print search statistics (nodes expanded, elapsed time) to stderr. Performance counters are available in native builds only; disabled in WASM.
Key Features
| Feature | Detail |
|---|---|
| Pure Safe Rust | #![forbid(unsafe_code)] on all crates — compiler-enforced, zero C/C++ dependencies |
| A* / AND-OR Tree Search | Retro*-equivalent algorithm with pluggable heuristics (MoleculeValueEstimator, ReactionPrior) |
| Up to 50k reaction templates | Auto-extracted from USPTO-50k/MIT via rdchiral; frequency-weighted priority; --templates for custom sets |
| Route scoring | confidence, step_confidence, success_probability (Retro-prob style), convergency, atom_economy per step — see caveat below the table |
| Step metadata provenance | Each step reports metadata_source/metadata_scope (e.g. handcrafted_default/reaction_family) so it's machine-readable whether conditions/reaction_family came from a rule-author default vs. something more grounded; absent for extracted templates, since nothing is fabricated for them. Real literature references, yield estimates, and side-reaction warnings are not implemented yet — this is provenance-tagging infrastructure for that future work, tracked in #41. |
| Route cost scoring | route_cost = Σ(BB cost) + steps×0.5; actual prices via --bb-prices CSV or --stock stock.csv |
| Pareto multi-objective search | --format pareto returns a Pareto front across route_cost, success_probability, steps, etc.; objectives configurable via --objectives cost:min,success_probability:max,steps:min |
| Constraint DSL | --constraints constraints.json — JSON-driven synthesis planning: element filters, step limits, confidence thresholds, preferred reaction families; enables LLM → RENKIN pipeline |
| Output formats | --format json · tree · mermaid · explain (human-readable per-route analysis) · compare (side-by-side table) · compare-json · pareto |
| Failure diagnostics | Zero-route JSON output includes diagnostics block with likely_causes and suggestions |
| Forward validation | renkin-forward validate verifies each step by applying templates forward; accepts --route-json or stdin |
| Plausibility report | renkin-bench --plausibility — forward-validates best routes and reports composite plausibility score |
| PaRoutes benchmark | renkin-bench --input-format paroutes for multi-step ground-truth evaluation with depth_delta and route_diversity |
| Atom balance check | renkin-bench flags steps where target_MW > Σ precursor_MW (CompleteRXN reference) |
| Stock CSV management | renkin stock stats|validate|coverage — inspect and validate stock CSV files with SMILES, name, vendor, price, hazard fields |
| Template quality tools | renkin template stats|validate|dedup|explain|coverage — inspect SMIRKS template sets: frequency distribution, validity, duplicates, per-template lookup, coverage rate |
| MCP server | renkin-mcp exposes 6 tools: find_routes, validate_route, explain_route, find_pareto_routes, plan_with_constraints, estimate_diversity |
renkin-doctor |
Environment diagnostic binary — checks templates, building blocks, Python import, tool versions, and data integrity |
renkin-kg |
Reaction knowledge graph builder — constructs bipartite mol↔reaction graphs from routes; exports to GraphML or Cypher |
| Beam search | --beam-width N for memory-bounded exploration; SmallVec<[FEntry; 6]> stack-allocated frontier |
| Parallel rule application | rayon on non-WASM; sequential fallback on wasm32 |
| tract-onnx NN scorer | Pure Rust ONNX inference (no C++ dep) — optional --scorer flag for Phase B template relevance scoring |
building_blocks in JSON |
Each route includes the leaf starting-material SMILES — no manual step parsing needed |
| Tetrahedral stereo @/@@ | Full stereochemistry support via chematic 0.4.16 |
| Python | pip install renkin — pre-built wheels for Linux/macOS/Windows |
| WASM | ~500 KB bundle — runs in the browser at near-native speed |
| 402 building blocks | Aryl halides, boronic acids, heterocycles, amines, acids, amino acids (data/building_blocks.smi, unique compounds actually loaded — see Benchmark section) |
step_confidence/success_probabilityare not yields or measured success rates. They're template-frequency-derived search-ranking scores (rule_weight / max_rule_weight, multiplied across a route's steps) used to order candidate disconnections during search — not a calibrated probability of experimental success, and not an expected isolated yield. Route-level experimental yield/success-rate reporting is not implemented.
Pipeline Examples
# Route cost scoring with commercial prices
renkin -t "Cc1ccc(-c2ccccc2)cc1" --bb-prices data/prices.csv --format json
# Forward validation — pipe find_routes output directly
renkin -t "CC(=O)Oc1ccccc1C(=O)O" --format json | renkin-forward validate
# Faster template retrieval with bond-center index (~24% speedup)
renkin -t "c1ccc(NC(=O)c2ccccc2)cc1" --templates data/templates_extracted_5000.smi --bond-index
Benchmark
USPTO-50k test set (4,907 molecules, full evaluation):
Evaluation definition: A molecule is solved if
find_routesreturns at least one route whose leaf precursors are all in the building block set, within depth=5 and beam=100. Ground-truth reactants from USPTO-50k are not checked — any commercially accessible route counts.
Corrected baseline (commit e20dc8c, 2026-07-22)
| Public label | Internal metric | Value |
|---|---|---|
| Search-to-stock rate | raw_solved_rate |
20.09% (986/4,907) |
| Atom-balance-filtered rate | atom_balanced_solved_rate |
15.41% (756/4,907) — subset of search-to-stock |
| Current-validator-confirmed rate | provenance_validated_solved_rate |
0.88% (43/4,907) — subset of atom-balance-filtered |
402 building blocks (unique compounds actually loaded from data/building_blocks.smi — see below), 5,000 extracted templates, 28 handcrafted rules, depth=5, beam=100. These three rates are a nested series over the same 4,907 targets, not independent numbers, and none is an experimentally-verified synthesis success rate or a human-chemist-reviewed route-accuracy figure. provenance_validated_solved_rate is not a measured chemical-accuracy rate and not a proven lower bound on correctness — it only counts routes the current validator can positively confirm, and an unknown fraction of "invalid" verdicts may be validator false negatives rather than real chemistry or route errors (the split is unmeasured). Full methodology, per-rule breakdown, and reproduction command: tasks/phase31_final_remeasurement_run.md · Full benchmark details →
Historical progression (pre-fix, invalidated — see notice above)
⚠️ The figures in this subsection (78.0% single-pass, 95.9% cascade, 81.8% ChEMBL OOD) predate the 31.11/31.12 fixes, are invalidated, and have not been re-measured. Kept for continuity only — do not cite as current performance.
Evaluation note: All numbers use the standard USPTO-50k train/test split (same corpus). Templates are extracted from the training set and evaluated on the test set. Numbers reflect performance within the USPTO-50k domain; out-of-distribution generalization was separately evaluated via ChEMBL approved drugs (81.8%, 409/500, also not re-measured).
| Config | Solved | Rate | BBs | Templates | depth | beam | ms/mol |
|---|---|---|---|---|---|---|---|
| v0.1.0 initial | 366/4907 | 7.5% | 463 | 31 | 3 | 50 | — |
| + auto templates (top-300) | 1363/4907 | 27.8% | 463 | 222 | 3 | 50 | — |
| + depth=5, top-500 templates | 2315/4907 | 47.2% | 463 | 314 | 5 | 50 | — |
| + beam=100 | 2688/4907 | 54.8%* | 463 | 314 | 5 | 100 | — |
| + Phase A (template freq. weighting) | 3540/4907 | 72.1%† | 463 | 314 | 5 | 100 | — |
| + 5,000 templates, 480 BBs | 3826/4907 | 78.0% | 480 | 5,000 | 5 | 100 | 2,775 |
| Phase A unlimited (beam=0) | 3832/4907 | 78.1% | 480 | 5,000 | 5 | 0 | — |
| Phase B (NN scorer, tract-onnx) | 3826/4907 | 78.0% | 480 | 5,000 | 5 | 100 | 3,394 |
| + diaryl sulfone rule, 509 BBs | 3826/4907 | 78.0% | 509 | 5,000 | 5 | 100 | ≈2,800 |
| Cascade (stage2: depth=7, beam=300 on unsolved) | 4705/4907 | 95.9% | 509 | 5,000 | 7 | 300 | — |
* 29/50 chunks, previous binary
† 50/50 chunks — 72.1% (3,540/4,907) confirmed
BB counts in this historical table (463/480/509) are as originally documented at each point in time — legacy documentation values, not re-verified against ChemEnv::bb_count(). The corrected-baseline section above uses the actually-loaded count (402) for the current data/building_blocks.smi.
Note: LocalRetro (53.4%) and GLG (58.0%) report single-step top-1 prediction accuracy — a different metric, not directly comparable.
Benchmark scope note: USPTO-50k is used here as a standardized sanity benchmark, not as proof of broad real-world synthesis performance. The corpus covers a narrow slice of reaction space (primarily C–C and C–N bond formations common in pharmaceutical synthesis), and reaction types with sparse USPTO representation are systematically underserved. Out-of-distribution performance on ChEMBL approved drugs (81.8%, 409/500, pre-fix, not re-measured) suggested the rule set generalizes beyond the test corpus, but neither historical number should be interpreted as a guarantee of route quality on arbitrary targets.
PaRoutes compatibility
RENKIN is compatible with the PaRoutes multi-step benchmark. Download their stock compounds and target molecules, then pass them directly:
renkin-bench \
--input paroutes_n1_targets.smi \
--building-blocks paroutes_stock.smi \
--templates data/templates_extracted_5000.smi \
--depth 5 --beam-width 100
The JSON output includes avg_nodes_expanded, avg_confidence, avg_convergency, and avg_success_prob (Retro-prob style) alongside the standard solved/success_rate metrics.
Competitive Landscape
⚠️ RENKIN's row below uses the corrected raw_solved_rate (20.09%, see notice near the top of this README) — the 95.9% cascade figure some earlier versions of this table cited is invalidated and not re-measured; it is not included here.
| Tool | Language | License | WASM | Zero-dep | Algorithm | Template source | Stock |
|---|---|---|---|---|---|---|---|
| ASKCOS | Python | CC BY-NC | No | No (Docker, 64 GB) | MCTS + A* | USPTO (ML) | ZINC |
| AiZynthFinder | Python | MIT | No | No (conda + model) | MCTS | USPTO (ML, ~50k) | eMolecules (~6M) |
| SYNTHIA | Closed | Proprietary | No | No | SMARTS + AND/OR | Manual curated | Sigma-Aldrich |
| IBM RXN | Closed | Cloud SaaS | No | No | Transformer | USPTO | — |
| Retro* | Python | MIT | No | No (unmaintained) | A* + AND/OR | USPTO (ML) | eMolecules |
| ★ RENKIN | Rust | MIT | Yes | Yes | A* + AND/OR | Hand-curated + rdchiral (5k default; 50k via --templates) |
402+ |
raw_solved_rate is the closest available RENKIN metric to the published route-finding success rates of the other planners above, but the figures are not directly comparable — stock size, template library, target set, search budget, and route-quality checks all differ across systems, and this table does not establish RENKIN as better or worse than the alternatives.
RENKIN's goal: match state-of-the-art accuracy using only curated rules and auto-extracted SMIRKS templates — no GPU, no training data, no black boxes. Under RENKIN's benchmark setting (corrected baseline, commit e20dc8c, 2026-07-22), it reaches 20.09% raw_solved_rate (986/4,907) single-pass — see the Benchmark section above for the full nested-metric series and why the stricter provenance_validated_solved_rate (0.88%) is not RENKIN's measured or bounded correctness rate. RENKIN runs anywhere: browser, CLI, Python — single cargo build.
⚠️ The table above lists tools under different evaluation conditions. No matched-condition experiment against other tools has been performed.
MCP Server
renkin-mcp exposes retrosynthesis as an MCP tool so AI agents (Claude, etc.) can call it directly.
Setup — add to claude_desktop_config.json:
{
"mcpServers": {
"renkin": { "command": "/path/to/renkin-mcp" }
}
}
Tools (6):
| Tool | Description |
|---|---|
find_routes |
Retrosynthesis: SMILES → routes with scoring |
validate_route |
Forward-validate a retrosynthetic route |
explain_route |
Human-readable strengths/weaknesses per route |
find_pareto_routes |
Pareto-front multi-objective route search |
plan_with_constraints |
Constraint-DSL planning (element filters, step limits, confidence thresholds) |
estimate_diversity |
Route diversity and coverage metrics |
The server auto-detects data/building_blocks.smi and data/templates_extracted_5000.smi in the working directory. Falls back to the embedded DEFAULT_BUILDING_BLOCKS / default_rules() defaults if not found (152 unique building blocks per ChemEnv::bb_count(), 28 handcrafted rules — verified 2026-07-22; a "509-BB / 20-rule" figure was previously documented here without verification).
cargo build --release
# binary: target/release/renkin-mcp
Architecture
Workspace scope
┌──────────────────────────────────────────────────────────────────┐
│ renkin workspace (this repository) │
│ │
│ renkin (retrosynthesis) renkin-forward │
│ ────────────────────── ───────────────────────────── │
│ target → precursors reactants → products │
│ A* / AND-OR search template-based forward │
│ route scoring & constraints (validates retro routes) │
│ │ │ │
│ └──────────────────┬─────────────────┘ │
│ ▼ │
│ chematic (molecular representation, │
│ SMILES, substructure matching, reaction SMARTS) │
└──────────────────────────────────────────────────────────────────┘
Internal data flow (renkin crate)
Target SMILES
│
▼
┌─────────────────────────┐
│ chem_env.rs │ ← chematic wrapper
│ - SMILES parse │ canonical-SMILES FxHashSet BB lookup (O(1))
│ - 20 built-in + up to 50k via --templates │ fragment sanitization + ring-leak filter
│ - Building block check │ apply_retro memoization cache
└────────────┬────────────┘
│ par_iter (rayon / sequential on WASM)
▼
┌─────────────────────────┐
│ search.rs │ ← A* / AND-OR Tree Search
│ - Priority queue │ SA Score heuristic + memoization
│ - Closed list │ beam search (SmallVec frontier)
│ - Arc<PathNode> paths │ O(1) path sharing per child
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ score.rs │ ← Heuristic / Cost Function
│ - SA Score (chematic) │ h = Σ(1 + 0.5·(sa−1)/9)
│ - MW step cost │ g = Σ(1 + total_mw/2000)
└────────────┬────────────┘
│
▼
┌─────────────────────────┐ (optional)
│ scorer.rs │ ← Phase B: NN Template Scorer
│ - tract-onnx │ Pure Rust ONNX inference
│ - --scorer flag │ molecule-specific template ranking
└────────────┬────────────┘
│
▼
JSON ← CLI / Python / WASM
Project Structure
renkin/ ← Cargo workspace root
├── Cargo.toml
├── src/ ← renkin crate (retrosynthesis)
│ ├── lib.rs # public library
│ ├── main.rs # CLI binary (--templates, --scorer, --constraints, --objectives flags)
│ ├── bin/benchmark.rs # renkin-bench binary (--plausibility flag)
│ ├── bin/doctor.rs # renkin-doctor diagnostic binary
│ ├── bin/fp.rs # renkin-fp ECFP4 fingerprint (nn-scoring feature)
│ ├── bin/mcp.rs # renkin-mcp MCP server (6 tools)
│ ├── chem_env.rs # retro rules + BB lookup + template loader
│ ├── score.rs # SA Score heuristic + step cost
│ ├── search.rs # A* / AND-OR tree engine + beam pruning
│ ├── scorer.rs # Phase B: tract-onnx NN template scorer
│ ├── python.rs # PyO3 bindings (--features python)
│ └── wasm.rs # wasm-bindgen bindings (cfg = wasm32)
├── crates/ ← sibling crates
│ ├── renkin-forward/ # forward reaction prediction (reactants → products)
│ └── renkin-kg/ # reaction knowledge graph builder (GraphML / Cypher export)
├── data/
│ ├── building_blocks.smi # 402 curated commercial starting materials (loaded/deduplicated count)
│ ├── templates_extracted_5000.smi # 5,000 auto-extracted SMIRKS templates
│ ├── benchmark_targets.smi # internal benchmark set
│ └── bench_chunks/ # USPTO-50k per-chunk results
├── scripts/
│ ├── extract_templates.py # rdchiral template extraction pipeline
│ └── run_benchmark_chunks.sh # resumable chunked benchmark runner
├── docs/ # MkDocs source → kent-tokyo.github.io/renkin/
└── mkdocs.yml
Roadmap
Recently shipped
-
renkin-bench cascade— multi-stage search (fast defaults → hard cases re-run deeper); only unsolved targets propagate to later stages. 78.0% → 95.9% on USPTO-50k -
renkin-bench --failure-taxonomy— classify unsolved targets by cause (beam limit / depth limit / template gap / stock near-miss) - Graph-based ester cleavage — BFS-leakage-free
R-C(=O)-O-R' → RCOOH + R'OH -
--top-templates N— frequency-rank filter: use the top-N most frequent templates for speed / less noise -
raw / validated / practicalsolved-rate metrics (--plausibility --practical-max-steps N) - Retro cache hit-rate in
SearchStats+--verbose
In progress
- Template retrieval index (element bitmask + bond-center prefilter) for the 50k template set
- Calibrated route confidence (map
success_probabilityto empirical solve rate)
Next
- Graph rule expansion — sulfonamide / carbamate / urea cleavage (one PR per family, each with benchmark delta)
- Stock-aware planning (price / hazard / availability re-ranking)
Earlier milestones
- Route cost scoring —
route_costfield +--bb-prices path.csv/--stock stock.csv - Cargo workspace —
crates/renkin-forward/+crates/renkin-kg/ -
renkin-forward predict/validate— forward prediction + route validation (stdin-pipe friendly) -
renkin-doctor— environment diagnostic binary (templates, BBs, Python, binaries) - Failure diagnostics — zero-route output includes
likely_causes+suggestionsJSON block -
--format explain|compare|compare-json— human-readable and tabular route output -
renkin stock stats|validate|coverage— stock CSV management subcommand - Pareto multi-objective search —
--format pareto,--objectives,find_pareto_routesMCP - Constraint DSL —
--constraints JSON,plan_with_constraintsMCP tool -
renkin template stats|validate|dedup|explain|coverage— template quality tools -
renkin-kg— reaction knowledge graph (bipartite mol↔reaction, GraphML/Cypher export) - MCP server expanded to 6 tools (
explain_route,find_pareto_routes,plan_with_constraints) - SMIRKS retro-reaction rules + fragment sanitization
- A* / AND-OR tree search, closed list, degenerate-route filter
- SA Score heuristic + beam search
- Parallel rule application (rayon; sequential fallback on WASM)
- Python bindings (PyO3 + maturin) ·
pip install renkin - WASM build ·
npm install renkin - Benchmark CLI (
renkin-bench) + USPTO-50k evaluation - WASM browser playground + i18n (EN/JA/ZH)
- Graph-based biaryl cleavage · O(1) canonical-SMILES BB index
- Published to crates.io / PyPI / npm · GitHub Actions CI/CD
- MkDocs documentation site · GitHub Pages playground
- Auto template extraction (rdchiral): 27.8% → 78.0% USPTO-50k
- Tetrahedral stereo @/@@ + E/Z double-bond stereo
- Template frequency weighting (Phase A): 72.1% USPTO-50k
- FxHashMap · SmallVec beam frontier · SA Score memoization · Arc path sharing
- 5,000 extracted templates + 509 BBs: 78.0% USPTO-50k (3,826/4,907 ✅)
- NN template scorer via
--scorerflag (tract-onnx, Pure Rust ONNX) -
--format tree|mermaidroute visualization - Constraint-based search:
--avoid-elements,--require-elements -
--verbosesearch statistics to stderr - MCP server (
renkin-mcp) — AI agents call retrosynthesis directly -
#![forbid(unsafe_code)]— compiler-enforced Pure Safe Rust
Citation
If you use RENKIN in academic work, please cite:
@software{renkin2026,
author = {kent-tokyo},
title = {{RENKIN}: Retrosynthesis Engine for Knowledge-Informed Navigation},
year = {2026},
url = {https://github.com/kent-tokyo/renkin/releases/tag/v0.16.0},
version = {0.16.0},
license = {MIT}
}
Security
Report vulnerabilities via GitHub Private vulnerability reporting. See SECURITY.md.
License
MIT
GitHub Topics: retrosynthesis cheminformatics wasm rust drug-discovery casp synthesis-planning computational-chemistry
If RENKIN saves you time, a GitHub star helps others discover it.
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.16.0.tar.gz.
File metadata
- Download URL: renkin-0.16.0.tar.gz
- Upload date:
- Size: 289.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3518ca6b101379e145ccc3fa0cade0a09d19fd285881946da3088f105ece3735
|
|
| MD5 |
d6a983e773623f4be038c68b87682cbb
|
|
| BLAKE2b-256 |
e06619ac002569bb03401b014d2739542e32e582ad8d4a5119a7000cfd4a86cb
|
File details
Details for the file renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 917.1 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8741c6ac3a5d2bef6f4136b5548242057a5411f4d61ff24279497e320446b7f4
|
|
| MD5 |
399581ef3d5a7b4bddaf379b3230c18d
|
|
| BLAKE2b-256 |
2aa9a0eb59937f7278b16e20647cbec142e2c1db46872a03bacc9009e2a9b3cd
|
File details
Details for the file renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 863.0 kB
- Tags: PyPy, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d90f6ead1f7a3c9e740c74348e392007c77b83c5052d15934d33ad8de8ee52c
|
|
| MD5 |
bbd57fc64a3338a82f251ff7aa0794b2
|
|
| BLAKE2b-256 |
8db969e2eecd3e4a10c96f54af2f8eb29818bf25e0139f056828399ead3a37c2
|
File details
Details for the file renkin-0.16.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 913.7 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a5daa648d6ec1b2f836bb8692c98aa0fbf54bfdb1f808ce3185db68f082a364
|
|
| MD5 |
c41e946d21e8add2083274317a91c059
|
|
| BLAKE2b-256 |
b189b6d24e382e14df6d0902ee0e24bf27267d9bd837c0048d47a48c9f903c26
|
File details
Details for the file renkin-0.16.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 913.4 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c32df218cf8063b4b0ba20e59fd09dc5eecf8e2ce768e0871555ef3ab4d539f7
|
|
| MD5 |
02341dacee1af4bfc5d32aa78be7417c
|
|
| BLAKE2b-256 |
51e81a76e5f4457940e4a6eff98d12247476e6a93845542103e623c6ced95402
|
File details
Details for the file renkin-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 913.3 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7a49864d203af81744d8d28df9b2e04f9a9cdc53c13460875e087164aa053e6
|
|
| MD5 |
b9dd1c5ff7d4b57331484504798f0219
|
|
| BLAKE2b-256 |
ca0812f85a3f96bca07e3448870c15a7204789ad49dba64c4f5c0202f9d044e2
|
File details
Details for the file renkin-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 855.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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9186f928c4abb75c557cce6bbf2834055755625d91a2fbe8a2aab51184b42322
|
|
| MD5 |
9dfdafd2dd2bf4d5a87e8a416a8496bb
|
|
| BLAKE2b-256 |
5a18ef4a80d307b3fa599aa32de004f09690833cc73f21d6e6bc11fe23f6c684
|
File details
Details for the file renkin-0.16.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 657.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad5be6dedab9302ce1557a612983e745c9471407f6e381d70878e6894f953f46
|
|
| MD5 |
a19519941ceaa0afb7ff347899a2ba60
|
|
| BLAKE2b-256 |
21d0c5b19c9c59b4b127305d7eb39d62a0f300956569d19dec177926bc5e5f65
|
File details
Details for the file renkin-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 913.0 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8847d175bc58f3d99283e26f2f8d76eb8c2cfa560c46e5bf715907a476403169
|
|
| MD5 |
0a5e60436278653d1b2ead39266c8dec
|
|
| BLAKE2b-256 |
1d4e93053cd58b693b5de7342eccfc35ddcceca94e88bdceb511cc217cc5f370
|
File details
Details for the file renkin-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 855.1 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0877ec524a4d69fdef85c030e0b37f6a38c13ba38b2831e3c6d8d81d0f89ccf9
|
|
| MD5 |
97341a04d57af81c239932485860ff35
|
|
| BLAKE2b-256 |
411b4d6182f9ebcf94e94e21f00614fdf4c1d6d680bbbe33c82453cab71418d2
|
File details
Details for the file renkin-0.16.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.16.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 781.0 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
136ad1b2c7d5b9be2220c942a1d26190e2d3fa6f07e4c301057fa15c0bbf5c87
|
|
| MD5 |
fd829773d85713d5c878e789790ec712
|
|
| BLAKE2b-256 |
d30a574fa3dbc06804532b554e14b7136b026753a7d493ee66122c8444287497
|
File details
Details for the file renkin-0.16.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: renkin-0.16.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 657.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c983e787d90332c18e457337a553679a2f55cb5e4ff08d23cc192d82f387d547
|
|
| MD5 |
e8b5a45aed9b187bcca7a45a748ebe38
|
|
| BLAKE2b-256 |
3a65466c720bedb03b3a71afc4dde0170d0f0f7be7c5c9c3a80b07e344d42400
|
File details
Details for the file renkin-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 912.9 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af105c761a66ca9a4e914584eae4ddeaf7bd9699ff090e4d8ca8fd6eb75e7bfe
|
|
| MD5 |
65b2f0a372e52ec3cd85002307d9cc3b
|
|
| BLAKE2b-256 |
b3bfbc16afa408487f8adc27ce482998d50c8bc005de1bd31d5a711061430f7a
|
File details
Details for the file renkin-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 854.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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a15e5b4834cb635dedf67da99c72f6026fe12694fa9a5419cc8622dbed0eac66
|
|
| MD5 |
a0aba5a74a2bcbf7ba565570187cc216
|
|
| BLAKE2b-256 |
ece42cd1e18cdfa7a33b249e4448864d2cb87b1f81c75ec700de356dd2ec13a9
|
File details
Details for the file renkin-0.16.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.16.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 779.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bfa5fae749e46c6e7274300067e8681782ca60b50eea3edec8fd74134198160
|
|
| MD5 |
2048612393e64699c398dad2076e91eb
|
|
| BLAKE2b-256 |
13f67fe1ece7916663bf6c762c1082f03199772a255b5b9b1ca48ebddcfd5713
|
File details
Details for the file renkin-0.16.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: renkin-0.16.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 657.3 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eb3543f2171ae46ffb6d5884ff7a2f5792d23f56116487e9e386fd67384e69c
|
|
| MD5 |
44ee0c48767bd0652ffcb5c7a0ad9762
|
|
| BLAKE2b-256 |
6cd996b9fd6f432deff14cf718ed799bdcc16945ff8d7db288965437c8e24bc9
|
File details
Details for the file renkin-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 913.2 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f49e1c66d0c5c39e21b6b5596cdcd412ebea64a3152873646ccab04a33dd483
|
|
| MD5 |
2df86d010eb44ac3076b15c8c949a824
|
|
| BLAKE2b-256 |
d9785897f58853fdd38a4db40b0f9bb036c4aa9f89e599e8895049effd47dcc9
|
File details
Details for the file renkin-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 854.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58cb952726765d244a6e72c4662ab43d68e68f183d1d9ea1ecf403a49a8dbc18
|
|
| MD5 |
ec7a1582201cb566c3522d6309922ab2
|
|
| BLAKE2b-256 |
433b921f51d42ec27c89cf3ebbe03e7ba5c483a69dc700d2840f8d1b8bb8ba38
|
File details
Details for the file renkin-0.16.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.16.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 780.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e02e665653dc80e47d1204d2174d2e20c23712dd60e440ca1670f4c964cd25ef
|
|
| MD5 |
c134c455fafd7bc591e21effdd19de24
|
|
| BLAKE2b-256 |
0b81d20799b44e579de8ad55bffe0d4f586915913e7913ba1bb80e1e68879145
|
File details
Details for the file renkin-0.16.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: renkin-0.16.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 660.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbe59744e7acb08c80af6abb681dcbca9274e1b5dfa6ba68ea8e78847922a666
|
|
| MD5 |
09a2108dac4425d202832aeb383c62dd
|
|
| BLAKE2b-256 |
815d30b29c7dabbf27860bd68c6ef5199a37ff0eaa992b94a635e57b3ea70c26
|
File details
Details for the file renkin-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 915.8 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
754a9187190257fa7ef7fd47d39478106153ff36bac9510de2b494c088934806
|
|
| MD5 |
d6a6a7a559c0e9728e277b28b851237b
|
|
| BLAKE2b-256 |
78232446c3387cc7293f4cdde061daa1e4564876e41ad990353e525bbf62eb90
|
File details
Details for the file renkin-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 861.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
871bdef7bec9eb5992190cb5ab7577d0c5cefac258cfa89099c0a1e5063e2d31
|
|
| MD5 |
abb91b85868ba5015d18d791b0a4fa19
|
|
| BLAKE2b-256 |
e7520a5ba8318da776a73725b618eedc1403c3afe8fe8ca562375fd576eb849c
|
File details
Details for the file renkin-0.16.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: renkin-0.16.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 787.4 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcc64fcb6eeac817c4d4cfd65848cd3014237506f4d36cdc325020185d886341
|
|
| MD5 |
19f601036fa9b915f1e20f42f6b68173
|
|
| BLAKE2b-256 |
0704805e048cb9f950b928a025d3143342935ff35335c426006845c8515316c9
|
File details
Details for the file renkin-0.16.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: renkin-0.16.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 660.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cfb80f9dc0aad91c9d3cdf89eb66e62a9c6e716441559da9379df0ade392a20
|
|
| MD5 |
aa43692eb9b964db1c8cf6ecd16c3c26
|
|
| BLAKE2b-256 |
1e335347c0049f4a707c18c8853651519b63763afa8272d88f492ae57a9818e9
|
File details
Details for the file renkin-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 915.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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50bbe24f412147c52d8452f619ca4597fa2928cdb712a5e334454eaba7575901
|
|
| MD5 |
264d364d5c69b3f54e4a84165fff59f4
|
|
| BLAKE2b-256 |
5cca0dca8bafab787df12c5f55f92efee5096a00d675a500b0ae4af261b058cc
|
File details
Details for the file renkin-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 861.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
544d8b25f454ce2330bc4e1d1ccda31c2df7ff9ab0ef507445160f08edea721e
|
|
| MD5 |
e67ee9015e7936a22e7c9c7290b6fe0c
|
|
| BLAKE2b-256 |
cb49df3ca6b8cee9ae556e13bb161643b16a03ae50bdcaf8ba354b122ff44455
|
File details
Details for the file renkin-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: renkin-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 916.4 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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a752a48481dfa8f815782fc44cad593203e7c4f2d0fd5fe6658f7c3923c27cee
|
|
| MD5 |
d11911fbc246690ebc6e21ffa5cbeb46
|
|
| BLAKE2b-256 |
da738c6510281f5a0bbf9a749f69239831967163442da17622226163e59be613
|
File details
Details for the file renkin-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 861.7 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3e8c22c2c1ad59475fd5fced6e847365466e96c5fb30d0d0937a984848c73cf
|
|
| MD5 |
3fb12195cef87fc4546060bb607f3347
|
|
| BLAKE2b-256 |
e7825f2422779a603b8cb0e32e6ff001e7db0bb60d9d766f414a4637479c1bf7
|
File details
Details for the file renkin-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: renkin-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 861.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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0eec82809c00f688287231124967c6e0bbde323981dd358da30c93c53cfe0ad
|
|
| MD5 |
45c1d8abc863d6e9d23dcf309f4b68a1
|
|
| BLAKE2b-256 |
87c9782f9c7f4375cc30a676177ad7f0b4bea6a303e1a69427a144f49fb97997
|