A simple, opinionated task manager
Project description
modak
modak is a simple-to-use, opinionated task queue system with dependency
management, resource allocation, and isolation control. Tasks are run
respecting topological dependencies, resource limits, and optional isolation.
This library only has two classes, Tasks, which are an abstract class with a
single method to override, run(self) -> None, and a TaskQueue which manages
the execution order. Additionally, modak comes with a task monitor TUI which
can be invoked with the modak shell command.
The TaskQueue has been written in Rust to get past issues with parallelism
and the GIL. Instead of using a thread pool or even a multiprocessing pool,
the tasks are serialized into bytes and passed to the Rust-side manager, which
handles dispatching and execution. Each task is then run as a separate subprocess
spawned in a Rust thread. This means the only way to share state between tasks is
by writing to an output file and having a task depend on that file.
By default, modak scripts will create a state file called .modak in the
current working directory. This can be changed by setting it in the TaskQueue's
initialization method. The modak CLI also supports an optional argument to
point to the location of the state file.
Features
- Topological task scheduling
- Persistent state and log files
- Resource-aware execution
- Isolated task handling
- Skipping of previously completed tasks
Installation
pip install modak
Or with uv:
pip install modak
FAQ
Q: What do you mean by "opinionated"?
A: The library is meant to do one thing (and hopefully do it well): run tasks
and write output files. Some users might want more flexibility, like writing
to a database or having a target that isn't written to at all, but that is
not a goal of this library. If you need this level of control, try airflow
or luigi.
Q: Why make another task manager?
A: luigi is nice, but I've been annoyed by
the poor type hints for task parameters. It's also very confusing for
first-time users, and has a lot of features that I don't really think people
use unless they are working with products like Spotify. I built modak with
research pipelines in mind, so I wanted something that was so simple to use,
you don't have to think too hard about what you're doing and can focus on
the data instead. I haven't used airflow much,
but it also seems like a tool intended for enterprise. My goal here is
simplicity and a minimal learning curve. There are only two classes. luigi
has the added annoyance of running a web server to visualize the state of the
DAG, which is very tricky to use on a remote server if you don't have the
proper permissions.
Q: Isn't Rust a bit overkill?
A: Rust isn't as scary as it sounds. I don't actually care much about memory safety (although I'll take it for free), I like the development experience.
Q: Any sharp corners?
A: In development, I've found that libraries that do something when imported
need to be handled with care. Such libraries should be imported inside the
run method of the task. This is because the task gets serialized and sent
to the __main__ module, but the imports from your code are run before
serialization. An example of this is the loguru library, which sets
up the global logger on import.
If loguru is only imported outside the task, the logger instance will have
no sink added because these lines
will not be run when the task is deserialized. This will not effect most code,
it's just something to be aware of.
Examples
A simple chain of tasks
from modak import Task, TaskQueue
class PrintTask(Task):
def run(self):
self.logger.info(f"Running {self.name}")
t1 = PrintTask(name="task1")
t2 = PrintTask(name="task2", inputs=[t1])
t3 = PrintTask(name="task3", inputs=[t2])
queue = TaskQueue('example1')
queue.run([t3])
Fan-in, fan-out
from pathlib import Path
from modak import Task, TaskQueue
class DummyTask(Task):
def run(self):
self.logger.info(f"Running {self.name}")
for output in self.outputs:
output.write_text(f"Output of {self.name}")
# Leaf tasks
a = DummyTask(name="A", outputs=[Path("a.out")])
b = DummyTask(name="B", outputs=[Path("b.out")])
c = DummyTask(name="C", outputs=[Path("c.out")])
# Fan-in: D depends on A, B, C
d = DummyTask(name="D", inputs=[a, b, c], outputs=[Path("d.out")])
# Fan-out: E and F both depend on D
e = DummyTask(name="E", inputs=[d], outputs=[Path("e.out")])
f = DummyTask(name="F", inputs=[d], outputs=[Path("f.out")])
queue = TaskQueue('example2')
queue.run([e, f])
A complex workflow
from pathlib import Path
from modak import Task, TaskQueue
class SimTask(Task):
def run(self):
self.logger.info(f"{self.name} starting with {self.resources}")
for out in self.outputs:
out.write_text(f"Generated by {self.name}")
# Raw data preprocessing
pre_a = SimTask(name="PreA", outputs=[Path("a.pre")], resources={"cpu": 1})
pre_b = SimTask(name="PreB", outputs=[Path("b.pre")], resources={"cpu": 1})
pre_c = SimTask(name="PreC", outputs=[Path("c.pre")], resources={"cpu": 1})
# Feature extraction (can run in parallel)
feat1 = SimTask(name="Feature1", inputs=[pre_a], outputs=[Path("a.feat")], resources={"cpu": 2})
feat2 = SimTask(name="Feature2", inputs=[pre_b], outputs=[Path("b.feat")], resources={"cpu": 2})
feat3 = SimTask(name="Feature3", inputs=[pre_c], outputs=[Path("c.feat")], resources={"cpu": 2})
# Aggregation step
aggregate = SimTask(
name="Aggregate",
inputs=[feat1, feat2, feat3],
outputs=[Path("agg.out")],
resources={"cpu": 3}
)
# Final model training (expensive, must be isolated)
train = SimTask(
name="TrainModel",
inputs=[aggregate],
outputs=[Path("model.bin")],
isolated=True,
resources={"cpu": 3, "gpu": 1}
)
# Side analysis and visualization can run independently
viz = SimTask(name="Visualization", inputs=[feat1, feat2], outputs=[Path("viz.png")], resources={"cpu": 1})
stats = SimTask(name="Stats", inputs=[feat3], outputs=[Path("stats.txt")], resources={"cpu": 1})
queue = TaskQueue(
'example3',
workers=4,
resources={"cpu": 4, "gpu": 1}
)
queue.run([train, viz, stats])
Future Plans
I'll probably make small improvements to the TUI and add features as I find the need. Contributions are welcome, just open an issue or pull request on GitHub and I'll try to respond as soon as I can.
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 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 modak-0.3.10.tar.gz.
File metadata
- Download URL: modak-0.3.10.tar.gz
- Upload date:
- Size: 46.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
096306096cd4baed03ebb5e7ffbbdcad290e7809874fde3820468017883725f9
|
|
| MD5 |
7933e150bd5ce3274a38da7fe43078e9
|
|
| BLAKE2b-256 |
d9af1e06348e0ae4d946d1115768c25808c382be0883a2c5256ab9287bfe00bd
|
File details
Details for the file modak-0.3.10-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b43f494d57f6eeaf409a69cee64e7b4e702f2702e3fc77e1ed12624a17853049
|
|
| MD5 |
c110463c69600d460cf5d01eb64323ea
|
|
| BLAKE2b-256 |
38327ecf77a72de6cea51f2beb05faeeee0622b4252fc3c76baa8e3e7bb37e7b
|
File details
Details for the file modak-0.3.10-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23796cb34f1a68a039c336c03ce21c3885c91fd84ac5208ed823d0443b69cc43
|
|
| MD5 |
1270b8f646ca12ae12ed6482f1518b00
|
|
| BLAKE2b-256 |
aea7e5232112cd6e83e376207e9c66de66b3665dfcd22a1ff5d185cb8ab8d39d
|
File details
Details for the file modak-0.3.10-cp313-cp313t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cf0bf3544b031a385df7436f11e7325a01345bb0f39823fa78cc2f19aa268a7
|
|
| MD5 |
d58571a7aafe0bd3d023a74392c62558
|
|
| BLAKE2b-256 |
82d1b1a508435b39ba7be9e1b604b592fd08ddf31c8dca9c38fae95057f74715
|
File details
Details for the file modak-0.3.10-cp313-cp313t-musllinux_1_2_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13t, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
174b8f96fbd4b6a1d6ce766283cc297432bc5c1140a2c56da378c6ac2025af14
|
|
| MD5 |
1627029715c6381db415fa88892f0c35
|
|
| BLAKE2b-256 |
0153126d465336ee46acc6ce638e4acc132a1dd318e8ec9f0e4bfdd6c7f5bd72
|
File details
Details for the file modak-0.3.10-cp313-cp313t-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13t, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7de3bdb8a253bb914c630faae3ef608d7bbeebb2878141aef71de3d0dac3ae26
|
|
| MD5 |
1f1fbdf6dddd91f33e22ab18c6d8238b
|
|
| BLAKE2b-256 |
38776caffc55a367becaa010986296a4a0f57264bd7903007485da08f3f5e45e
|
File details
Details for the file modak-0.3.10-cp313-cp313t-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13t, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5395517ab2ea9cb97e91834629ac18c5669116e78e38b574180cc0bde1d1211c
|
|
| MD5 |
a53595d1f4b59be83ba77d1eff66d17a
|
|
| BLAKE2b-256 |
b165cf1ea8090d5743cce968981ce7083236d7aa8555e2982cacb8d2740dce10
|
File details
Details for the file modak-0.3.10-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d5a3a6e66f976d4dd327e887cb5d36804e6a265ea1ea2d05cc5c0587ced4f1d
|
|
| MD5 |
010f8d8663b0d2a174eb5902ebf05068
|
|
| BLAKE2b-256 |
7e130bbb6f8f560fd3a055bb622ba7613de2211740cd2c7a2530526bb9ce62a8
|
File details
Details for the file modak-0.3.10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
779c81c480697becbbe18292b46743fac23467607353cb6410b286a2bf4c3a6c
|
|
| MD5 |
6d41944ffa78eef8f2667078c301e6f8
|
|
| BLAKE2b-256 |
ff0a57a47954a79b95b84ecf2554e5e75b7b7193f8fe24722d84877e67670532
|
File details
Details for the file modak-0.3.10-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e0ccd747a21e5bd3d8e601d4313fc81295f90f396bf3a03b01929561eb2e51
|
|
| MD5 |
42d62553fa2a2767c9a16683d4d7853b
|
|
| BLAKE2b-256 |
4db8c4689d70a54ed7de10bee69f1414996cd3d43116420d229f84f9bb8d1332
|
File details
Details for the file modak-0.3.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d6f3a00cc672c10949fe385150b430a3d4515cc6948b4957bd3c63878a5541a
|
|
| MD5 |
81f8f72ff6363bc98850a9779c36bd76
|
|
| BLAKE2b-256 |
f3228309a7584419e1bf9314438dfee263eaf7b0d177168701d4b05325631b8f
|
File details
Details for the file modak-0.3.10-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db0729743ee1bfff40cca17f32f72d1733b4b56408902781e5bae5fb098718f5
|
|
| MD5 |
34fbc32748d19daa2a9e565c815c0f6c
|
|
| BLAKE2b-256 |
bfabffe13e8304fb3322dbec14fe8c5df0b5a871b26cb850680d6ad8d75a8cd0
|
File details
Details for the file modak-0.3.10-cp313-cp313-win32.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-win32.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3b0963804508f2669429b893af7714077ce0eac467247af7aa8110ae61cd282
|
|
| MD5 |
d7197b5b1b2a16c2fa7bbe63f05fcf53
|
|
| BLAKE2b-256 |
5e5109a965d6e096e78621c5984cd15adcbd57be91a9efcc74d200f89c8112a7
|
File details
Details for the file modak-0.3.10-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc2aadd26e944f69b17bfbf181912e0170cd404554b4b16d80aae6780a0e844f
|
|
| MD5 |
10eba170d9a778ba9c5c6bb16f638232
|
|
| BLAKE2b-256 |
1534aea100090da4b647cb3ad1bb3d4460a45323fd0948f23e484180bae711ff
|
File details
Details for the file modak-0.3.10-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d84353554e605309d1478739cb8869872f278f4f45a058fe37868f805fbc3417
|
|
| MD5 |
22271c8ca55d0c1e4ea08a611656e466
|
|
| BLAKE2b-256 |
1e3438e32fc0e3d4e919a15f68c5c32190738aef9feed1f7212fa3611c51f6a1
|
File details
Details for the file modak-0.3.10-cp313-cp313-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa3e4cb75b6c78507a09684e7f9f89fdaa308489a0ddc731d391e88b7e801c96
|
|
| MD5 |
839f5076e6bdc44ca80e6adddd666ad8
|
|
| BLAKE2b-256 |
c26b2a920d325ef550db84b6a6b052d6c0ffff4be980ca58c839632934d897f8
|
File details
Details for the file modak-0.3.10-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1703b093cf121cefe88e6fa0b5c363d614103f2eb0bead94af22c579684c1fbb
|
|
| MD5 |
e2d42292fd503b1ed4f3190fd0fdbd9d
|
|
| BLAKE2b-256 |
cdfbe3e6eae91a3d494b18be4af91992759f26691253ad5f74aac83429e6f80b
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
029ba45d27330169e2cc7129d619ff1b1b8e4c05c49f36dd9f5d83c6134f4dc7
|
|
| MD5 |
b76dec1c51999d33a97537b47a510bb8
|
|
| BLAKE2b-256 |
25279bc3bba6a7da5582f98fab8fc4fd0590505da69de4866ff421e99ab6dc73
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18b3299a2c059582f96975926768ce5951864859b773a9b7e3cfc9924745b63b
|
|
| MD5 |
576c7d10f30ee270be1728b29aa07176
|
|
| BLAKE2b-256 |
00316a95c4ac8df93e7a9487ef90280348774e8a169179c79ad924c97150572a
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2524ba7b96cf56e5088c31b2c9766876572819b0277a8a5a3b281db5123f5f3
|
|
| MD5 |
0844e0878d43a83887cb10eb42646dcb
|
|
| BLAKE2b-256 |
9cda38de496245f7ce20028a08617dce9456f75c4b30859352952e51fa7e67e0
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dd632aac8cf14ca0919d2af1d20e041168e8a0ce11b8025e8d734eec02e30c0
|
|
| MD5 |
943d56784d89bd998b80f2dc79a41ea7
|
|
| BLAKE2b-256 |
f7ba5f7e75ce22a000fc96c483239d097ee037896d2364d8483602db0af37fa9
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15801165ebd68f32db961858f5b233477aada024979dc3dd757a5a790b11150b
|
|
| MD5 |
e298a01f922fc946e4533343b06cd9b6
|
|
| BLAKE2b-256 |
29e23bb2e9fe014c3c006a6d531fabf0ddc30497ba2edae6d74662d68a663748
|
File details
Details for the file modak-0.3.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6fc9769f353c29f0c4e6c3b61e0f4a81d4646d1485f808b0f1a0ef289cbe72e
|
|
| MD5 |
9a6f15b4766a89e5cf5ad96e51468a01
|
|
| BLAKE2b-256 |
015dce8fdf6382337fadab2d21d8fc8923f7a2a491a90f073c52111554335d85
|
File details
Details for the file modak-0.3.10-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da6c0eb9ad8bf955d6c0aa32896726660ec6bc4c52616ccc9221395b0b2b18c0
|
|
| MD5 |
0344d5b50efe9924f148d433ec5fedf6
|
|
| BLAKE2b-256 |
45ed613fd9fe6fdf0cfd85a29f514fbbe423401111bce8ecf76fb0fb3836e205
|
File details
Details for the file modak-0.3.10-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef13dff2e500aff7c88e9ec16843a51ab46eb240b0c8589794a8c2f3924bf765
|
|
| MD5 |
7b85531c3f3b78d4bd77aad81656a2f7
|
|
| BLAKE2b-256 |
248f67ba4b289fef2c1c9079cf9a52c545e92833c0245d3ba7106b18530556ee
|
File details
Details for the file modak-0.3.10-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d2af70263e859414d0b9e918306927c7260b67df45b6fe972ef33242f8c1af4
|
|
| MD5 |
68fe7831b46ca7abe8b1d5e5c173d331
|
|
| BLAKE2b-256 |
cf5f27e2e00fb432b8938e6768efb11165abbf80c524b7052130b20b62c5f57e
|
File details
Details for the file modak-0.3.10-cp312-cp312-win32.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-win32.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e30fabaf5e555a34f795cf266f4b48b847619754d4c82a5c6514a44ac169bed
|
|
| MD5 |
7ddc1dd2d0dc8f2f762eaa791a0b9395
|
|
| BLAKE2b-256 |
6f5a60a6276db392f3ada37aca50a3be2c2a8f8adb62bd36e25dce9d2c24d7a0
|
File details
Details for the file modak-0.3.10-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17b5b617f7e6531a1b5714ce668cc6c4f82c92ad7dd2903cd6dc63ba5ab0aa9d
|
|
| MD5 |
8f3ddcb3d88f8706e5efa2e77d74f07a
|
|
| BLAKE2b-256 |
154867834c274922aa3c18f2ef44ee40169437563438e408df9451b0ec0307c6
|
File details
Details for the file modak-0.3.10-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f694510d8da3a97697db9d4d11056468a75a4d3c52ec7a709dbfc76b230d7274
|
|
| MD5 |
acd1691ece85177af11ce05580e89a49
|
|
| BLAKE2b-256 |
6874e1118a199c190b48f8bc124b584cc6d583c4c07c9007ff1edace7636a2b6
|
File details
Details for the file modak-0.3.10-cp312-cp312-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3937caa6d7314cc65c8b92b96f7008f625182218172c5813b0de27f7a24cf3ae
|
|
| MD5 |
8736623cac207b23c686f75867456e60
|
|
| BLAKE2b-256 |
70f89de13b95a23c01eb48e329529e8abbf4f848e0a9fd9e2f2032f7455356a5
|
File details
Details for the file modak-0.3.10-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2ba35b6d7da59406213284b1cf78ec67d820354c7dee1e913efb80c824cec7a
|
|
| MD5 |
b64be78d214d1eaebd84b94cdc8be3e5
|
|
| BLAKE2b-256 |
8ad69472add04906caf21b139d9d707cb4027dc6ecb1ed8093f98719c74225f4
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0093f3bb3070f865bc8f091a162808bce74f04c423fac723e3ba7aef167711ce
|
|
| MD5 |
5d0245012d838e977c0dd3a647c45820
|
|
| BLAKE2b-256 |
92b20c3a0d4baf05330ab9fbfd1e0ceffe7170bb45d10cea8a02914e3501715f
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdba0db549a0074a003991c2a9612ed1fe076ade52ab0636824429823e0f0378
|
|
| MD5 |
f3d844a911edbb10b96d8088dca76d0a
|
|
| BLAKE2b-256 |
9247960bede732bc6e91f3c576d1b6dfb923ca6b748d7da4e1d905f42478e4a4
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e45c118aa61ac4e51b321aa4a58f3e570dc111d63ad3145d7b907fd511246c29
|
|
| MD5 |
0b66f2edb3ac172a1524817f5ee9ef8b
|
|
| BLAKE2b-256 |
1e6bccab0cf45f6c0045a7c261d0efe043e221608ccf54fa3da1240c16c3f67e
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef432dd1879acd4bc05cd61424ea9f88fe60e10bc5f16c7a4c5afa110095bdbd
|
|
| MD5 |
40fadaee17ae58b12a97278aa4157912
|
|
| BLAKE2b-256 |
bb5a0a24bdba8b6b8cb565d42d25d698f6db81348773da49d2655534b5737216
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1572347d401af4aa0da344e7680c6d813b8e2d572e66839b3f48394d46e487f
|
|
| MD5 |
e1f6d30f86fd5cb9e68718f243ad32a4
|
|
| BLAKE2b-256 |
92ef89c5cab4520257fbc6f91463dd8d8e4f87da0230414de8cd30129a700b5f
|
File details
Details for the file modak-0.3.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d48f7c1384b58415f6aab36fbbc4ae5828e722b9a39dab3fa79f075974dc027
|
|
| MD5 |
87173108708736e3fb0f3cfa1ff11583
|
|
| BLAKE2b-256 |
04eb6d371f2f7cee2453e66190f18d021a6137bec731e57ca816e91d6e967f12
|
File details
Details for the file modak-0.3.10-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee1f0f0deff4ecc3803c6001c198eb92c1e7f0bfbcb860c86bf6364d70017f8c
|
|
| MD5 |
b93d96fad9254081cf8acdbf6e5dda73
|
|
| BLAKE2b-256 |
012dd720be705aabe221a252cdd21d3e3d801fefebc82bf335a9ac84e7257c2a
|
File details
Details for the file modak-0.3.10-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: modak-0.3.10-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab8d45a37bea83508c36f4aa1de6396a8384654d7bd4d8ce2326488f31394337
|
|
| MD5 |
59a3026b153c4767e33d5418196c5d74
|
|
| BLAKE2b-256 |
a5ef56ce91a7f64ca777c36812389da371b88ce90c189ddae1c0b1b0a11df629
|