Skip to main content

No project description provided

Project description

Ziggy Pydust

A framework for writing and packaging native Python extension modules written in Zig.

Actions Package version Python version License


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.rootmodule(@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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ziggy_pydust-0.23.2.tar.gz (56.3 kB view details)

Uploaded Source

Built Distribution

ziggy_pydust-0.23.2-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file ziggy_pydust-0.23.2.tar.gz.

File metadata

  • Download URL: ziggy_pydust-0.23.2.tar.gz
  • Upload date:
  • Size: 56.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for ziggy_pydust-0.23.2.tar.gz
Algorithm Hash digest
SHA256 2f4309d7c841acbb549c5d224b5e43d41480506821bb854400019e4bc03238fe
MD5 3576db300276ee04ee94fb6e3a9355fa
BLAKE2b-256 281fedf9e957ba6af7b748a2b036015468f84d022cfcf2bf6c88ebd7ff5a8295

See more details on using hashes here.

File details

Details for the file ziggy_pydust-0.23.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ziggy_pydust-0.23.2-py3-none-any.whl
Algorithm Hash digest
SHA256 456e8bad674ee26783386b0a9ed12f990dfeb7f08762af78e74fb7dcf7f74d72
MD5 04c3bbf7fb054bf008a01619119e8fd2
BLAKE2b-256 eb37ec2611e2060f05b614546240a2e3b5cc7a9e9934a838e3588e4615bae5cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page