No project description provided
Project description
Ziggy Pydust
A framework for writing and packaging native Python extension modules written in Zig.
Documentation: https://pydust.fulcrum.so/latest
API: https://pydust.fulcrum.so/latest/zig
Source Code: https://github.com/fulcrum-so/ziggy-pydust
Template: https://github.com/fulcrum-so/ziggy-pydust-template
Ziggy Pydust is a framework for writing and packaging native Python extension modules written in Zig.
- Package Python extension modules written in Zig.
- Pytest plugin to discover and run Zig tests.
- Comptime argument wrapping / unwrapping for interop with native Zig types.
const py = @import("pydust");
pub fn fibonacci(args: struct { n: u64 }) u64 {
if (args.n < 2) return args.n;
var sum: u64 = 0;
var last: u64 = 0;
var curr: u64 = 1;
for (1..args.n) {
sum = last + curr;
last = curr;
curr = sum;
}
return sum;
}
comptime {
py.module(@This());
}
Compatibility
Pydust supports:
Please reach out if you're interested in helping us to expand compatibility.
Getting Started
Pydust docs can be found here. Zig documentation (beta) can be found here.
There is also a template repository including Poetry build, Pytest and publishing from Github Actions.
Contributing
We welcome contributions! Pydust is in its early stages so there is lots of low hanging fruit when it comes to contributions.
- Assist other Pydust users with GitHub issues or discussions.
- Suggest or implement features, fix bugs, fix performance issues.
- Improve our documentation.
- Write articles or other content demonstrating how you have used Pydust.
License
Pydust is released under the Apache-2.0 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 Distribution
Built Distribution
Hashes for ziggy_pydust-0.6.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39dc86282ab1c569e7647365ca6e7d06375ce45f2d7fc2e05efcb8e75c2a91d5 |
|
MD5 | 852a39ea9ba2e47ab1bd735bafeb0d6b |
|
BLAKE2b-256 | 6f9f87ae783abb193c3bedea02120e632034613480ac394cc013be856618acde |