Skip to main content

modak

GitHub Release GitHub last commit GitHub License PyPI - Version

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.

Metadata

Release files for modak 0.3.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modak 0.3.10
File Size Uploaded
modak-0.3.10.tar.gz 46.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for modak 0.3.10
File
modak-0.3.10-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
modak-0.3.10-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-32 Details
modak-0.3.10-cp313-cp313t-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ x86-64 Details
modak-0.3.10-cp313-cp313t-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ x86-32 Details
modak-0.3.10-cp313-cp313t-musllinux_1_2_armv7l.whl CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ ARMv7l Details
modak-0.3.10-cp313-cp313t-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ ARM64 Details
modak-0.3.10-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ IBM System/390x Details
modak-0.3.10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ PowerPC 64-le Details
modak-0.3.10-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARMv7l Details
modak-0.3.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64 Details
modak-0.3.10-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
modak-0.3.10-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
modak-0.3.10-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
modak-0.3.10-cp313-cp313-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-32 Details
modak-0.3.10-cp313-cp313-musllinux_1_2_armv7l.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARMv7l Details
modak-0.3.10-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
modak-0.3.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
modak-0.3.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ IBM System/390x Details
modak-0.3.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ PowerPC 64-le Details
modak-0.3.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-32 Details
modak-0.3.10-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARMv7l Details
modak-0.3.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
modak-0.3.10-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
modak-0.3.10-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
modak-0.3.10-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
modak-0.3.10-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
modak-0.3.10-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
modak-0.3.10-cp312-cp312-musllinux_1_2_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-32 Details
modak-0.3.10-cp312-cp312-musllinux_1_2_armv7l.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARMv7l Details
modak-0.3.10-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
modak-0.3.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
modak-0.3.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ IBM System/390x Details
modak-0.3.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ PowerPC 64-le Details
modak-0.3.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32 Details
modak-0.3.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARMv7l Details
modak-0.3.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
modak-0.3.10-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
modak-0.3.10-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details

Total release size: 67.1 MB

Release files / modak-0.3.10.tar.gz

Download URL modak-0.3.10.tar.gz
Size 46.4 kB
Tags Source
SHA-256 checksum
How to use checksums
096306096cd4baed03ebb5e7ffbbdcad290e7809874fde3820468017883725f9
BLAKE2b-256 checksum
How to use checksums
d9af1e06348e0ae4d946d1115768c25808c382be0883a2c5256ab9287bfe00bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL modak-0.3.10-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.8 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b43f494d57f6eeaf409a69cee64e7b4e702f2702e3fc77e1ed12624a17853049
BLAKE2b-256 checksum
How to use checksums
38327ecf77a72de6cea51f2beb05faeeee0622b4252fc3c76baa8e3e7bb37e7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL modak-0.3.10-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.9 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
23796cb34f1a68a039c336c03ce21c3885c91fd84ac5208ed823d0443b69cc43
BLAKE2b-256 checksum
How to use checksums
aea7e5232112cd6e83e376207e9c66de66b3665dfcd22a1ff5d185cb8ab8d39d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-musllinux_1_2_x86_64.whl

Download URL modak-0.3.10-cp313-cp313t-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6cf0bf3544b031a385df7436f11e7325a01345bb0f39823fa78cc2f19aa268a7
BLAKE2b-256 checksum
How to use checksums
82d1b1a508435b39ba7be9e1b604b592fd08ddf31c8dca9c38fae95057f74715
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-musllinux_1_2_i686.whl

Download URL modak-0.3.10-cp313-cp313t-musllinux_1_2_i686.whl
Size 2.0 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
174b8f96fbd4b6a1d6ce766283cc297432bc5c1140a2c56da378c6ac2025af14
BLAKE2b-256 checksum
How to use checksums
0153126d465336ee46acc6ce638e4acc132a1dd318e8ec9f0e4bfdd6c7f5bd72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-musllinux_1_2_armv7l.whl

Download URL modak-0.3.10-cp313-cp313t-musllinux_1_2_armv7l.whl
Size 2.0 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
7de3bdb8a253bb914c630faae3ef608d7bbeebb2878141aef71de3d0dac3ae26
BLAKE2b-256 checksum
How to use checksums
38776caffc55a367becaa010986296a4a0f57264bd7903007485da08f3f5e45e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-musllinux_1_2_aarch64.whl

Download URL modak-0.3.10-cp313-cp313t-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5395517ab2ea9cb97e91834629ac18c5669116e78e38b574180cc0bde1d1211c
BLAKE2b-256 checksum
How to use checksums
b165cf1ea8090d5743cce968981ce7083236d7aa8555e2982cacb8d2740dce10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL modak-0.3.10-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 1.8 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
4d5a3a6e66f976d4dd327e887cb5d36804e6a265ea1ea2d05cc5c0587ced4f1d
BLAKE2b-256 checksum
How to use checksums
7e130bbb6f8f560fd3a055bb622ba7613de2211740cd2c7a2530526bb9ce62a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL modak-0.3.10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 1.9 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
779c81c480697becbbe18292b46743fac23467607353cb6410b286a2bf4c3a6c
BLAKE2b-256 checksum
How to use checksums
ff0a57a47954a79b95b84ecf2554e5e75b7b7193f8fe24722d84877e67670532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL modak-0.3.10-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 1.6 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
b7e0ccd747a21e5bd3d8e601d4313fc81295f90f396bf3a03b01929561eb2e51
BLAKE2b-256 checksum
How to use checksums
4db8c4689d70a54ed7de10bee69f1414996cd3d43116420d229f84f9bb8d1332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL modak-0.3.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2d6f3a00cc672c10949fe385150b430a3d4515cc6948b4957bd3c63878a5541a
BLAKE2b-256 checksum
How to use checksums
f3228309a7584419e1bf9314438dfee263eaf7b0d177168701d4b05325631b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-win_amd64.whl

Download URL modak-0.3.10-cp313-cp313-win_amd64.whl
Size 1.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
db0729743ee1bfff40cca17f32f72d1733b4b56408902781e5bae5fb098718f5
BLAKE2b-256 checksum
How to use checksums
bfabffe13e8304fb3322dbec14fe8c5df0b5a871b26cb850680d6ad8d75a8cd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-win32.whl

Download URL modak-0.3.10-cp313-cp313-win32.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
a3b0963804508f2669429b893af7714077ce0eac467247af7aa8110ae61cd282
BLAKE2b-256 checksum
How to use checksums
5e5109a965d6e096e78621c5984cd15adcbd57be91a9efcc74d200f89c8112a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL modak-0.3.10-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bc2aadd26e944f69b17bfbf181912e0170cd404554b4b16d80aae6780a0e844f
BLAKE2b-256 checksum
How to use checksums
1534aea100090da4b647cb3ad1bb3d4460a45323fd0948f23e484180bae711ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-musllinux_1_2_i686.whl

Download URL modak-0.3.10-cp313-cp313-musllinux_1_2_i686.whl
Size 2.0 MB
Tags CPython 3.13 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
d84353554e605309d1478739cb8869872f278f4f45a058fe37868f805fbc3417
BLAKE2b-256 checksum
How to use checksums
1e3438e32fc0e3d4e919a15f68c5c32190738aef9feed1f7212fa3611c51f6a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-musllinux_1_2_armv7l.whl

Download URL modak-0.3.10-cp313-cp313-musllinux_1_2_armv7l.whl
Size 2.0 MB
Tags CPython 3.13 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
fa3e4cb75b6c78507a09684e7f9f89fdaa308489a0ddc731d391e88b7e801c96
BLAKE2b-256 checksum
How to use checksums
c26b2a920d325ef550db84b6a6b052d6c0ffff4be980ca58c839632934d897f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL modak-0.3.10-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1703b093cf121cefe88e6fa0b5c363d614103f2eb0bead94af22c579684c1fbb
BLAKE2b-256 checksum
How to use checksums
cdfbe3e6eae91a3d494b18be4af91992759f26691253ad5f74aac83429e6f80b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
029ba45d27330169e2cc7129d619ff1b1b8e4c05c49f36dd9f5d83c6134f4dc7
BLAKE2b-256 checksum
How to use checksums
25279bc3bba6a7da5582f98fab8fc4fd0590505da69de4866ff421e99ab6dc73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
18b3299a2c059582f96975926768ce5951864859b773a9b7e3cfc9924745b63b
BLAKE2b-256 checksum
How to use checksums
00316a95c4ac8df93e7a9487ef90280348774e8a169179c79ad924c97150572a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 1.9 MB
Tags CPython 3.13 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
a2524ba7b96cf56e5088c31b2c9766876572819b0277a8a5a3b281db5123f5f3
BLAKE2b-256 checksum
How to use checksums
9cda38de496245f7ce20028a08617dce9456f75c4b30859352952e51fa7e67e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
3dd632aac8cf14ca0919d2af1d20e041168e8a0ce11b8025e8d734eec02e30c0
BLAKE2b-256 checksum
How to use checksums
f7ba5f7e75ce22a000fc96c483239d097ee037896d2364d8483602db0af37fa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
15801165ebd68f32db961858f5b233477aada024979dc3dd757a5a790b11150b
BLAKE2b-256 checksum
How to use checksums
29e23bb2e9fe014c3c006a6d531fabf0ddc30497ba2edae6d74662d68a663748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL modak-0.3.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d6fc9769f353c29f0c4e6c3b61e0f4a81d4646d1485f808b0f1a0ef289cbe72e
BLAKE2b-256 checksum
How to use checksums
015dce8fdf6382337fadab2d21d8fc8923f7a2a491a90f073c52111554335d85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-macosx_11_0_arm64.whl

Download URL modak-0.3.10-cp313-cp313-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
da6c0eb9ad8bf955d6c0aa32896726660ec6bc4c52616ccc9221395b0b2b18c0
BLAKE2b-256 checksum
How to use checksums
45ed613fd9fe6fdf0cfd85a29f514fbbe423401111bce8ecf76fb0fb3836e205
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp313-cp313-macosx_10_12_x86_64.whl

Download URL modak-0.3.10-cp313-cp313-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ef13dff2e500aff7c88e9ec16843a51ab46eb240b0c8589794a8c2f3924bf765
BLAKE2b-256 checksum
How to use checksums
248f67ba4b289fef2c1c9079cf9a52c545e92833c0245d3ba7106b18530556ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-win_amd64.whl

Download URL modak-0.3.10-cp312-cp312-win_amd64.whl
Size 1.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2d2af70263e859414d0b9e918306927c7260b67df45b6fe972ef33242f8c1af4
BLAKE2b-256 checksum
How to use checksums
cf5f27e2e00fb432b8938e6768efb11165abbf80c524b7052130b20b62c5f57e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-win32.whl

Download URL modak-0.3.10-cp312-cp312-win32.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
9e30fabaf5e555a34f795cf266f4b48b847619754d4c82a5c6514a44ac169bed
BLAKE2b-256 checksum
How to use checksums
6f5a60a6276db392f3ada37aca50a3be2c2a8f8adb62bd36e25dce9d2c24d7a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL modak-0.3.10-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
17b5b617f7e6531a1b5714ce668cc6c4f82c92ad7dd2903cd6dc63ba5ab0aa9d
BLAKE2b-256 checksum
How to use checksums
154867834c274922aa3c18f2ef44ee40169437563438e408df9451b0ec0307c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-musllinux_1_2_i686.whl

Download URL modak-0.3.10-cp312-cp312-musllinux_1_2_i686.whl
Size 2.0 MB
Tags CPython 3.12 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
f694510d8da3a97697db9d4d11056468a75a4d3c52ec7a709dbfc76b230d7274
BLAKE2b-256 checksum
How to use checksums
6874e1118a199c190b48f8bc124b584cc6d583c4c07c9007ff1edace7636a2b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-musllinux_1_2_armv7l.whl

Download URL modak-0.3.10-cp312-cp312-musllinux_1_2_armv7l.whl
Size 2.0 MB
Tags CPython 3.12 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
3937caa6d7314cc65c8b92b96f7008f625182218172c5813b0de27f7a24cf3ae
BLAKE2b-256 checksum
How to use checksums
70f89de13b95a23c01eb48e329529e8abbf4f848e0a9fd9e2f2032f7455356a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL modak-0.3.10-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
a2ba35b6d7da59406213284b1cf78ec67d820354c7dee1e913efb80c824cec7a
BLAKE2b-256 checksum
How to use checksums
8ad69472add04906caf21b139d9d707cb4027dc6ecb1ed8093f98719c74225f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0093f3bb3070f865bc8f091a162808bce74f04c423fac723e3ba7aef167711ce
BLAKE2b-256 checksum
How to use checksums
92b20c3a0d4baf05330ab9fbfd1e0ceffe7170bb45d10cea8a02914e3501715f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
bdba0db549a0074a003991c2a9612ed1fe076ade52ab0636824429823e0f0378
BLAKE2b-256 checksum
How to use checksums
9247960bede732bc6e91f3c576d1b6dfb923ca6b748d7da4e1d905f42478e4a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 1.9 MB
Tags CPython 3.12 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
e45c118aa61ac4e51b321aa4a58f3e570dc111d63ad3145d7b907fd511246c29
BLAKE2b-256 checksum
How to use checksums
1e6bccab0cf45f6c0045a7c261d0efe043e221608ccf54fa3da1240c16c3f67e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
ef432dd1879acd4bc05cd61424ea9f88fe60e10bc5f16c7a4c5afa110095bdbd
BLAKE2b-256 checksum
How to use checksums
bb5a0a24bdba8b6b8cb565d42d25d698f6db81348773da49d2655534b5737216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
c1572347d401af4aa0da344e7680c6d813b8e2d572e66839b3f48394d46e487f
BLAKE2b-256 checksum
How to use checksums
92ef89c5cab4520257fbc6f91463dd8d8e4f87da0230414de8cd30129a700b5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL modak-0.3.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6d48f7c1384b58415f6aab36fbbc4ae5828e722b9a39dab3fa79f075974dc027
BLAKE2b-256 checksum
How to use checksums
04eb6d371f2f7cee2453e66190f18d021a6137bec731e57ca816e91d6e967f12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-macosx_11_0_arm64.whl

Download URL modak-0.3.10-cp312-cp312-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee1f0f0deff4ecc3803c6001c198eb92c1e7f0bfbcb860c86bf6364d70017f8c
BLAKE2b-256 checksum
How to use checksums
012dd720be705aabe221a252cdd21d3e3d801fefebc82bf335a9ac84e7257c2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release files / modak-0.3.10-cp312-cp312-macosx_10_12_x86_64.whl

Download URL modak-0.3.10-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ab8d45a37bea83508c36f4aa1de6396a8384654d7bd4d8ce2326488f31394337
BLAKE2b-256 checksum
How to use checksums
a5ef56ce91a7f64ca777c36812389da371b88ce90c189ddae1c0b1b0a11df629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.3

Release history Release notifications | RSS feed

This release

0.3.10 This release

39 release files

0.3.7

39 release files

0.2.5

39 release files

0.2.4

39 release files

0.2.3

39 release files

0.2.2

39 release files

0.2.1

39 release files

0.2.0

39 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page