{"id":13501411,"url":"https://github.com/ziglang/zig-pypi","last_synced_at":"2025-10-03T23:08:31.259Z","repository":{"id":43828077,"uuid":"385309306","full_name":"ziglang/zig-pypi","owner":"ziglang","description":"The Zig programming language, packaged for PyPI","archived":false,"fork":false,"pushed_at":"2025-04-15T22:31:06.000Z","size":32,"stargazers_count":172,"open_issues_count":2,"forks_count":18,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-12T21:54:23.801Z","etag":null,"topics":["pypi","python","zig"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/ziglang/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ziglang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-07-12T16:16:50.000Z","updated_at":"2025-05-09T14:30:25.000Z","dependencies_parsed_at":"2023-02-13T02:02:05.969Z","dependency_job_id":"eb1369b2-acc1-4a29-a4c8-5936fc369d33","html_url":"https://github.com/ziglang/zig-pypi","commit_stats":{"total_commits":38,"total_committers":5,"mean_commits":7.6,"dds":0.5,"last_synced_commit":"8f2ca5fa858917c3888ebc01ab76288cbb85d3a8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglang%2Fzig-pypi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglang%2Fzig-pypi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglang%2Fzig-pypi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglang%2Fzig-pypi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziglang","download_url":"https://codeload.github.com/ziglang/zig-pypi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253830909,"owners_count":21971000,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pypi","python","zig"],"created_at":"2024-07-31T22:01:36.540Z","updated_at":"2025-10-03T23:08:31.249Z","avatar_url":"https://github.com/ziglang.png","language":"Python","readme":"Zig PyPI distribution\n=====================\n\nThis repository contains the script used to repackage the [releases][zigdl] of the [Zig programming language][zig] as [Python binary wheels][wheel]. This document is intended for maintainers; see the [package README][pkgreadme] for rationale and usage instructions.\n\nThe repackaged artifacts are published as the [ziglang PyPI package][pypi].\n\n[zig]: https://ziglang.org/\n[zigdl]: https://ziglang.org/download/\n[wheel]: https://github.com/pypa/wheel\n[pkgreadme]: README.pypi.md\n[pypi]: https://pypi.org/project/ziglang/\n\nPreparation\n-----------\n\nThe script requires Python 3.9 and later and a [PEP 723][pep723] compatible script\nrunner, such as [`pipx`][pipx], [`pdm`][pdm], [`hatch`][hatch], [`uv`][uv], or\nsimilar. Please refer to their documentation for installation instructions.\n\n[pep723]: https://peps.python.org/pep-0723/\n[pipx]: https://pipx.pypa.io/stable/examples/#pipx-run-examples\n[pdm]: https://pdm-project.org/en/latest/usage/scripts/#single-file-scripts\n[hatch]: https://hatch.pypa.io/latest/blog/2024/05/02/hatch-v1100/#python-script-runner/\n[uv]: https://docs.astral.sh/uv/#script-support/\n\nBuilding wheels\n---------------\n\nRun the repackaging script. Here's an example invocation with [`pdm`][pdm]:\n\n```shell\n$ pdm run make_wheels.py --help\nusage: make_wheels.py [-h] [--version VERSION] [--suffix SUFFIX] [--outdir OUTDIR]\n                                                  [--platform {x86_64-windows,x86_64-macos,aarch64-macos,i386-linux,x86-linux,x86_64-linux,aarch64-linux,armv7a-linux}]\n\nRepackage official Zig downloads as Python wheels\n\noptions:\n  -h, --help            show this help message and exit\n  --version VERSION     version to package, use `latest` for latest release, `master` for nightly build\n  --suffix SUFFIX       wheel version suffix\n  --outdir OUTDIR       target directory\n  --platform {x86_64-windows,x86_64-macos,aarch64-macos,i386-linux,x86-linux,x86_64-linux,aarch64-linux,armv7a-linux}\n                        platform to build for, can be repeated\n```\n\nThis command will download the Zig release archives for every supported platform and convert them to binary wheels, which are placed under `dist/`. The Zig version and platforms can be passed as arguments.\n\nThe process of converting release archives to binary wheels is deterministic, and the output of the script should be bit-for-bit identical regardless of the environment and platform it runs under. To this end, it prints the SHA256 hashes of inputs and outputs; the hashes of the inputs will match the ones on the [Zig downloads page][zigdl], and the hashes of the outputs will match the ones on the [PyPI downloads page][pypidl].\n\n[pypidl]: https://pypi.org/project/ziglang/#files\n\nUploading wheels to PyPI\n------------------------\n\nTrigger the publishing workflow from this repository manually (requires authorization)\nwith the necessary inputs as mentioned in the [workflow file](.github/workflows/cd.yml)\nor in the GitHub Actions UI. The wheels are checked with `twine` before they are uploaded.\n\nThe workflow will upload the wheels to PyPI to make them available for installation. It\nis possible to trigger it multiple times to upload wheels for different versions or\nplatforms.\n\nVerifying the provenance of wheels uploaded to PyPI\n---------------------------------------------------\n\nTo establish build provenance, the workflow generates attestations for the uploaded wheels\nusing the [GitHub Actions Attestations feature](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds)\nwhen it is run. Please navigate to the [Attestations interface](https://github.com/ziglang/zig-pypi/attestations)\nto view the attestations for the uploaded wheels.\n\nThe attestations may be verified via the [GitHub (`gh`) CLI](https://cli.github.com/manual/gh_attestation_verify)\nor via the [GitHub API](https://docs.github.com/en/rest/users/attestations).\n\nLicense\n-------\n\nThis script is distributed under the terms of the [MIT (Expat) license](LICENSE.txt).\n\nPlease refer to the [Zig license](https://ziglang.org/download/#license) for the terms\nof use of the Zig programming language itself, or look in the `.dist-info/licenses/`\ndirectory of the built wheels for individual licenses of the bundled components.\n","funding_links":[],"categories":["Python","Development Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziglang%2Fzig-pypi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziglang%2Fzig-pypi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziglang%2Fzig-pypi/lists"}