Skip to main content

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.

CI Docs

Crates.io docs.rs PyPI Python npm License: MIT

Pure Rust unsafe forbidden WASM PyO3 MCP templates building blocks USPTO-50k ChEMBL

日本語版 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.md and tasks/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.

Open In Colab


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-elements prunes 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-elements is 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_probability are 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_routes returns 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 / practical solved-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_probability to 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_cost field + --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 + suggestions JSON 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_routes MCP
  • Constraint DSL — --constraints JSON, plan_with_constraints MCP 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 --scorer flag (tract-onnx, Pure Rust ONNX)
  • --format tree|mermaid route visualization
  • Constraint-based search: --avoid-elements, --require-elements
  • --verbose search 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

renkin-0.16.0.tar.gz (289.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (917.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (863.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.7 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.4 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (855.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp314-cp314-win_amd64.whl (657.4 kB view details)

Uploaded CPython 3.14Windows x86-64

renkin-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (855.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp314-cp314-macosx_11_0_arm64.whl (781.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

renkin-0.16.0-cp313-cp313-win_amd64.whl (657.0 kB view details)

Uploaded CPython 3.13Windows x86-64

renkin-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (912.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (854.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp313-cp313-macosx_11_0_arm64.whl (779.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

renkin-0.16.0-cp312-cp312-win_amd64.whl (657.3 kB view details)

Uploaded CPython 3.12Windows x86-64

renkin-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (854.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp312-cp312-macosx_11_0_arm64.whl (780.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

renkin-0.16.0-cp311-cp311-win_amd64.whl (660.3 kB view details)

Uploaded CPython 3.11Windows x86-64

renkin-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (915.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (861.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp311-cp311-macosx_11_0_arm64.whl (787.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

renkin-0.16.0-cp310-cp310-win_amd64.whl (660.2 kB view details)

Uploaded CPython 3.10Windows x86-64

renkin-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (915.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (861.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (916.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

renkin-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (861.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

renkin-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (861.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Hashes for renkin-0.16.0.tar.gz
Algorithm Hash digest
SHA256 3518ca6b101379e145ccc3fa0cade0a09d19fd285881946da3088f105ece3735
MD5 d6a983e773623f4be038c68b87682cbb
BLAKE2b-256 e06619ac002569bb03401b014d2739542e32e582ad8d4a5119a7000cfd4a86cb

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8741c6ac3a5d2bef6f4136b5548242057a5411f4d61ff24279497e320446b7f4
MD5 399581ef3d5a7b4bddaf379b3230c18d
BLAKE2b-256 2aa9a0eb59937f7278b16e20647cbec142e2c1db46872a03bacc9009e2a9b3cd

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d90f6ead1f7a3c9e740c74348e392007c77b83c5052d15934d33ad8de8ee52c
MD5 bbd57fc64a3338a82f251ff7aa0794b2
BLAKE2b-256 8db969e2eecd3e4a10c96f54af2f8eb29818bf25e0139f056828399ead3a37c2

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a5daa648d6ec1b2f836bb8692c98aa0fbf54bfdb1f808ce3185db68f082a364
MD5 c41e946d21e8add2083274317a91c059
BLAKE2b-256 b189b6d24e382e14df6d0902ee0e24bf27267d9bd837c0048d47a48c9f903c26

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c32df218cf8063b4b0ba20e59fd09dc5eecf8e2ce768e0871555ef3ab4d539f7
MD5 02341dacee1af4bfc5d32aa78be7417c
BLAKE2b-256 51e81a76e5f4457940e4a6eff98d12247476e6a93845542103e623c6ced95402

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7a49864d203af81744d8d28df9b2e04f9a9cdc53c13460875e087164aa053e6
MD5 b9dd1c5ff7d4b57331484504798f0219
BLAKE2b-256 ca0812f85a3f96bca07e3448870c15a7204789ad49dba64c4f5c0202f9d044e2

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9186f928c4abb75c557cce6bbf2834055755625d91a2fbe8a2aab51184b42322
MD5 9dfdafd2dd2bf4d5a87e8a416a8496bb
BLAKE2b-256 5a18ef4a80d307b3fa599aa32de004f09690833cc73f21d6e6bc11fe23f6c684

See more details on using hashes here.

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

Hashes for renkin-0.16.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ad5be6dedab9302ce1557a612983e745c9471407f6e381d70878e6894f953f46
MD5 a19519941ceaa0afb7ff347899a2ba60
BLAKE2b-256 21d0c5b19c9c59b4b127305d7eb39d62a0f300956569d19dec177926bc5e5f65

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8847d175bc58f3d99283e26f2f8d76eb8c2cfa560c46e5bf715907a476403169
MD5 0a5e60436278653d1b2ead39266c8dec
BLAKE2b-256 1d4e93053cd58b693b5de7342eccfc35ddcceca94e88bdceb511cc217cc5f370

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0877ec524a4d69fdef85c030e0b37f6a38c13ba38b2831e3c6d8d81d0f89ccf9
MD5 97341a04d57af81c239932485860ff35
BLAKE2b-256 411b4d6182f9ebcf94e94e21f00614fdf4c1d6d680bbbe33c82453cab71418d2

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 136ad1b2c7d5b9be2220c942a1d26190e2d3fa6f07e4c301057fa15c0bbf5c87
MD5 fd829773d85713d5c878e789790ec712
BLAKE2b-256 d30a574fa3dbc06804532b554e14b7136b026753a7d493ee66122c8444287497

See more details on using hashes here.

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

Hashes for renkin-0.16.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c983e787d90332c18e457337a553679a2f55cb5e4ff08d23cc192d82f387d547
MD5 e8b5a45aed9b187bcca7a45a748ebe38
BLAKE2b-256 3a65466c720bedb03b3a71afc4dde0170d0f0f7be7c5c9c3a80b07e344d42400

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af105c761a66ca9a4e914584eae4ddeaf7bd9699ff090e4d8ca8fd6eb75e7bfe
MD5 65b2f0a372e52ec3cd85002307d9cc3b
BLAKE2b-256 b3bfbc16afa408487f8adc27ce482998d50c8bc005de1bd31d5a711061430f7a

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a15e5b4834cb635dedf67da99c72f6026fe12694fa9a5419cc8622dbed0eac66
MD5 a0aba5a74a2bcbf7ba565570187cc216
BLAKE2b-256 ece42cd1e18cdfa7a33b249e4448864d2cb87b1f81c75ec700de356dd2ec13a9

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bfa5fae749e46c6e7274300067e8681782ca60b50eea3edec8fd74134198160
MD5 2048612393e64699c398dad2076e91eb
BLAKE2b-256 13f67fe1ece7916663bf6c762c1082f03199772a255b5b9b1ca48ebddcfd5713

See more details on using hashes here.

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

Hashes for renkin-0.16.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2eb3543f2171ae46ffb6d5884ff7a2f5792d23f56116487e9e386fd67384e69c
MD5 44ee0c48767bd0652ffcb5c7a0ad9762
BLAKE2b-256 6cd996b9fd6f432deff14cf718ed799bdcc16945ff8d7db288965437c8e24bc9

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f49e1c66d0c5c39e21b6b5596cdcd412ebea64a3152873646ccab04a33dd483
MD5 2df86d010eb44ac3076b15c8c949a824
BLAKE2b-256 d9785897f58853fdd38a4db40b0f9bb036c4aa9f89e599e8895049effd47dcc9

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 58cb952726765d244a6e72c4662ab43d68e68f183d1d9ea1ecf403a49a8dbc18
MD5 ec7a1582201cb566c3522d6309922ab2
BLAKE2b-256 433b921f51d42ec27c89cf3ebbe03e7ba5c483a69dc700d2840f8d1b8bb8ba38

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e02e665653dc80e47d1204d2174d2e20c23712dd60e440ca1670f4c964cd25ef
MD5 c134c455fafd7bc591e21effdd19de24
BLAKE2b-256 0b81d20799b44e579de8ad55bffe0d4f586915913e7913ba1bb80e1e68879145

See more details on using hashes here.

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

Hashes for renkin-0.16.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bbe59744e7acb08c80af6abb681dcbca9274e1b5dfa6ba68ea8e78847922a666
MD5 09a2108dac4425d202832aeb383c62dd
BLAKE2b-256 815d30b29c7dabbf27860bd68c6ef5199a37ff0eaa992b94a635e57b3ea70c26

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 754a9187190257fa7ef7fd47d39478106153ff36bac9510de2b494c088934806
MD5 d6a6a7a559c0e9728e277b28b851237b
BLAKE2b-256 78232446c3387cc7293f4cdde061daa1e4564876e41ad990353e525bbf62eb90

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 871bdef7bec9eb5992190cb5ab7577d0c5cefac258cfa89099c0a1e5063e2d31
MD5 abb91b85868ba5015d18d791b0a4fa19
BLAKE2b-256 e7520a5ba8318da776a73725b618eedc1403c3afe8fe8ca562375fd576eb849c

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dcc64fcb6eeac817c4d4cfd65848cd3014237506f4d36cdc325020185d886341
MD5 19f601036fa9b915f1e20f42f6b68173
BLAKE2b-256 0704805e048cb9f950b928a025d3143342935ff35335c426006845c8515316c9

See more details on using hashes here.

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

Hashes for renkin-0.16.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9cfb80f9dc0aad91c9d3cdf89eb66e62a9c6e716441559da9379df0ade392a20
MD5 aa43692eb9b964db1c8cf6ecd16c3c26
BLAKE2b-256 1e335347c0049f4a707c18c8853651519b63763afa8272d88f492ae57a9818e9

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50bbe24f412147c52d8452f619ca4597fa2928cdb712a5e334454eaba7575901
MD5 264d364d5c69b3f54e4a84165fff59f4
BLAKE2b-256 5cca0dca8bafab787df12c5f55f92efee5096a00d675a500b0ae4af261b058cc

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 544d8b25f454ce2330bc4e1d1ccda31c2df7ff9ab0ef507445160f08edea721e
MD5 e67ee9015e7936a22e7c9c7290b6fe0c
BLAKE2b-256 cb49df3ca6b8cee9ae556e13bb161643b16a03ae50bdcaf8ba354b122ff44455

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a752a48481dfa8f815782fc44cad593203e7c4f2d0fd5fe6658f7c3923c27cee
MD5 d11911fbc246690ebc6e21ffa5cbeb46
BLAKE2b-256 da738c6510281f5a0bbf9a749f69239831967163442da17622226163e59be613

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3e8c22c2c1ad59475fd5fced6e847365466e96c5fb30d0d0937a984848c73cf
MD5 3fb12195cef87fc4546060bb607f3347
BLAKE2b-256 e7825f2422779a603b8cb0e32e6ff001e7db0bb60d9d766f414a4637479c1bf7

See more details on using hashes here.

File details

Details for the file renkin-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for renkin-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0eec82809c00f688287231124967c6e0bbde323981dd358da30c93c53cfe0ad
MD5 45c1d8abc863d6e9d23dcf309f4b68a1
BLAKE2b-256 87c9782f9c7f4375cc30a676177ad7f0b4bea6a303e1a69427a144f49fb97997

See more details on using hashes here.

Release history Release notifications | RSS feed

0.35.0

29 files

0.34.0

29 files

0.33.0

29 files

0.32.0

29 files

0.31.0

29 files

0.30.0

29 files

0.29.0

29 files

0.28.0

29 files

0.27.0

29 files

0.26.0

29 files

0.25.0

29 files

0.24.0

29 files

0.23.0

29 files

0.22.0

29 files

0.21.1

29 files

0.21.0

29 files

0.20.0

29 files

0.19.0

29 files

0.18.0

29 files

0.17.0

29 files

This release

0.16.0 This release

29 files

0.15.4

29 files

0.15.3

29 files

0.15.2

29 files

0.15.1

29 files

0.15.0

29 files

0.1.0

29 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page