{"id":30865071,"url":"https://github.com/ozi-project/ozi","last_synced_at":"2025-09-07T20:21:08.275Z","repository":{"id":176409113,"uuid":"657414119","full_name":"OZI-Project/OZI","owner":"OZI-Project","description":"Python project packaging for Meson.","archived":false,"fork":false,"pushed_at":"2025-08-26T04:57:48.000Z","size":6023,"stargazers_count":4,"open_issues_count":14,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-26T06:26:44.618Z","etag":null,"topics":["mesonbuild","packaging-for-pypi","packaging-python","packaging-tools","slsa"],"latest_commit_sha":null,"homepage":"https://oziproject.dev","language":"Meson","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OZI-Project.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"patreon":"OZIProject"}},"created_at":"2023-06-23T02:32:28.000Z","updated_at":"2025-08-26T04:57:48.000Z","dependencies_parsed_at":"2023-12-02T21:26:04.375Z","dependency_job_id":"32066f52-1819-46af-93eb-10be7bfc43c8","html_url":"https://github.com/OZI-Project/OZI","commit_stats":null,"previous_names":["rjdbcm/ozi","ozi-project/ozi"],"tags_count":621,"template":false,"template_full_name":null,"purl":"pkg:github/OZI-Project/OZI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OZI-Project%2FOZI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OZI-Project%2FOZI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OZI-Project%2FOZI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OZI-Project%2FOZI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OZI-Project","download_url":"https://codeload.github.com/OZI-Project/OZI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OZI-Project%2FOZI/sbom","scorecard":{"id":926059,"data":{"date":"2025-08-26T04:58:05Z","repo":{"name":"github.com/OZI-Project/OZI","commit":"5062a1e6c24f5e4be5d5fa64a136ff51ec01d1e5"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.9,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Code-Review","score":0,"reason":"Found 0/3 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'actions' permission set to 'read': .github/workflows/dist-workflow.yml:257","Info: jobLevel 'actions' permission set to 'read': .github/workflows/dist-workflow.yml:240","Info: jobLevel 'contents' permission set to 'read': .github/workflows/osv-scanner-pr.yml:21","Info: jobLevel 'actions' permission set to 'read': .github/workflows/osv-scanner-pr.yml:17","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/osv-scanner-pr.yml:19","Info: topLevel permissions set to 'read-all': .github/workflows/cflite_batch.yml:6","Info: topLevel permissions set to 'read-all': .github/workflows/cflite_cron.yml:6","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/dev-workflow.yml:12","Info: topLevel 'contents' permission set to 'read': .github/workflows/dist-workflow.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/osv-scanner-pr.yml:11","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:   9 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:  37 out of  37 third-party GitHubAction dependencies pinned","Info:   1 out of   1 containerImage dependencies pinned","Info:   2 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Signed-Releases","score":10,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: provenance for release artifact: provenance-OZI-2.1.15.intoto.jsonl: https://github.com/OZI-Project/OZI/releases/tag/2.1.15","Info: provenance for release artifact: provenance-OZI-2.1.14.intoto.jsonl: https://github.com/OZI-Project/OZI/releases/tag/2.1.14","Info: provenance for release artifact: provenance-OZI-2.1.13.intoto.jsonl: https://github.com/OZI-Project/OZI/releases/tag/2.1.13","Info: provenance for release artifact: provenance-OZI-2.1.12.intoto.jsonl: https://github.com/OZI-Project/OZI/releases/tag/2.1.12","Info: provenance for release artifact: provenance-OZI-2.1.11.intoto.jsonl: https://github.com/OZI-Project/OZI/releases/tag/2.1.11"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 28 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-79v4-65xg-pq4g","Warn: Project is vulnerable to: GHSA-847f-9342-265h"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/dist-workflow.yml:252"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: ClusterFuzzLite integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":9,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Info: 'stale review dismissal' is required to merge on branch 'main'","Info: required approving review count is 2 on branch 'main'","Info: codeowner review is required on branch 'main'","Info: 'last push approval' is required to merge on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Contributors","score":10,"reason":"project has 3 contributing companies or organizations -- score normalized to 10","details":["Info: found contributions from: OZI-Project, id=27082021/7654386, stepsecurity"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"CI-Tests","score":10,"reason":"17 out of 17 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}}]},"last_synced_at":"2025-08-26T06:27:37.209Z","repository_id":176409113,"created_at":"2025-08-26T06:27:37.209Z","updated_at":"2025-08-26T06:27:37.209Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274088870,"owners_count":25220316,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["mesonbuild","packaging-for-pypi","packaging-python","packaging-tools","slsa"],"created_at":"2025-09-07T20:20:59.789Z","updated_at":"2025-09-07T20:21:08.268Z","avatar_url":"https://github.com/OZI-Project.png","language":"Meson","readme":".. OZI\n  Classifier: License-Expression :: Apache-2.0 WITH LLVM-exception\n  Classifier: License-File :: LICENSE.txt\n\n.. README\n   Part of the OZI Project, under the Apache License v2.0 with LLVM Exceptions.\n   See LICENSE.txt for license information.\n\n===\nOZI\n===\n\n.. image:: https://www.oziproject.dev/assets/brand/images/ozi_logo_v2.svg\n  :align: left\n  :height: 62\n  :target: https://www.oziproject.dev/\n\nOZI is a set of tools for creating, publishing, and maintaining Python packages\nusing `semantic versioning \u003chttps://semver.org/\u003e`_\nwith `semantic-release \u003chttps://semantic-release.gitbook.io/semantic-release\u003e`_\nand `conventional commits \u003chttps://www.conventionalcommits.org/en/v1.0.0/\u003e`_.\nSee the `documentation \u003chttps://docs.oziproject.dev/\u003e`_ for the project roadmap,\nAPI specification, Meson version support, and other project information.\n\nProject Information\n-------------------\n\n|py-version-badge| |License| |slsa-level3-badge|\n\n|openssf-badge| |OSSF-Scorecard| |SourceRank|\n\nPurpose\n^^^^^^^\n\nOZI is meant for Python developers as a standardized and opinionated\nPython packaging style guide. It consists of command line utilities, a continuous integration checkpointing API using the Meson build system, and continuous deployment scripts.\n\nThe OZI continuous integration strategy consists of:\n\n1. The following isolated checkpoint environments:\n\n* code testing and coverage\n* distributing Python packages with Meson_\n* code linting and formatting\n\n2. Release drafting\n3. Building and signing of releases\n4. Provenance generation (`SLSA v1.0 - Level 3 \u003chttps://slsa.dev/spec/v1.0/levels#build-l3\u003e`_)\n5. Publishing\n\nWhat OZI is **not**\n###################\n\n* A replacement for test environment managers like tox_, as a matter of fact OZI uses ``tox``.\n* A replacement for git hook package management tools like pre-commit_\n\nWhat OZI is\n###########\n\n* Checkpointed Python packaging for Meson projects focused on pure Python sources.\n\nContributing\n------------\n\nSee the project `CONTRIBUTING.md \u003chttps://github.com/rjdbcm/OZI/blob/main/.github/CONTRIBUTING.md\u003e`_\n\nContact\n-------\n\nEden Ross Duff MSc - help@oziproject.dev\n\n.. image:: https://raw.githubusercontent.com/sigstore/community/main/artwork/badge/sigstore_codesigned_purple.png\n :align: center\n :height: 140\n :target: https://www.sigstore.dev/\n\n.. |py-version-badge| image:: https://img.shields.io/pypi/pyversions/ozi?logo=python\u0026label=Python%20Version\n    :target: https://pypi.org/search/?q=\u0026o=-created\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+3\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+3+%3A%3A+Only\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+3.10\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+3.11\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+3.12\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+Implementation\u0026c=Programming+Language+%3A%3A+Python+%3A%3A+Implementation+%3A%3A+CPython\u0026c=Typing+%3A%3A+Typed\n    :alt: PyPI - Python Version\n.. |slsa-level3-badge| image:: https://slsa.dev/images/gh-badge-level3.svg\n    :target: https://slsa.dev/spec/v1.0/levels#build-l3\n    :alt: Supply-chain Levels for Software Artifacts v1.0 Build L3\n.. |openssf-badge| image:: https://img.shields.io/cii/level/7515?label=OpenSSF%20Best%20Practices\u0026labelColor=0c3455\u0026link=https%3A%2F%2Fwww.bestpractices.dev%2Fen%2Fprojects%2F7515\n    :target: https://bestpractices.coreinfrastructure.org/projects/7515\n    :alt: Open Source Security Foundation self-certification status\n.. |SourceRank| image:: https://img.shields.io/librariesio/sourcerank/pypi/ozi?logo=libraries.io\u0026label=SourceRank\u0026link=https%3A%2F%2Flibraries.io%2Fpypi%2FOZI%2Fsourcerank\n   :target: https://libraries.io/pypi/OZI/sourcerank\n   :alt: Libraries.io SourceRank\n.. |OSSF-Scorecard| image:: https://img.shields.io/ossf-scorecard/github.com/OZI-Project/OZI?label=OpenSSF%20Scorecard\u0026labelColor=0c3455\n    :target: https://securityscorecards.dev/viewer/?uri=github.com/OZI-Project/OZI\u0026sort_by=risk-level\u0026sort_direction=desc\n    :alt: Open Source Security Foundation Scorecard\n.. |License| image:: https://img.shields.io/badge/License-Apache--2.0_with_LLVM_exceptions-282661?style=flat\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg4IDEwMi43MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTIyLjg4IDEwMi43MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BPHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO308L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02NS42MSwyMC45MXY3Mi43NGgzNS42M2MwLjM4LDAsMC42OCwwLjMxLDAuNjgsMC42OXY3LjdjMCwwLjM4LTAuMzEsMC42OS0wLjY4LDAuNjlIMjIuODQgYy0wLjM4LDAtMC42OS0wLjMxLTAuNjktMC42OXYtNy43YzAtMC4zOCwwLjMxLTAuNjksMC42OS0wLjY5aDM1LjYzbDAtNzIuNzFjLTMuMS0xLjA4LTUuNTYtMy41My02LjY0LTYuNjNIMjkuM3YzLjQzIGMwLDAuMzgtMC4zMSwwLjY4LTAuNjgsMC42OGgtNS43OGMtMC4zOCwwLTAuNjktMC4zMS0wLjY5LTAuNjh2LTMuNDNoLTUuNzNjLTAuNDQsMC0wLjgtMC4zMS0wLjgtMC42OFY3Ljg0IGMwLTAuMzgsMC4zNi0wLjY5LDAuOC0wLjY5aDM1LjQzQzUzLjMzLDIuOTksNTcuMzEsMCw2MS45OSwwYzQuNjgsMCw4LjY2LDIuOTksMTAuMTQsNy4xNmgzNS41M2MwLjQ0LDAsMC44LDAuMzEsMC44LDAuNjl2NS43OCBjMCwwLjM4LTAuMzYsMC42OC0wLjgsMC42OGgtNi40NnYzLjQzYzAsMC4zOC0wLjMxLDAuNjgtMC42OCwwLjY4aC01Ljc4Yy0wLjM4LDAtMC42OS0wLjMxLTAuNjktMC42OHYtMy40M0g3Mi4xNiBDNzEuMDksMTcuMzgsNjguNjcsMTkuODEsNjUuNjEsMjAuOTFMNjUuNjEsMjAuOTF6IE05OS42NiwyMi4zbDIyLjkxLDQwLjQ4YzAuMiwwLjM1LDAuMjksMC43MywwLjI4LDEuMWgwLjAyYzAsMC4wNSwwLDAuMSwwLDAuMTUgYzAsOS42NC0xMS4zNSwxNy40Ni0yNS4zNSwxNy40NmMtMTMuODUsMC0yNS4xLTcuNjUtMjUuMzQtMTcuMTVjLTAuMDQtMC4xNi0wLjA2LTAuMzQtMC4wNi0wLjUxYzAtMC40NCwwLjE0LTAuODYsMC4zNy0xLjIgbDIzLjQzLTQwLjQzYzAuNTktMS4wMiwxLjg5LTEuMzcsMi45MS0wLjc4Qzk5LjIsMjEuNjUsOTkuNDgsMjEuOTUsOTkuNjYsMjIuM0w5OS42NiwyMi4zeiBNOTkuNzUsMzEuMTF2MzAuNmgxNy4zMkw5OS43NSwzMS4xMSBMOTkuNzUsMzEuMTF6IE05NS42Nyw2MS43VjMxLjE2TDc3Ljk2LDYxLjdIOTUuNjdMOTUuNjcsNjEuN3ogTTI3LjU0LDIyLjNsMjIuOTEsNDAuNDhjMC4yLDAuMzUsMC4yOSwwLjczLDAuMjgsMS4xaDAuMDIgYzAsMC4wNSwwLDAuMSwwLDAuMTVjMCw5LjY0LTExLjM1LDE3LjQ2LTI1LjM1LDE3LjQ2Yy0xMy44NSwwLTI1LjEtNy42NS0yNS4zNC0xNy4xNUMwLjAyLDY0LjE5LDAsNjQuMDIsMCw2My44NCBjMC0wLjQ0LDAuMTQtMC44NiwwLjM3LTEuMkwyMy44LDIyLjIxYzAuNTktMS4wMiwxLjg5LTEuMzcsMi45MS0wLjc4QzI3LjA4LDIxLjY1LDI3LjM2LDIxLjk1LDI3LjU0LDIyLjNMMjcuNTQsMjIuM3ogTTI3LjYzLDMxLjExdjMwLjZoMTcuMzJMMjcuNjMsMzEuMTFMMjcuNjMsMzEuMTF6IE0yMy41NCw2MS43VjMxLjE2TDUuODQsNjEuN0gyMy41NEwyMy41NCw2MS43eiBNNjEuOTksNi4wNyBjMi41OSwwLDQuNjksMi4xLDQuNjksNC42OWMwLDIuNTktMi4xLDQuNjktNC42OSw0LjY5Yy0yLjU5LDAtNC42OS0yLjEtNC42OS00LjY5QzU3LjMsOC4xNyw1OS40LDYuMDcsNjEuOTksNi4wN0w2MS45OSw2LjA3eiIvPjwvZz48L3N2Zz4%3D\n   :alt: Static Badge\n   :target: https://github.com/OZI-Project/OZI/blob/main/LICENSE.txt\n\n.. _TOML: https://toml.io/en/\n.. _PEP517: https://peps.python.org/pep-0517/\n.. _build: https://pypi.org/project/build/\n.. _mesonpep517: https://pypi.org/project/mesonpep517\n.. _Ninja: https://pypi.org/project/ninja/\n.. _setuptools: https://pypi.org/project/setuptools/\n.. _setuptools_scm: https://pypi.org/project/setuptools_scm/\n.. _Tomli: https://pypi.org/project/tomli/\n.. _wheel: https://pypi.org/project/wheel/\n.. _pre-commit: https://pre-commit.com/\n.. _tox: https://tox.wiki/en/latest/\n.. _Meson: https://mesonbuild.com/\n","funding_links":["https://patreon.com/OZIProject"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozi-project%2Fozi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozi-project%2Fozi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozi-project%2Fozi/lists"}