A Python library for parsing and solving OPL-like mathematical programming models using multiple solvers.
Reason this release was yanked:
Wrong README.md
Project description
pyopl - Python Optimisation Programming Language
Core package badges:
Quality and tooling:
Project/community:
Docs:
pyopl is a Python library for parsing and solving OPL-like [1] mathematical programming models using either Gurobi or the open-source SciPy (HiGHS) solver. PyOPL supports a rich subset of Optimisation Programming Language (OPL) syntax for linear and mixed-integer programming.
[1] Van Hentenryck, P. (1999). The OPL optimization programming language. London, England: MIT Press.
Installation
The GitHub project and importable compiler package are named pyopl; the published PyPI distribution is named rhetor.
Install via pip (recommended):
pip install rhetor
Or clone the repository and install locally:
git clone https://github.com/gwr3n/pyopl.git
cd pyopl
pip install .
Dependencies are managed via pyproject.toml and are listed in requirements.txt
PyOPL requires Python 3.10+
You can use either Gurobi or SciPy/HiGHS as the solver. Both solvers are selectable in the API and the Rhetor IME. PyOPL provides robust support for tuple/nested tuple data, advanced boolean logic, implication, and field access in both models and data files.
Usage
Solving an OPL Model
You can use the solve function to load and solve an OPL model (and optional data file). The function parses the model, performs semantic validation, generates backend-specific code (Gurobi Python or SciPy/HiGHS matrices), applies logical encodings (including implication and != big-M or indicator formulations), and executes it. Choose the solver with the solver argument:
from pyopl import solve
results = solve('model.mod', 'data.dat', solver='gurobi') # Use Gurobi (default)
results = solve('model.mod', 'data.dat', solver='scipy') # Use SciPy/HiGHS
Example
Suppose you have the following files:
knapsack.mod(your OPL model)knapsack.dat(your data file)
You can solve the model as follows:
from pyopl import solve
model = "knapsack.mod"
data = "knapsack.dat"
results = solve(model, data)
print(results)
This will print the parsed AST, the generated solver code, and the solution output from the selected solver. The solve function returns a dictionary with the following keys:
status: The status of the optimization (e.g., 'OPTIMAL', 'INFEASIBLE', etc.)solution: A dictionary of variable names and their values (if optimal)objective_value: The value of the objective function (if optimal)stats: Additional statistics (e.g., MIPGap, Runtime, NodeCount, IterCount)message: Any error or status messages
Below, we provide model and data file for our knapsack example.
Example contents for knapsack.mod:
// knapsack.mod
int+ n = ...; // non-negative integer parameter
float+ c = ...; // non-negative float parameter
float+ w[1..n] = ...; // indexed parameter
float+ v[1..n] = ...;
dvar boolean x[1..n];
maximize sum(i in 1..n) v[i] * x[i];
subject to {
sum(i in 1..n) w[i] * x[i] <= c;
forall(i in 1..n) x[i] >= 0;
}
Example contents for knapsack.dat:
// knapsack.dat
n = 4;
c = 10;
w = [2, 3, 4, 5];
v = [3, 4, 5, 6];
See examples.py for a repository of examples.
Function Reference
solve(model_file, data_file=None, solver='gurobi')
model_file: Path to your.modor.oplOPL model filedata_file: (Optional) Path to a.datdata filesolver:'gurobi'(default) or'scipy'
The function returns a dictionary with solver results and prints:
- Parsed AST (Abstract Syntax Tree)
- Loaded data dictionary (if any)
- Generated solver code
- Output from the selected solver
Return value:
- Dictionary with keys:
status: Optimization status (e.g., 'OPTIMAL', 'INFEASIBLE')solution: Variable values (if optimal)objective_value: Objective value (if optimal)stats: Solver statistics (MIPGap, Runtime, etc.)message: Error or status messages
Notes
- You must have a valid Gurobi license to solve models with Gurobi.
- SciPy/HiGHS is open-source.
- The library is designed for educational and prototyping purposes and supports a rich subset of OPL syntax, including advanced tuple, boolean, and logical constructs.
PyOPL IME
PyOPL includes Rhetor, a GenAI-first integrated modelling environment (IME) for creating, revising, solving, exporting, and versioning OPL models and data files.
The IME features:
- GenAI-first modelling workflows for generating models, revising existing model/data pairs, asking questions about a formulation, and explaining solutions with OpenAI, Google/Gemini, or Ollama models when configured
- Optional visual prompt attachments for supported GenAI workflows, including images and short PDFs
- Session-based model version tracking: each run/request can keep a timestamped snapshot that can be previewed, diffed against the current editors, restored, renamed, or deleted
- Output and session panels for reviewing recent runs, generated artifacts, model/data snapshots, and GenAI interactions
- Syntax-highlighted model and data editors with open, save, save-as, undo, redo, find, and replace
- Integrated solve workflow with Gurobi or SciPy/HiGHS selection, solver logs, elapsed-time status, and optional solver-progress display
- Export support for compiled Python, LP, and MPS artifacts where supported by the selected backend
- Light/dark themes and configurable editor font sizes, with settings saved between sessions
Launching the IME
Running PyOPL with no subcommand launches the IME:
python -m pyopl
If installed as a package, the pyopl console command can be used in place of python -m pyopl.
This opens the Rhetor IME window. You can open .mod model files and optional .dat data files, generate or revise formulations with GenAI assistance, edit them directly, solve them from the interface, export generated artifacts, and choose either Gurobi or SciPy/HiGHS from the Solve menu.
Sessions and Model Versions
Rhetor keeps an IME session history in a .pyopl_session file in the current working directory. Session entries preserve output history and associated model/data snapshots, so you can track how a model changes over an interactive, GenAI-assisted modelling session. From the session list, use the context menu to preview a saved snapshot, diff it against the current editors, restore it into the editors, rename the session entry, or delete it.
PyOPL CLI
PyOPL also includes a command-line interface for solving models, exporting generated artifacts, and using GenAI helpers from scripts or terminals.
Basic usage:
python -m pyopl solve model.mod data.dat --solver highs --out json
The CLI supports:
python -m pyopl solve <model.mod> [data.dat]to compile and solve a model--solver highs|gurobito choose the backend solver--out json|py|lp|mpsto print results, export generated Python, or write LP/MPS solver files--out-file <path>to write output to a file
Examples:
python -m pyopl solve knapsack.mod knapsack.dat --solver highs --out json
python -m pyopl solve knapsack.mod knapsack.dat --solver highs --out lp --out-file knapsack.lp
python -m pyopl solve knapsack.mod knapsack.dat --solver highs --out mps --out-file knapsack.mps
User Guide
A comprehensive User Guide is available in the docs folder of the repository.
License
MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 rhetor-1.9.0-pp311-pypy311_pp73-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp311-pypy311_pp73-win_amd64.whl
- Upload date:
- Size: 2.4 MB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94800868de61efecfbec6b407a8b5a6ccdc52e692da52fe4cedcfc2939e27262
|
|
| MD5 |
3ed47574143dad2a3aff91db11e1d9e9
|
|
| BLAKE2b-256 |
0cc9e1788c593cc3fb4afb47e696785158b0667979818833843106f892fca923
|
File details
Details for the file rhetor-1.9.0-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7ce00f02468691305d4587a5f93979d50d4f22397932e336f7f49c21a514a22
|
|
| MD5 |
bd23f18998c8011d08f22df2967942a8
|
|
| BLAKE2b-256 |
fcbd5bccfdd3344b5b4479e1e31fb3dd04e55a0eb8c04305a671e50396da22dc
|
File details
Details for the file rhetor-1.9.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 3.0 MB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6d5aba9a07e9693dd038f1a861628852e7169a0d22d4b3e55a9a2078a4918b9
|
|
| MD5 |
c017143c186f3587d6085a16c6d98ce3
|
|
| BLAKE2b-256 |
50c83aa7ead400c808f307f8ae1e13f55a8d190638291dac26884df65ad9c491
|
File details
Details for the file rhetor-1.9.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.5 MB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0137c202c2de474d5a80371b3e377592eebb0ce070f4dce760c5501ce01acd1
|
|
| MD5 |
0167fb8cb2605f4b404b1412b60dd3df
|
|
| BLAKE2b-256 |
81e675ede09c68fb693724ff2546216f13218821d9c20616f7639aee996f710f
|
File details
Details for the file rhetor-1.9.0-pp310-pypy310_pp73-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp310-pypy310_pp73-win_amd64.whl
- Upload date:
- Size: 2.4 MB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
520c597e27f0e70da56bd274b4ad95f773172ee013e2058e78f38f2b80ceb6e0
|
|
| MD5 |
ac3bc0b99562adf64f1dfdb4892ae4d9
|
|
| BLAKE2b-256 |
185ee5d349b6c0fcad70e7b8afee0dccc5a90f595eb2b011e229f9c931187fb6
|
File details
Details for the file rhetor-1.9.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03ee69c81ece8c6856a5d0512cbc04c80aecf3bcdf72971bc03dc0e746aef5b7
|
|
| MD5 |
c1d7d7cc894cd1b2ae7116ae073b0e99
|
|
| BLAKE2b-256 |
b56589f4f6b279ca2a8b6343867334b09623c6316a798678b971ef48c91226e3
|
File details
Details for the file rhetor-1.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 3.0 MB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa57b99828aaf883c7b725bb6f9206381e32c5e0d3309e281ae54c6a1348afbe
|
|
| MD5 |
2de7f66590763d32e5b5aee8cbb1bf27
|
|
| BLAKE2b-256 |
5a93de26fbf9acd45f9b7ccb33dcefe2498cc41eb8e4b1a676a49d61dd27236d
|
File details
Details for the file rhetor-1.9.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.5 MB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a44ad341d958152cc8d61f24f38a59d292262d87c918696d620ec43ea04d85c
|
|
| MD5 |
ee380ac8ff8f47904552a25e0c5cf8f3
|
|
| BLAKE2b-256 |
ce78f583ac2ddc524c3584151f9ae73069556cec155b3150aed5194b07cea934
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2f8db92932050ba94ea93a3956096666ae003e0f0f657bcf186dbd61e9db433
|
|
| MD5 |
6d2b508d6c8680c980e5cb1e6432026c
|
|
| BLAKE2b-256 |
50f69eed504676acefb3bd9c7bf26f6a8102d7cfe678b7ab01209739abc0927b
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-win32.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-win32.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e968b8c8806068250624a92fa740024d4181ede718f53c025f67f477cc6b174d
|
|
| MD5 |
629f75112aeb1e3b2afe7a78e342bfd7
|
|
| BLAKE2b-256 |
7673a83811298e4ecb34e37f1722c07bb7b6caccf817b5c98aa1c3ed21938747
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 20.6 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d79fc046b59d954e3dc19fd46cce418a5860375d80cb6f629631624947c8d46a
|
|
| MD5 |
af6e244184b66673bb1678a7ffcde287
|
|
| BLAKE2b-256 |
9aee6b2228a9f6c13c91f62f68a980ed53c7663d01f0697a30bc7a88d63cc9c2
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 19.7 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6937e371176a18d01c806c8c238ef738ffc6661b7a2a390469d1cf62cbe28554
|
|
| MD5 |
88044698c1f695fad5a5a8b09208502b
|
|
| BLAKE2b-256 |
21f97ac4517700d19c954ffd19e017541b5dcd2adcb222bf45c71665742655cb
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 20.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b53a71a1809d6770a6e64bf7c87c64316406047820d8aebe458d62ed73ba330
|
|
| MD5 |
b17b8cd42606972a93280ca1f4213ab1
|
|
| BLAKE2b-256 |
e3325604ce3330a4abc0756b3e98ab3e70de3fd171e6344e6f9d0d4fb5eaff33
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 18.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df43aa6b5ea376c123a2f6ecc541e8c36063d86a7015fefe03f82a458fcec9b9
|
|
| MD5 |
ec4c9283569c7f864fba57113a73f01b
|
|
| BLAKE2b-256 |
21babef842cbad0d77c680232e4d682712bf1f55fcb8711a8d50eeb7652b2360
|
File details
Details for the file rhetor-1.9.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84b2f60863e7ecd0355756f48b3fdad208ed45ec8f015d2310c1f3f502461588
|
|
| MD5 |
94712d2f308ac14219b1684d0001463a
|
|
| BLAKE2b-256 |
1146802afc62f652e65d5fa56c4f1fce570b618ea9d8a880390dc0beda32ad55
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0580739b6e256eb8b225a18ecf2bcc748a475b2a836d68d9ec56859888aa7134
|
|
| MD5 |
8cb76ba1eb9490e6d91ca6150a42b731
|
|
| BLAKE2b-256 |
5bf51121d4e837fe58c12a7b7b38e33fe14f237ff62c0a62ddd47c57d34d8ed7
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-win32.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-win32.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64fd5599c41d0b8b506d5d03894f8a3eeb0e6b78cacdd801874e6b562b4ee63e
|
|
| MD5 |
a8b5518e5ce793edc59fcd7dea038e21
|
|
| BLAKE2b-256 |
f0c5e0ed213545a569605f0f345b42d64807c922fadf2f015ff67308b554b30e
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 20.7 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4bd76982bbd673ecd3869ea42d5adabd39900972bd55821db6f1de7266ec1c5
|
|
| MD5 |
0c539e53cf81c67c04a84ac1ac0d735e
|
|
| BLAKE2b-256 |
a956898b9d0446cc7fc3e2c3be4278ad38f8981bdd14e1cd159b5358e21ab178
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 19.8 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b492b73d5c8ebd6d9b4dc63d06c282b7e870d4e23fc8715fdfb88966af680e
|
|
| MD5 |
56bf7a43d17977bd94451751497ab509
|
|
| BLAKE2b-256 |
5ce3807f170b8907db880d2588fece65172b8acf63928426286bfdc80349693f
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 20.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5bfecc2e68a7b3e870bb36a77b9cd033a73db00fa1865d5b00d8ddd3427fc73
|
|
| MD5 |
69dd9af542fa5372fd315b2e42b9a67e
|
|
| BLAKE2b-256 |
0ab51bcc54e681aca6fcd53b43de7f3d3218dff079452bfa809db8bf20b3507a
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 19.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a5e2cc016714818b65561dcd27b75a7b6582a5b4e540132111b23649f8ed0b4
|
|
| MD5 |
5f1589dd17d1e06bc0e1ec47a351a1da
|
|
| BLAKE2b-256 |
0dc79827fad6dd474abbbad98060827a8ebf0a19659dd5fd33e301fcaf505272
|
File details
Details for the file rhetor-1.9.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cec1798ee75999c141e101cc9f77b2438fb799ead03745e6cbb289419faad27
|
|
| MD5 |
d2136d925a77d1e968672e339ad7984a
|
|
| BLAKE2b-256 |
74d8e49b7d386dcfcebb265a327762aa84f09a9dad6d659e176905808d17c2bd
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c987f4c3e285296035983a1987f9e53e2b7abca4bf556e9f20b6bb38a4b070a
|
|
| MD5 |
7a2c8595a77e06396b2e1ff3b469b594
|
|
| BLAKE2b-256 |
0c539ebe8518789f916d44003e7893b1798691ff0c11109ebb19a632c86ed52a
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-win32.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-win32.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
027ddd634af7e4c8c2f5f5ab71dd75482690bc30a50238f84a148426d4090273
|
|
| MD5 |
d4d8cfd6a6ca5c789830b89c0e8cb06b
|
|
| BLAKE2b-256 |
98f86a463cc6d3057763029132ad7375d0ad3ab279860d6e2880a5b1827e06cf
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 21.8 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48ae712aed6709e9e2ff7fd1f71bf0d5f0a7486d36740d493898a317ad254a2d
|
|
| MD5 |
8182f2c89402e6319ebb1a17f3213bdf
|
|
| BLAKE2b-256 |
569dcb9439dca0eee6ad11fcd32d91b4ab899054c9c32237200d21c6c8b25ee4
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-musllinux_1_2_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 21.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
237ea7807e1003c777a0457e3c2c96fb4ed554a189f150234733eb66638490ba
|
|
| MD5 |
c1927c6c3cbf7c7d2ecfb06dd4300657
|
|
| BLAKE2b-256 |
dc01959f219631ffc7ad655aaea26fa360ed818222dfa8abb492038da363007f
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 21.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0fe01c870cf124967daef34cbc5f33f8eb2c35e560e7f18ab495bd7dd497406
|
|
| MD5 |
54b08e233e991df8404b098803456085
|
|
| BLAKE2b-256 |
845f7ecc6a9f0864984e2ef7e8e6d5c9f108dbd421e4384655ead6c774da738f
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 20.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4f462d4c83ddeefd4c7eb808f226373125155a51db28f1e2d4095d93d44f478
|
|
| MD5 |
e836e7fa9be3ce3244c46931f83a7191
|
|
| BLAKE2b-256 |
68f0bf523dfe9e1f2f9e340f2c2bb3dfec4adc99e11a9603040028e6d2984032
|
File details
Details for the file rhetor-1.9.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72f21a0fe47ef922fe9cccb9c876e6c23cd48c900bba01c967259bda4483ee45
|
|
| MD5 |
f3d7f67a32d72c0532cfd30ecc9f3355
|
|
| BLAKE2b-256 |
5a847d8ced546faf313b58f2eb293ce7cbe7377e89e1362e4f13bd152d15065d
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88de3026b5aa45b2baf328d9a6eb010bf6422ee02ff32e0340a1c7b91ef30c6e
|
|
| MD5 |
6b969a0c11e693685ece13aa6814753b
|
|
| BLAKE2b-256 |
363c2a293f653866afa0af0d0c15539ae1dbb1a191b271da358365794d715af9
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-win32.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-win32.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae7e337146a16a4515480a9e3f5ff73cbb2881f5269cef97d83b443a323be5d9
|
|
| MD5 |
83e53b6b20e233d89bf8158f25e1b992
|
|
| BLAKE2b-256 |
735aa89e279d25ec130acac4db2feeb47196fe1e73044d15d4d9d432e9990fe5
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 20.2 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e5ec91bbbcf824e67d8162672c305902843afde35f9cc5104d099bfaea8da05
|
|
| MD5 |
9d8ff62ae225301f067ac39d30011d0c
|
|
| BLAKE2b-256 |
ce3fde74a4ff3419f8dc7472258c95069d2292dc707fea16420dccb95325d926
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-musllinux_1_2_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-musllinux_1_2_i686.whl
- Upload date:
- Size: 19.6 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
335e05905084997635ad4e0a22577426f6b11a80c4bd5d49fb2a11999c8160bf
|
|
| MD5 |
b546a116d0ff6075c5dd4f1d55267405
|
|
| BLAKE2b-256 |
ea57e5fe69c78b8d0702ad5c3e6da3d9c6441dfbd5f5503e6352284b0703547e
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
342b23a1e2943deee38e068428c396d47f28547932e3c3368ac4d19f7e2fb06f
|
|
| MD5 |
0914fc9368c1ca58aeb5ffb35d95a5df
|
|
| BLAKE2b-256 |
0788d5f8c5eaa4a39486f2095402772a4dd083130f0b41321562a86b711b874e
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 18.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a7d0c26d8270c506bd46c7fd4d25a2e9af8b3d604539d90b58c360d2c437829
|
|
| MD5 |
dc5895a228b8579ba0926e14ae683f44
|
|
| BLAKE2b-256 |
9deb772504918d6cbade74a296a26a1357ddb61e6e28daea7e3ab80dc3eb20f7
|
File details
Details for the file rhetor-1.9.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: rhetor-1.9.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a1c06cea567d89fad8267924d2144e62d6aef4c32027111564601af6f4a401c
|
|
| MD5 |
50ea1f57976fc4ec85515327930478ae
|
|
| BLAKE2b-256 |
0bf35c0a109bf1126d11b228319c8b2d2e0022c9869cab11e53fd4b48f29723f
|