pyproject-api 1.12.3__tar.gz → 1.12.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. pyproject_api-1.12.4/.github/workflows/check.yaml +59 -0
  2. pyproject_api-1.12.4/.github/workflows/codeql.yaml +22 -0
  3. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/workflows/news.yaml +3 -6
  4. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/workflows/prepare-release.yaml +1 -1
  5. pyproject_api-1.12.4/.github/workflows/release.yaml +56 -0
  6. pyproject_api-1.12.4/.github/workflows/scorecard.yaml +26 -0
  7. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/workflows/upgrade-release-tools.yaml +1 -1
  8. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.pre-commit-config.yaml +3 -3
  9. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/PKG-INFO +7 -6
  10. pyproject_api-1.12.4/README.md +11 -0
  11. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/changelog.rst +5 -0
  12. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/pylock.toml +204 -205
  13. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/pyproject.toml +6 -5
  14. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_version.py +2 -2
  15. pyproject_api-1.12.3/.github/workflows/check.yaml +0 -83
  16. pyproject_api-1.12.3/.github/workflows/codeql.yaml +0 -41
  17. pyproject_api-1.12.3/.github/workflows/release.yaml +0 -118
  18. pyproject_api-1.12.3/README.md +0 -10
  19. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/FUNDING.yaml +0 -0
  20. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/SECURITY.md +0 -0
  21. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/THREAT_MODEL.md +0 -0
  22. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/dependabot.yaml +0 -0
  23. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.github/release.yaml +0 -0
  24. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.gitignore +0 -0
  25. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/.readthedocs.yml +0 -0
  26. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/CODE_OF_CONDUCT.md +0 -0
  27. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/CONTRIBUTING.md +0 -0
  28. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/LICENSE +0 -0
  29. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/api.rst +0 -0
  30. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/changelog.d/.gitkeep +0 -0
  31. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/changelog.d/template.jinja2 +0 -0
  32. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/conf.py +0 -0
  33. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/contributing.rst +0 -0
  34. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/docs/index.rst +0 -0
  35. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/__init__.py +0 -0
  36. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/__main__.py +0 -0
  37. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_backend.py +0 -0
  38. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_backend.pyi +0 -0
  39. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_frontend.py +0 -0
  40. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_util.py +0 -0
  41. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/_via_fresh_subprocess.py +0 -0
  42. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/src/pyproject_api/py.typed +0 -0
  43. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/_build_sdist.py +0 -0
  44. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/demo_pkg_inline/build.py +0 -0
  45. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/demo_pkg_inline/pyproject.toml +0 -0
  46. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_backend.py +0 -0
  47. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_frontend.py +0 -0
  48. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_frontend_setuptools.py +0 -0
  49. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_main.py +0 -0
  50. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_util.py +0 -0
  51. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tests/test_version.py +0 -0
  52. {pyproject_api-1.12.3 → pyproject_api-1.12.4}/tox.toml +0 -0
@@ -0,0 +1,59 @@
1
+ name: 🧪 check
2
+ on:
3
+ workflow_dispatch:
4
+ push:
5
+ branches: ["main"]
6
+ tags-ignore: ["**"]
7
+ pull_request:
8
+ types: [opened, synchronize, reopened]
9
+ schedule:
10
+ - cron: "0 8 * * *"
11
+ concurrency:
12
+ group: check-${{ github.ref }}
13
+ cancel-in-progress: true
14
+ permissions:
15
+ contents: read
16
+ jobs:
17
+ test:
18
+ name: 🧪 Test
19
+ uses: tox-dev/github-workflows/.github/workflows/check.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
20
+ permissions:
21
+ contents: read
22
+ with:
23
+ include: |
24
+ [
25
+ {"env": "3.15"},
26
+ {"env": "3.15t", "python": "3.15t"},
27
+ {"env": "3.14", "python": "3.14"},
28
+ {"env": "3.13", "python": "3.13"},
29
+ {"env": "3.12", "python": "3.12"},
30
+ {"env": "3.11", "python": "3.11"},
31
+ {"env": "type"},
32
+ {"env": "dev"},
33
+ {"env": "pkg_meta"},
34
+ {"env": "3.15", "os": "windows-2025-vs2026"},
35
+ {"env": "3.15t", "python": "3.15t", "os": "windows-2025-vs2026"},
36
+ {"env": "3.14", "python": "3.14", "os": "windows-2025-vs2026"},
37
+ {"env": "3.13", "python": "3.13", "os": "windows-2025-vs2026"},
38
+ {"env": "3.12", "python": "3.12", "os": "windows-2025-vs2026"},
39
+ {"env": "3.11", "python": "3.11", "os": "windows-2025-vs2026"},
40
+ {"env": "type", "os": "windows-2025-vs2026"},
41
+ {"env": "dev", "os": "windows-2025-vs2026"},
42
+ {"env": "pkg_meta", "os": "windows-2025-vs2026"},
43
+ {"env": "3.15", "os": "macos-26"},
44
+ {"env": "3.15t", "python": "3.15t", "os": "macos-26"},
45
+ {"env": "3.14", "python": "3.14", "os": "macos-26"},
46
+ {"env": "3.13", "python": "3.13", "os": "macos-26"},
47
+ {"env": "3.12", "python": "3.12", "os": "macos-26"},
48
+ {"env": "3.11", "python": "3.11", "os": "macos-26"}
49
+ ]
50
+ gate:
51
+ name: 🚦 ${{ github.event_name == 'pull_request' && 'Required checks pass' || 'Non-PR checks pass' }}
52
+ if: ${{ !cancelled() }} # codespell:ignore cancelled
53
+ needs: [test]
54
+ runs-on: ubuntu-26.04
55
+ steps:
56
+ - name: 🚦 Require all needed jobs to pass
57
+ uses: tox-dev/github-workflows/required-checks@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
58
+ with:
59
+ needs: ${{ toJSON(needs) }}
@@ -0,0 +1,22 @@
1
+ name: 🛡️ CodeQL
2
+ on:
3
+ workflow_dispatch:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ schedule:
8
+ - cron: "0 9 * * 2"
9
+ concurrency:
10
+ group: codeql-${{ github.ref }}
11
+ cancel-in-progress: true
12
+ permissions: {}
13
+ jobs:
14
+ analyze:
15
+ name: 🛡️ Analyze
16
+ uses: tox-dev/github-workflows/.github/workflows/codeql.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
17
+ permissions:
18
+ contents: read
19
+ security-events: write
20
+ with:
21
+ languages: '["actions","python"]'
22
+ paths-ignore: '["tests"]'
@@ -2,9 +2,6 @@ name: 📝 Changelog
2
2
  on:
3
3
  pull_request:
4
4
  types: [opened, reopened, synchronize, labeled, unlabeled]
5
- concurrency:
6
- group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
7
- cancel-in-progress: true
8
5
  permissions:
9
6
  contents: read
10
7
  pull-requests: read
@@ -19,15 +16,15 @@ jobs:
19
16
  fetch-depth: 0
20
17
  persist-credentials: false
21
18
  - name: 🐍 Install uv
22
- uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2
19
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
23
20
  with:
24
21
  version: latest-known
25
22
  python-version: "3.15"
26
23
  enable-cache: false
27
24
  - name: 📦 Install locked release tools
28
- uses: tox-dev/github-workflows/install-locked-tools@57a765127aae73adf7d0e24a7fe0f067f2d3ea3e # 6.2.1
25
+ uses: tox-dev/github-workflows/install-locked-tools@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
29
26
  with:
30
27
  groups: release-news
31
28
  venv: ${{ runner.temp }}/release-tools
32
29
  - name: 🔍 Validate news fragments
33
- uses: tox-dev/github-workflows/validate-news@57a765127aae73adf7d0e24a7fe0f067f2d3ea3e # 6.2.1
30
+ uses: tox-dev/github-workflows/validate-news@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
@@ -16,7 +16,7 @@ permissions: {}
16
16
  jobs:
17
17
  prepare:
18
18
  name: 🏷️ Prepare Towncrier release
19
- uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@57a765127aae73adf7d0e24a7fe0f067f2d3ea3e # 6.2.1
19
+ uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
20
20
  permissions:
21
21
  contents: read
22
22
  pull-requests: read
@@ -0,0 +1,56 @@
1
+ name: 🚀 Release to PyPI
2
+ on:
3
+ push:
4
+ tags: ["*"]
5
+ permissions:
6
+ contents: read
7
+ concurrency:
8
+ group: release-${{ github.ref }}
9
+ cancel-in-progress: false
10
+ jobs:
11
+ build:
12
+ name: 🏗️ Build
13
+ uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
14
+ permissions:
15
+ contents: read
16
+ github-notes:
17
+ name: 📝 Render GitHub Release notes
18
+ uses: tox-dev/github-workflows/.github/workflows/release-notes.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
19
+ permissions:
20
+ contents: read
21
+ with:
22
+ tag: ${{ github.ref_name }}
23
+ changelog: docs/changelog.rst
24
+ artifact-url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}/
25
+ release:
26
+ name: 🚀 Publish to PyPI
27
+ needs: [build, github-notes]
28
+ runs-on: ubuntu-26.04
29
+ environment:
30
+ name: release
31
+ url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}
32
+ permissions:
33
+ id-token: write
34
+ steps:
35
+ - name: 📩 Download distributions
36
+ uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
37
+ with:
38
+ artifact-ids: ${{ needs.build.outputs.distributions-artifact-id }}
39
+ path: dist/
40
+ - name: 🚀 Publish to PyPI
41
+ uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3
42
+ with:
43
+ packages-dir: dist
44
+ attestations: true
45
+ github-release:
46
+ name: 🚀 Publish GitHub Release
47
+ needs: [build, release, github-notes]
48
+ uses: tox-dev/github-workflows/.github/workflows/github-release.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
49
+ permissions:
50
+ contents: write
51
+ with:
52
+ project: pyproject-api
53
+ version: ${{ github.ref_name }}
54
+ tag: ${{ github.ref_name }}
55
+ artifact-pattern: python-package-distributions
56
+ notes-artifact-id: ${{ needs.github-notes.outputs.artifact-id }}
@@ -0,0 +1,26 @@
1
+ name: 🛡️ scorecard
2
+ on:
3
+ branch_protection_rule:
4
+ schedule:
5
+ - cron: "30 7 * * 2"
6
+ push:
7
+ branches: ["main"]
8
+ workflow_dispatch:
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+ permissions: {}
13
+ jobs:
14
+ analysis:
15
+ name: 🛡️ Scorecard analysis
16
+ if: github.repository == 'tox-dev/pyproject-api'
17
+ permissions:
18
+ actions: read # read workflow runs for the Packaging check
19
+ checks: read # read check runs for the CI-Tests and SAST checks
20
+ contents: read # check out and scan the repository
21
+ id-token: write # authenticate the results published to the scorecard API
22
+ issues: read # read issue activity for the Maintained check
23
+ pull-requests: read # read reviews for the Code-Review check
24
+ security-events: write # upload the SARIF results to code scanning
25
+ statuses: read # read commit statuses for the CI-Tests check
26
+ uses: tox-dev/github-workflows/.github/workflows/scorecard.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
@@ -10,7 +10,7 @@ concurrency:
10
10
  jobs:
11
11
  upgrade:
12
12
  name: 🔀 Upgrade release tools
13
- uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@57a765127aae73adf7d0e24a7fe0f067f2d3ea3e # 6.2.1
13
+ uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@bceb5c005e19823dc8835f536f53f172ae223927 # 6.5.0
14
14
  permissions:
15
15
  contents: read
16
16
  secrets:
@@ -9,7 +9,7 @@ repos:
9
9
  - id: end-of-file-fixer
10
10
  - id: trailing-whitespace
11
11
  - repo: https://github.com/python-jsonschema/check-jsonschema
12
- rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 # frozen: 0.38.2
12
+ rev: a76b92851fc9eede9f9bc4073eb55202f34eb0df # frozen: 0.39.0
13
13
  hooks:
14
14
  - id: check-github-workflows
15
15
  args: ["--verbose"]
@@ -30,7 +30,7 @@ repos:
30
30
  hooks:
31
31
  - id: pyproject-fmt
32
32
  - repo: https://github.com/astral-sh/ruff-pre-commit
33
- rev: "38bfb07c0c64c304f47eb52090f8288150c77730" # frozen: v0.17.1
33
+ rev: "25bcf95026b96e2dd3c0aec3090c3d6ef6ca2e6c" # frozen: v0.17.3
34
34
  hooks:
35
35
  - id: ruff-format
36
36
  - id: ruff
@@ -44,7 +44,7 @@ repos:
44
44
  ^docs/changelog[.]rst$ # Only the generated release history.
45
45
  args: ["-l", "120", "--preserve-adornments"]
46
46
  additional_dependencies:
47
- - "sphinx==9.1.1"
47
+ - "sphinx==9.2.0"
48
48
  - repo: https://github.com/zizmorcore/zizmor-pre-commit
49
49
  rev: c92afdf2c6ca336aaa8f39e2bd8d48f62dbd8e1f # frozen: v1.31.1
50
50
  hooks:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pyproject-api
3
- Version: 1.12.3
3
+ Version: 1.12.4
4
4
  Import-Name: pyproject_api
5
5
  Summary: API to interact with the python pyproject.toml based projects
6
6
  Project-URL: Changelog, https://github.com/tox-dev/pyproject-api/blob/main/docs/changelog.rst
@@ -29,13 +29,14 @@ Requires-Python: >=3.11
29
29
  Requires-Dist: packaging>=26.3
30
30
  Description-Content-Type: text/markdown
31
31
 
32
- # [`pyproject-api`][RTD]
32
+ # [`pyproject-api`][rtd]
33
33
 
34
34
  [![PyPI](https://img.shields.io/pypi/v/pyproject-api?style=flat-square)](https://pypi.org/project/pyproject-api/)
35
- [![Supported Python
36
- versions](https://img.shields.io/pypi/pyversions/pyproject-api.svg)](https://pypi.org/project/pyproject-api/)
35
+ [![Supported Python versions](https://img.shields.io/pypi/pyversions/pyproject-api.svg)](https://pypi.org/project/pyproject-api/)
37
36
  [![Downloads](https://static.pepy.tech/badge/pyproject-api/month)](https://pepy.tech/project/pyproject-api)
38
37
  [![check](https://github.com/tox-dev/pyproject-api/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/pyproject-api/actions/workflows/check.yaml)
39
- [![Documentation Status](https://readthedocs.org/projects/pyproject-api/badge/?version=latest)][RTD]
38
+ [![Documentation Status](https://readthedocs.org/projects/pyproject-api/badge/?version=latest)][rtd]
39
+ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/tox-dev/pyproject-api/badge)](https://scorecard.dev/viewer/?uri=github.com/tox-dev/pyproject-api)
40
+ [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/16251/badge)](https://www.bestpractices.dev/projects/16251)
40
41
 
41
- [RTD]: https://pyproject-api.rtfd.io
42
+ [rtd]: https://pyproject-api.rtfd.io
@@ -0,0 +1,11 @@
1
+ # [`pyproject-api`][rtd]
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/pyproject-api?style=flat-square)](https://pypi.org/project/pyproject-api/)
4
+ [![Supported Python versions](https://img.shields.io/pypi/pyversions/pyproject-api.svg)](https://pypi.org/project/pyproject-api/)
5
+ [![Downloads](https://static.pepy.tech/badge/pyproject-api/month)](https://pepy.tech/project/pyproject-api)
6
+ [![check](https://github.com/tox-dev/pyproject-api/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/pyproject-api/actions/workflows/check.yaml)
7
+ [![Documentation Status](https://readthedocs.org/projects/pyproject-api/badge/?version=latest)][rtd]
8
+ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/tox-dev/pyproject-api/badge)](https://scorecard.dev/viewer/?uri=github.com/tox-dev/pyproject-api)
9
+ [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/16251/badge)](https://www.bestpractices.dev/projects/16251)
10
+
11
+ [rtd]: https://pyproject-api.rtfd.io
@@ -5,6 +5,11 @@ Release History
5
5
 
6
6
  .. towncrier release notes start
7
7
 
8
+ .. _release-1-12-4:
9
+
10
+ v1.12.4 (2026-11-04)
11
+ --------------------
12
+
8
13
  .. _release-1-12-3:
9
14
 
10
15
  v1.12.3 (2026-11-02)