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.25.1.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

ziggy_pydust-0.25.1-py3-none-any.whl (86.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ziggy_pydust-0.25.1.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ziggy_pydust-0.25.1.tar.gz
Algorithm Hash digest
SHA256 665ba3cd7045db5443b0c1e10ae8aaadcdfc61633586b9dd87da8b4ec4ecdc1e
MD5 9f0c925bf9952db99b7f67808a84153a
BLAKE2b-256 d4bfe5604d1587b7d2e10be8792f1baf7caacbfde2cfa5b6cda1943685319f63

See more details on using hashes here.

Provenance

The following attestation bundles were made for ziggy_pydust-0.25.1.tar.gz:

Publisher: publish.yml on spiraldb/ziggy-pydust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: ziggy_pydust-0.25.1-py3-none-any.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ziggy_pydust-0.25.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55409da8767e65a8211116c3ec1c354ded10b598851181d43d8eeda4580f071b
MD5 717166bbab4568ccebc9387a8d855ee9
BLAKE2b-256 8cf7592789aeef23d04b0d3b08bb13a7f59eac98168006ad3566e1fa86b6aa69

See more details on using hashes here.

Provenance

The following attestation bundles were made for ziggy_pydust-0.25.1-py3-none-any.whl:

Publisher: publish.yml on spiraldb/ziggy-pydust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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