devpi-process 1.0.2__tar.gz → 1.1.0__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.
- devpi_process-1.1.0/.github/release.yaml +5 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/workflows/check.yaml +5 -6
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/workflows/release.yaml +5 -5
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.pre-commit-config.yaml +8 -8
- {devpi_process-1.0.2 → devpi_process-1.1.0}/PKG-INFO +9 -11
- {devpi_process-1.0.2 → devpi_process-1.1.0}/pyproject.toml +9 -13
- {devpi_process-1.0.2 → devpi_process-1.1.0}/src/devpi_process/__init__.py +4 -3
- devpi_process-1.1.0/src/devpi_process/_version.py +34 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/tox.ini +8 -9
- devpi_process-1.0.2/.github/release.yml +0 -5
- devpi_process-1.0.2/src/devpi_process/_version.py +0 -16
- /devpi_process-1.0.2/.github/FUNDING.yml → /devpi_process-1.1.0/.github/FUNDING.yaml +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/SECURITY.md +0 -0
- /devpi_process-1.0.2/.github/dependabot.yml → /devpi_process-1.1.0/.github/dependabot.yaml +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.gitignore +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/.markdownlint.yaml +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/CHANGELOG.md +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/CODE_OF_CONDUCT.md +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/LICENSE.txt +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/README.md +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/src/devpi_process/py.typed +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/demo_pkg_inline/build.py +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/demo_pkg_inline/pyproject.toml +0 -0
- {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/test_devpi_process.py +0 -0
|
@@ -19,29 +19,28 @@ jobs:
|
|
|
19
19
|
fail-fast: false
|
|
20
20
|
matrix:
|
|
21
21
|
env:
|
|
22
|
+
- "3.14"
|
|
22
23
|
- "3.13"
|
|
23
24
|
- "3.12"
|
|
24
25
|
- "3.11"
|
|
25
26
|
- "3.10"
|
|
26
|
-
- "3.9"
|
|
27
|
-
- "3.8"
|
|
28
27
|
- type
|
|
29
28
|
- dev
|
|
30
29
|
- pkg_meta
|
|
31
30
|
steps:
|
|
32
|
-
- uses: actions/checkout@
|
|
31
|
+
- uses: actions/checkout@v5
|
|
33
32
|
with:
|
|
34
33
|
fetch-depth: 0
|
|
35
34
|
- name: Install the latest version of uv
|
|
36
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@v7
|
|
37
36
|
with:
|
|
38
37
|
enable-cache: true
|
|
39
38
|
cache-dependency-glob: "pyproject.toml"
|
|
40
39
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
41
40
|
- name: Install tox
|
|
42
|
-
run: uv tool install --python-preference only-managed --python 3.
|
|
41
|
+
run: uv tool install --python-preference only-managed --python 3.14 tox --with tox-uv
|
|
43
42
|
- name: Install Python
|
|
44
|
-
if: startsWith(matrix.env, '3.') && matrix.env != '3.
|
|
43
|
+
if: startsWith(matrix.env, '3.') && matrix.env != '3.14'
|
|
45
44
|
run: uv python install --python-preference only-managed ${{ matrix.env }}
|
|
46
45
|
- name: Setup test suite
|
|
47
46
|
run: tox run -vv --notest --skip-missing-interpreters false -e ${{ matrix.env }}
|
|
@@ -10,17 +10,17 @@ jobs:
|
|
|
10
10
|
build:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
13
|
+
- uses: actions/checkout@v5
|
|
14
14
|
with:
|
|
15
15
|
fetch-depth: 0
|
|
16
16
|
- name: Install the latest version of uv
|
|
17
|
-
uses: astral-sh/setup-uv@
|
|
17
|
+
uses: astral-sh/setup-uv@v7
|
|
18
18
|
with:
|
|
19
19
|
enable-cache: true
|
|
20
20
|
cache-dependency-glob: "pyproject.toml"
|
|
21
21
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
22
22
|
- name: Build package
|
|
23
|
-
run: uv build --python 3.
|
|
23
|
+
run: uv build --python 3.14 --python-preference only-managed --sdist --wheel . --out-dir dist
|
|
24
24
|
- name: Store the distribution packages
|
|
25
25
|
uses: actions/upload-artifact@v4
|
|
26
26
|
with:
|
|
@@ -38,11 +38,11 @@ jobs:
|
|
|
38
38
|
id-token: write
|
|
39
39
|
steps:
|
|
40
40
|
- name: Download all the dists
|
|
41
|
-
uses: actions/download-artifact@
|
|
41
|
+
uses: actions/download-artifact@v5
|
|
42
42
|
with:
|
|
43
43
|
name: ${{ env.dists-artifact-name }}
|
|
44
44
|
path: dist/
|
|
45
45
|
- name: Publish to PyPI
|
|
46
|
-
uses: pypa/gh-action-pypi-publish@v1.
|
|
46
|
+
uses: pypa/gh-action-pypi-publish@v1.13.0
|
|
47
47
|
with:
|
|
48
48
|
attestations: true
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
-
rev:
|
|
3
|
+
rev: v6.0.0
|
|
4
4
|
hooks:
|
|
5
5
|
- id: end-of-file-fixer
|
|
6
6
|
- id: trailing-whitespace
|
|
7
7
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
8
|
-
rev: 0.
|
|
8
|
+
rev: 0.34.0
|
|
9
9
|
hooks:
|
|
10
10
|
- id: check-github-workflows
|
|
11
11
|
args: ["--verbose"]
|
|
12
12
|
- repo: https://github.com/codespell-project/codespell
|
|
13
|
-
rev: v2.
|
|
13
|
+
rev: v2.4.1
|
|
14
14
|
hooks:
|
|
15
15
|
- id: codespell
|
|
16
|
-
additional_dependencies: ["tomli>=2.
|
|
16
|
+
additional_dependencies: ["tomli>=2.2.1"]
|
|
17
17
|
- repo: https://github.com/tox-dev/tox-ini-fmt
|
|
18
|
-
rev: "1.
|
|
18
|
+
rev: "1.6.0"
|
|
19
19
|
hooks:
|
|
20
20
|
- id: tox-ini-fmt
|
|
21
21
|
args: ["-p", "fix"]
|
|
22
22
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
23
|
-
rev: "
|
|
23
|
+
rev: "v2.10.0"
|
|
24
24
|
hooks:
|
|
25
25
|
- id: pyproject-fmt
|
|
26
26
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
27
|
-
rev: "v0.
|
|
27
|
+
rev: "v0.14.0"
|
|
28
28
|
hooks:
|
|
29
29
|
- id: ruff-format
|
|
30
30
|
- id: ruff
|
|
31
31
|
args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"]
|
|
32
32
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
33
|
-
rev: "v3.
|
|
33
|
+
rev: "v3.6.2"
|
|
34
34
|
hooks:
|
|
35
35
|
- id: prettier
|
|
36
36
|
args: ["--print-width=120", "--prose-wrap=always"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: devpi-process
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: devpi process provides a programmatic API to create and use a devpi server process
|
|
5
5
|
Project-URL: Homepage, https://github.com/tox-dev/devpi-process#readme
|
|
6
6
|
Project-URL: Source, https://github.com/tox-dev/devpi-process
|
|
@@ -18,8 +18,6 @@ Classifier: Operating System :: MacOS :: MacOS X
|
|
|
18
18
|
Classifier: Operating System :: Microsoft :: Windows
|
|
19
19
|
Classifier: Operating System :: POSIX
|
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -27,15 +25,15 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
27
25
|
Classifier: Topic :: Software Development :: Libraries
|
|
28
26
|
Classifier: Topic :: Software Development :: Testing
|
|
29
27
|
Classifier: Topic :: Utilities
|
|
30
|
-
Requires-Python: >=3.
|
|
31
|
-
Requires-Dist: devpi-client>=7.
|
|
32
|
-
Requires-Dist: devpi-server>=6.
|
|
33
|
-
Requires-Dist: typing-extensions>=4.
|
|
28
|
+
Requires-Python: >=3.10
|
|
29
|
+
Requires-Dist: devpi-client>=7.2
|
|
30
|
+
Requires-Dist: devpi-server>=6.17
|
|
31
|
+
Requires-Dist: typing-extensions>=4.15; python_version < '3.11'
|
|
34
32
|
Provides-Extra: testing
|
|
35
33
|
Requires-Dist: covdefaults>=2.3; extra == 'testing'
|
|
36
|
-
Requires-Dist: httpx>=0.
|
|
37
|
-
Requires-Dist: pytest-cov>=
|
|
38
|
-
Requires-Dist: pytest>=8.
|
|
34
|
+
Requires-Dist: httpx>=0.28.1; extra == 'testing'
|
|
35
|
+
Requires-Dist: pytest-cov>=7; extra == 'testing'
|
|
36
|
+
Requires-Dist: pytest>=8.4.2; extra == 'testing'
|
|
39
37
|
Description-Content-Type: text/markdown
|
|
40
38
|
|
|
41
39
|
# devpi-process
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
build-backend = "hatchling.build"
|
|
3
3
|
requires = [
|
|
4
|
-
"hatch-vcs>=0.
|
|
5
|
-
"hatchling>=1.
|
|
4
|
+
"hatch-vcs>=0.5",
|
|
5
|
+
"hatchling>=1.27",
|
|
6
6
|
]
|
|
7
7
|
|
|
8
8
|
[project]
|
|
@@ -23,7 +23,7 @@ maintainers = [
|
|
|
23
23
|
authors = [
|
|
24
24
|
{ name = "Bernát Gábor", email = "gaborjbernat@gmail.com" },
|
|
25
25
|
]
|
|
26
|
-
requires-python = ">=3.
|
|
26
|
+
requires-python = ">=3.10"
|
|
27
27
|
classifiers = [
|
|
28
28
|
"Development Status :: 5 - Production/Stable",
|
|
29
29
|
"Framework :: tox",
|
|
@@ -33,8 +33,6 @@ classifiers = [
|
|
|
33
33
|
"Operating System :: Microsoft :: Windows",
|
|
34
34
|
"Operating System :: POSIX",
|
|
35
35
|
"Programming Language :: Python :: 3 :: Only",
|
|
36
|
-
"Programming Language :: Python :: 3.8",
|
|
37
|
-
"Programming Language :: Python :: 3.9",
|
|
38
36
|
"Programming Language :: Python :: 3.10",
|
|
39
37
|
"Programming Language :: Python :: 3.11",
|
|
40
38
|
"Programming Language :: Python :: 3.12",
|
|
@@ -47,15 +45,15 @@ dynamic = [
|
|
|
47
45
|
"version",
|
|
48
46
|
]
|
|
49
47
|
dependencies = [
|
|
50
|
-
"devpi-client>=7.
|
|
51
|
-
"devpi-server>=6.
|
|
52
|
-
"typing-extensions>=4.
|
|
48
|
+
"devpi-client>=7.2",
|
|
49
|
+
"devpi-server>=6.17",
|
|
50
|
+
"typing-extensions>=4.15; python_version<'3.11'",
|
|
53
51
|
]
|
|
54
52
|
optional-dependencies.testing = [
|
|
55
53
|
"covdefaults>=2.3",
|
|
56
|
-
"httpx>=0.
|
|
57
|
-
"pytest>=8.
|
|
58
|
-
"pytest-cov>=
|
|
54
|
+
"httpx>=0.28.1",
|
|
55
|
+
"pytest>=8.4.2",
|
|
56
|
+
"pytest-cov>=7",
|
|
59
57
|
]
|
|
60
58
|
urls.Homepage = "https://github.com/tox-dev/devpi-process#readme"
|
|
61
59
|
urls.Source = "https://github.com/tox-dev/devpi-process"
|
|
@@ -69,7 +67,6 @@ version.source = "vcs"
|
|
|
69
67
|
line-length = 120
|
|
70
68
|
|
|
71
69
|
[tool.ruff]
|
|
72
|
-
target-version = "py38"
|
|
73
70
|
line-length = 120
|
|
74
71
|
format.preview = true
|
|
75
72
|
format.docstring-code-line-length = 100
|
|
@@ -78,7 +75,6 @@ lint.select = [
|
|
|
78
75
|
"ALL",
|
|
79
76
|
]
|
|
80
77
|
lint.ignore = [
|
|
81
|
-
"ANN101", # no type annotation for self
|
|
82
78
|
"ANN401", # allow Any as type annotation
|
|
83
79
|
"COM812", # Conflict with formatter
|
|
84
80
|
"CPY", # No copyright statements
|
|
@@ -11,11 +11,12 @@ from contextlib import closing
|
|
|
11
11
|
from pathlib import Path
|
|
12
12
|
from subprocess import PIPE, Popen, run # noqa: S404
|
|
13
13
|
from threading import Thread
|
|
14
|
-
from typing import IO, TYPE_CHECKING,
|
|
14
|
+
from typing import IO, TYPE_CHECKING, cast
|
|
15
15
|
|
|
16
16
|
from ._version import __version__
|
|
17
17
|
|
|
18
18
|
if TYPE_CHECKING:
|
|
19
|
+
from collections.abc import Iterator, Sequence
|
|
19
20
|
from types import TracebackType
|
|
20
21
|
|
|
21
22
|
if sys.version_info >= (3, 11): # pragma: no cover (py311+)
|
|
@@ -149,7 +150,7 @@ class IndexServer:
|
|
|
149
150
|
|
|
150
151
|
def _drain_stdout(self) -> Iterator[str]:
|
|
151
152
|
process = cast("Popen[str]", self._process)
|
|
152
|
-
stdout = cast(IO[str], process.stdout)
|
|
153
|
+
stdout = cast("IO[str]", process.stdout)
|
|
153
154
|
while True:
|
|
154
155
|
if process.poll() is not None: # pragma: no cover
|
|
155
156
|
print(f"devpi server with pid {process.pid} at {self._server_dir} died") # noqa: T201
|
|
@@ -211,7 +212,7 @@ class IndexServer:
|
|
|
211
212
|
def _find_free_port() -> int:
|
|
212
213
|
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as socket_handler:
|
|
213
214
|
socket_handler.bind(("", 0))
|
|
214
|
-
return cast(int, socket_handler.getsockname()[1])
|
|
215
|
+
return cast("int", socket_handler.getsockname()[1])
|
|
215
216
|
|
|
216
217
|
|
|
217
218
|
__all__ = [
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = [
|
|
5
|
+
"__version__",
|
|
6
|
+
"__version_tuple__",
|
|
7
|
+
"version",
|
|
8
|
+
"version_tuple",
|
|
9
|
+
"__commit_id__",
|
|
10
|
+
"commit_id",
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
TYPE_CHECKING = False
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from typing import Tuple
|
|
16
|
+
from typing import Union
|
|
17
|
+
|
|
18
|
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
+
COMMIT_ID = Union[str, None]
|
|
20
|
+
else:
|
|
21
|
+
VERSION_TUPLE = object
|
|
22
|
+
COMMIT_ID = object
|
|
23
|
+
|
|
24
|
+
version: str
|
|
25
|
+
__version__: str
|
|
26
|
+
__version_tuple__: VERSION_TUPLE
|
|
27
|
+
version_tuple: VERSION_TUPLE
|
|
28
|
+
commit_id: COMMIT_ID
|
|
29
|
+
__commit_id__: COMMIT_ID
|
|
30
|
+
|
|
31
|
+
__version__ = version = '1.1.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 1, 0)
|
|
33
|
+
|
|
34
|
+
__commit_id__ = commit_id = None
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
[tox]
|
|
2
2
|
requires =
|
|
3
|
-
tox>=4.
|
|
4
|
-
tox-uv>=1.
|
|
3
|
+
tox>=4.30.3
|
|
4
|
+
tox-uv>=1.28
|
|
5
5
|
env_list =
|
|
6
6
|
fix
|
|
7
|
+
3.14
|
|
7
8
|
3.13
|
|
8
9
|
3.12
|
|
9
10
|
3.11
|
|
10
11
|
3.10
|
|
11
|
-
3.9
|
|
12
|
-
3.8
|
|
13
12
|
type
|
|
14
13
|
pkg_meta
|
|
15
14
|
skip_missing_interpreters = true
|
|
@@ -37,14 +36,14 @@ commands =
|
|
|
37
36
|
description = format the code base to adhere to our styles, and complain about what we cannot do automatically
|
|
38
37
|
skip_install = true
|
|
39
38
|
deps =
|
|
40
|
-
pre-commit-uv>=4.1.
|
|
39
|
+
pre-commit-uv>=4.1.5
|
|
41
40
|
commands =
|
|
42
41
|
pre-commit run --all-files --show-diff-on-failure
|
|
43
42
|
|
|
44
43
|
[testenv:type]
|
|
45
44
|
description = run type check on code base
|
|
46
45
|
deps =
|
|
47
|
-
mypy==1.
|
|
46
|
+
mypy==1.18.2
|
|
48
47
|
commands =
|
|
49
48
|
mypy src
|
|
50
49
|
mypy tests
|
|
@@ -53,9 +52,9 @@ commands =
|
|
|
53
52
|
description = check that the long description is valid
|
|
54
53
|
skip_install = true
|
|
55
54
|
deps =
|
|
56
|
-
check-wheel-contents>=0.6
|
|
57
|
-
twine>=
|
|
58
|
-
uv>=0.
|
|
55
|
+
check-wheel-contents>=0.6.3
|
|
56
|
+
twine>=6.2
|
|
57
|
+
uv>=0.8.22
|
|
59
58
|
commands =
|
|
60
59
|
uv build --sdist --wheel --out-dir {env_tmp_dir} .
|
|
61
60
|
twine check {env_tmp_dir}{/}*
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools_scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
TYPE_CHECKING = False
|
|
4
|
-
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple, Union
|
|
6
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
|
-
else:
|
|
8
|
-
VERSION_TUPLE = object
|
|
9
|
-
|
|
10
|
-
version: str
|
|
11
|
-
__version__: str
|
|
12
|
-
__version_tuple__: VERSION_TUPLE
|
|
13
|
-
version_tuple: VERSION_TUPLE
|
|
14
|
-
|
|
15
|
-
__version__ = version = '1.0.2'
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 0, 2)
|
|
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
|