Skip to main content

A setuptools extension, for building cpython extensions with zig build

Project description

Setuptools zig build

A setuptools extension, for building cpython extensions with zig build, enabling simple source-only pip distributions that compile at install time.

check out zig-zon for an example

Example setup.py

from setuptools import Extension
from setuptools import setup

setup(
    name='zig-zon',
    packages=[],
    zig_build={
        # stores zig's depdendencies in python's sdist. requires a call to
        # CPython.addSdistList(b); in `build.zig`
        "sdist": True,
        # tries to import 'ziglang' to get a zig compiler when building wheel
        "use_ziglang_python_package": True,
        # passes -Doptimize= to zig build
        "optimize": "ReleaseSmall",
        # passes -Dversion=<pip package version> to zig build
        "pass_version_option": True,
        # extra arguments to zig build
        'extra_args': [
            "install", "test",
        ],
    },
    ext_modules=[Extension('zig_zon', [])],
)

References

@ruamel and setuptools-zig

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

setuptools_zig_build-0.2.0.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file setuptools_zig_build-0.2.0.tar.gz.

File metadata

  • Download URL: setuptools_zig_build-0.2.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for setuptools_zig_build-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4151d645027853f9ac0bed25a4820c31401a86842b83862831b72214c828d0e1
MD5 ce17c8fe4663713fb8ced884c265bbff
BLAKE2b-256 87bb3af895672e4116eac762b3a34cd0baaa4e0d9a5232cf836f1fafbe18b2b1

See more details on using hashes here.

Supported by

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