pyproject-api 1.4.0__tar.gz → 1.5.1__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.
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.github/workflows/check.yml +1 -1
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.pre-commit-config.yaml +12 -12
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/PKG-INFO +8 -15
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/docs/changelog.rst +6 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/docs/conf.py +1 -1
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/pyproject.toml +36 -26
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_frontend.py +1 -1
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_version.py +2 -2
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/demo_pkg_inline/build.py +12 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tox.ini +2 -2
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.github/dependabot.yml +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.gitignore +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.markdownlint.yaml +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/.readthedocs.yml +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/CODE_OF_CONDUCT.md +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/LICENSE +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/README.md +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/docs/index.rst +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/__init__.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/__main__.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_backend.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_backend.pyi +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_util.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/_via_fresh_subprocess.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/src/pyproject_api/py.typed +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/_build_sdist.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/demo_pkg_inline/build.pyi +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/demo_pkg_inline/pyproject.toml +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_backend.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_frontend.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_frontend_setuptools.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_main.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_util.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/tests/test_version.py +0 -0
- {pyproject_api-1.4.0 → pyproject_api-1.5.1}/whitelist.txt +0 -0
|
@@ -18,25 +18,25 @@ repos:
|
|
|
18
18
|
args: ["--py37-plus"]
|
|
19
19
|
exclude: "^(src/pyproject_api/_backend.py|tests/demo_pkg_inline/build.py)$"
|
|
20
20
|
- repo: https://github.com/PyCQA/isort
|
|
21
|
-
rev: 5.
|
|
21
|
+
rev: 5.12.0
|
|
22
22
|
hooks:
|
|
23
23
|
- id: isort
|
|
24
24
|
- repo: https://github.com/psf/black
|
|
25
|
-
rev:
|
|
25
|
+
rev: 23.1.0
|
|
26
26
|
hooks:
|
|
27
27
|
- id: black
|
|
28
28
|
args: [--safe]
|
|
29
29
|
- repo: https://github.com/asottile/blacken-docs
|
|
30
|
-
rev:
|
|
30
|
+
rev: 1.13.0
|
|
31
31
|
hooks:
|
|
32
32
|
- id: blacken-docs
|
|
33
|
-
additional_dependencies: [black==
|
|
33
|
+
additional_dependencies: [black==23.1]
|
|
34
34
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
35
|
-
rev: v1.
|
|
35
|
+
rev: v1.10.0
|
|
36
36
|
hooks:
|
|
37
37
|
- id: rst-backticks
|
|
38
38
|
- repo: https://github.com/tox-dev/tox-ini-fmt
|
|
39
|
-
rev: "0.
|
|
39
|
+
rev: "0.6.1"
|
|
40
40
|
hooks:
|
|
41
41
|
- id: tox-ini-fmt
|
|
42
42
|
args: ["-p", "fix"]
|
|
@@ -45,16 +45,16 @@ repos:
|
|
|
45
45
|
hooks:
|
|
46
46
|
- id: flake8
|
|
47
47
|
additional_dependencies:
|
|
48
|
-
- flake8-bugbear==
|
|
48
|
+
- flake8-bugbear==23.1.20
|
|
49
49
|
- flake8-comprehensions==3.10.1
|
|
50
50
|
- flake8-pytest-style==1.6
|
|
51
51
|
- flake8-spellcheck==0.28
|
|
52
|
-
- flake8-unused-arguments==0.0.
|
|
52
|
+
- flake8-unused-arguments==0.0.13
|
|
53
53
|
- flake8-noqa==1.3
|
|
54
|
-
- pep8-naming==0.13.
|
|
55
|
-
- flake8-pyproject==1.2.
|
|
54
|
+
- pep8-naming==0.13.3
|
|
55
|
+
- flake8-pyproject==1.2.2
|
|
56
56
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
57
|
-
rev: "
|
|
57
|
+
rev: "v2.7.1"
|
|
58
58
|
hooks:
|
|
59
59
|
- id: prettier
|
|
60
60
|
additional_dependencies:
|
|
@@ -62,7 +62,7 @@ repos:
|
|
|
62
62
|
- "@prettier/plugin-xml@2.2"
|
|
63
63
|
args: ["--print-width=120", "--prose-wrap=always"]
|
|
64
64
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
65
|
-
rev: v0.
|
|
65
|
+
rev: v0.33.0
|
|
66
66
|
hooks:
|
|
67
67
|
- id: markdownlint
|
|
68
68
|
- repo: meta
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyproject_api
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.1
|
|
4
4
|
Summary: API to interact with the python pyproject.toml based projects
|
|
5
5
|
Project-URL: Homepage, http://pyproject_api.readthedocs.org
|
|
6
6
|
Project-URL: Source, https://github.com/tox-dev/pyproject-api
|
|
@@ -17,30 +17,23 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
17
17
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
18
18
|
Classifier: Operating System :: Microsoft :: Windows
|
|
19
19
|
Classifier: Operating System :: POSIX
|
|
20
|
-
Classifier: Programming Language :: Python :: 3
|
|
21
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
27
20
|
Classifier: Topic :: Software Development :: Libraries
|
|
28
21
|
Classifier: Topic :: Software Development :: Testing
|
|
29
22
|
Classifier: Topic :: Utilities
|
|
30
23
|
Requires-Python: >=3.7
|
|
31
|
-
Requires-Dist: packaging>=
|
|
24
|
+
Requires-Dist: packaging>=23
|
|
32
25
|
Requires-Dist: tomli>=2.0.1; python_version < '3.11'
|
|
33
26
|
Provides-Extra: docs
|
|
34
|
-
Requires-Dist: furo>=2022.
|
|
35
|
-
Requires-Dist: sphinx-autodoc-typehints
|
|
36
|
-
Requires-Dist: sphinx>=
|
|
27
|
+
Requires-Dist: furo>=2022.12.7; extra == 'docs'
|
|
28
|
+
Requires-Dist: sphinx-autodoc-typehints!=1.23.4,>=1.22; extra == 'docs'
|
|
29
|
+
Requires-Dist: sphinx>=6.1.3; extra == 'docs'
|
|
37
30
|
Provides-Extra: testing
|
|
38
31
|
Requires-Dist: covdefaults>=2.2.2; extra == 'testing'
|
|
39
|
-
Requires-Dist: importlib-metadata>=
|
|
32
|
+
Requires-Dist: importlib-metadata>=6; python_version < '3.8' and extra == 'testing'
|
|
40
33
|
Requires-Dist: pytest-cov>=4; extra == 'testing'
|
|
41
34
|
Requires-Dist: pytest-mock>=3.10; extra == 'testing'
|
|
42
|
-
Requires-Dist: pytest>=7.2; extra == 'testing'
|
|
43
|
-
Requires-Dist: virtualenv>=20.17; extra == 'testing'
|
|
35
|
+
Requires-Dist: pytest>=7.2.1; extra == 'testing'
|
|
36
|
+
Requires-Dist: virtualenv>=20.17.1; extra == 'testing'
|
|
44
37
|
Requires-Dist: wheel>=0.38.4; extra == 'testing'
|
|
45
38
|
Description-Content-Type: text/markdown
|
|
46
39
|
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
Release History
|
|
2
2
|
===============
|
|
3
3
|
|
|
4
|
+
v1.5.0 - (2023-01-17)
|
|
5
|
+
---------------------
|
|
6
|
+
- When getting metadata from a built wheel, do not pass ``metadata_directory``
|
|
7
|
+
to ``build_wheel``, which forces the backend to generate the metadata - by :user:`masenf`.
|
|
8
|
+
(`#47 <https://github.com/tox-dev/pyproject-api/issues/47>`_)
|
|
9
|
+
|
|
4
10
|
v1.4.0 - (2022-01-04)
|
|
5
11
|
---------------------
|
|
6
12
|
- Add minimal CLI for debugging
|
|
@@ -20,7 +20,7 @@ extensions = [
|
|
|
20
20
|
master_doc, source_suffix = "index", ".rst"
|
|
21
21
|
|
|
22
22
|
html_theme = "furo"
|
|
23
|
-
html_title, html_last_updated_fmt = "pyproject-api docs",
|
|
23
|
+
html_title, html_last_updated_fmt = "pyproject-api docs", "%Y-%m-%dT%H:%M:%S"
|
|
24
24
|
pygments_style, pygments_dark_style = "sphinx", "monokai"
|
|
25
25
|
|
|
26
26
|
autoclass_content, autodoc_typehints = "both", "none"
|
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
build-backend = "hatchling.build"
|
|
3
|
-
requires = [
|
|
3
|
+
requires = [
|
|
4
|
+
"hatch-vcs>=0.3",
|
|
5
|
+
"hatchling>=1.12.2",
|
|
6
|
+
]
|
|
4
7
|
|
|
5
8
|
[project]
|
|
6
9
|
name = "pyproject_api"
|
|
7
10
|
description = "API to interact with the python pyproject.toml based projects"
|
|
8
|
-
readme.file = "README.md"
|
|
9
11
|
readme.content-type = "text/markdown"
|
|
10
|
-
|
|
12
|
+
readme.file = "README.md"
|
|
13
|
+
keywords = [
|
|
14
|
+
"environments",
|
|
15
|
+
"isolated",
|
|
16
|
+
"testing",
|
|
17
|
+
"virtual",
|
|
18
|
+
]
|
|
11
19
|
license = "MIT"
|
|
12
|
-
urls.Homepage = "http://pyproject_api.readthedocs.org"
|
|
13
|
-
urls.Source = "https://github.com/tox-dev/pyproject-api"
|
|
14
|
-
urls.Tracker = "https://github.com/tox-dev/pyproject-api/issues"
|
|
15
|
-
authors = [{ name = "Bernát Gábor", email = "gaborjbernat@gmail.com" }]
|
|
16
20
|
maintainers = [{ name = "Bernát Gábor", email = "gaborjbernat@gmail.com" }]
|
|
21
|
+
authors = [{ name = "Bernát Gábor", email = "gaborjbernat@gmail.com" }]
|
|
17
22
|
requires-python = ">=3.7"
|
|
18
|
-
dependencies = ["packaging>=21.3", 'tomli>=2.0.1; python_version < "3.11"']
|
|
19
|
-
optional-dependencies.docs = ["furo>=2022.9.29", "sphinx>=5.3", "sphinx-autodoc-typehints>=1.19.5"]
|
|
20
|
-
optional-dependencies.testing = [
|
|
21
|
-
"covdefaults>=2.2.2",
|
|
22
|
-
"pytest>=7.2",
|
|
23
|
-
"pytest-cov>=4",
|
|
24
|
-
"pytest-mock>=3.10",
|
|
25
|
-
'importlib-metadata>=5.1; python_version < "3.8"',
|
|
26
|
-
"wheel>=0.38.4",
|
|
27
|
-
"virtualenv>=20.17",
|
|
28
|
-
]
|
|
29
|
-
dynamic = ["version"]
|
|
30
23
|
classifiers = [
|
|
31
24
|
"Development Status :: 5 - Production/Stable",
|
|
32
25
|
"Framework :: tox",
|
|
@@ -35,17 +28,34 @@ classifiers = [
|
|
|
35
28
|
"Operating System :: MacOS :: MacOS X",
|
|
36
29
|
"Operating System :: Microsoft :: Windows",
|
|
37
30
|
"Operating System :: POSIX",
|
|
38
|
-
"Programming Language :: Python :: 3",
|
|
39
|
-
"Programming Language :: Python :: 3 :: Only",
|
|
40
|
-
"Programming Language :: Python :: 3.7",
|
|
41
|
-
"Programming Language :: Python :: 3.8",
|
|
42
|
-
"Programming Language :: Python :: 3.9",
|
|
43
|
-
"Programming Language :: Python :: 3.10",
|
|
44
|
-
"Programming Language :: Python :: 3.11",
|
|
45
31
|
"Topic :: Software Development :: Libraries",
|
|
46
32
|
"Topic :: Software Development :: Testing",
|
|
47
33
|
"Topic :: Utilities",
|
|
48
34
|
]
|
|
35
|
+
dynamic = [
|
|
36
|
+
"version",
|
|
37
|
+
]
|
|
38
|
+
dependencies = [
|
|
39
|
+
"packaging>=23",
|
|
40
|
+
'tomli>=2.0.1; python_version < "3.11"',
|
|
41
|
+
]
|
|
42
|
+
optional-dependencies.docs = [
|
|
43
|
+
"furo>=2022.12.7",
|
|
44
|
+
"sphinx>=6.1.3",
|
|
45
|
+
"sphinx-autodoc-typehints!=1.23.4,>=1.22",
|
|
46
|
+
]
|
|
47
|
+
optional-dependencies.testing = [
|
|
48
|
+
"covdefaults>=2.2.2",
|
|
49
|
+
'importlib-metadata>=6; python_version < "3.8"',
|
|
50
|
+
"pytest>=7.2.1",
|
|
51
|
+
"pytest-cov>=4",
|
|
52
|
+
"pytest-mock>=3.10",
|
|
53
|
+
"virtualenv>=20.17.1",
|
|
54
|
+
"wheel>=0.38.4",
|
|
55
|
+
]
|
|
56
|
+
urls.Homepage = "http://pyproject_api.readthedocs.org"
|
|
57
|
+
urls.Source = "https://github.com/tox-dev/pyproject-api"
|
|
58
|
+
urls.Tracker = "https://github.com/tox-dev/pyproject-api/issues"
|
|
49
59
|
|
|
50
60
|
[tool.hatch]
|
|
51
61
|
build.hooks.vcs.version-file = "src/pyproject_api/_version.py"
|
|
@@ -453,7 +453,7 @@ class Frontend(ABC):
|
|
|
453
453
|
wheel_result = getattr(self, cmd)(
|
|
454
454
|
wheel_directory=wheel_directory,
|
|
455
455
|
config_settings=config_settings,
|
|
456
|
-
metadata_directory=
|
|
456
|
+
metadata_directory=None, # let the backend populate the metadata
|
|
457
457
|
)
|
|
458
458
|
wheel = wheel_result.wheel
|
|
459
459
|
if not wheel.exists():
|
|
@@ -20,6 +20,8 @@ wheel = "{}/WHEEL".format(dist_info)
|
|
|
20
20
|
record = "{}/RECORD".format(dist_info)
|
|
21
21
|
content = {
|
|
22
22
|
logic: "def do():\n print('greetings from {}')".format(name),
|
|
23
|
+
}
|
|
24
|
+
metadata = {
|
|
23
25
|
metadata: """
|
|
24
26
|
Metadata-Version: 2.1
|
|
25
27
|
Name: {}
|
|
@@ -62,6 +64,16 @@ def build_wheel(wheel_directory, metadata_directory=None, config_settings=None):
|
|
|
62
64
|
with ZipFile(path, "w") as zip_file_handler:
|
|
63
65
|
for arc_name, data in content.items(): # pragma: no branch
|
|
64
66
|
zip_file_handler.writestr(arc_name, dedent(data).strip())
|
|
67
|
+
if metadata_directory is not None:
|
|
68
|
+
for sub_directory, _, filenames in os.walk(metadata_directory):
|
|
69
|
+
for filename in filenames:
|
|
70
|
+
zip_file_handler.write(
|
|
71
|
+
os.path.join(metadata_directory, sub_directory, filename),
|
|
72
|
+
os.path.join(sub_directory, filename),
|
|
73
|
+
)
|
|
74
|
+
else:
|
|
75
|
+
for arc_name, data in metadata.items(): # pragma: no branch
|
|
76
|
+
zip_file_handler.writestr(arc_name, dedent(data).strip())
|
|
65
77
|
print("created wheel {}".format(path))
|
|
66
78
|
return base_name
|
|
67
79
|
|
|
@@ -39,7 +39,7 @@ passenv =
|
|
|
39
39
|
PROGRAMDATA
|
|
40
40
|
skip_install = true
|
|
41
41
|
deps =
|
|
42
|
-
pre-commit>=
|
|
42
|
+
pre-commit>=3.0.4
|
|
43
43
|
commands =
|
|
44
44
|
pre-commit run --all-files --show-diff-on-failure {tty:--color=always} {posargs}
|
|
45
45
|
|
|
@@ -65,7 +65,7 @@ commands =
|
|
|
65
65
|
description = check that the long description is valid
|
|
66
66
|
skip_install = true
|
|
67
67
|
deps =
|
|
68
|
-
build[virtualenv]>=0.
|
|
68
|
+
build[virtualenv]>=0.10
|
|
69
69
|
check-wheel-contents>=0.4
|
|
70
70
|
twine>=4.0.2
|
|
71
71
|
commands =
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|