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.
Files changed (24) hide show
  1. devpi_process-1.1.0/.github/release.yaml +5 -0
  2. {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/workflows/check.yaml +5 -6
  3. {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/workflows/release.yaml +5 -5
  4. {devpi_process-1.0.2 → devpi_process-1.1.0}/.pre-commit-config.yaml +8 -8
  5. {devpi_process-1.0.2 → devpi_process-1.1.0}/PKG-INFO +9 -11
  6. {devpi_process-1.0.2 → devpi_process-1.1.0}/pyproject.toml +9 -13
  7. {devpi_process-1.0.2 → devpi_process-1.1.0}/src/devpi_process/__init__.py +4 -3
  8. devpi_process-1.1.0/src/devpi_process/_version.py +34 -0
  9. {devpi_process-1.0.2 → devpi_process-1.1.0}/tox.ini +8 -9
  10. devpi_process-1.0.2/.github/release.yml +0 -5
  11. devpi_process-1.0.2/src/devpi_process/_version.py +0 -16
  12. /devpi_process-1.0.2/.github/FUNDING.yml → /devpi_process-1.1.0/.github/FUNDING.yaml +0 -0
  13. {devpi_process-1.0.2 → devpi_process-1.1.0}/.github/SECURITY.md +0 -0
  14. /devpi_process-1.0.2/.github/dependabot.yml → /devpi_process-1.1.0/.github/dependabot.yaml +0 -0
  15. {devpi_process-1.0.2 → devpi_process-1.1.0}/.gitignore +0 -0
  16. {devpi_process-1.0.2 → devpi_process-1.1.0}/.markdownlint.yaml +0 -0
  17. {devpi_process-1.0.2 → devpi_process-1.1.0}/CHANGELOG.md +0 -0
  18. {devpi_process-1.0.2 → devpi_process-1.1.0}/CODE_OF_CONDUCT.md +0 -0
  19. {devpi_process-1.0.2 → devpi_process-1.1.0}/LICENSE.txt +0 -0
  20. {devpi_process-1.0.2 → devpi_process-1.1.0}/README.md +0 -0
  21. {devpi_process-1.0.2 → devpi_process-1.1.0}/src/devpi_process/py.typed +0 -0
  22. {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/demo_pkg_inline/build.py +0 -0
  23. {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/demo_pkg_inline/pyproject.toml +0 -0
  24. {devpi_process-1.0.2 → devpi_process-1.1.0}/tests/test_devpi_process.py +0 -0
@@ -0,0 +1,5 @@
1
+ changelog:
2
+ exclude:
3
+ authors:
4
+ - dependabot[bot]
5
+ - pre-commit-ci[bot]
@@ -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@v4
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@v3
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.13 tox --with tox-uv
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.13'
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@v4
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@v3
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.13 --python-preference only-managed --sdist --wheel . --out-dir dist
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@v4
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.10.1
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: v4.6.0
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.29.2
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.3.0
13
+ rev: v2.4.1
14
14
  hooks:
15
15
  - id: codespell
16
- additional_dependencies: ["tomli>=2.0.1"]
16
+ additional_dependencies: ["tomli>=2.2.1"]
17
17
  - repo: https://github.com/tox-dev/tox-ini-fmt
18
- rev: "1.4.0"
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: "2.2.3"
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.6.5"
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.3.3"
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.3
1
+ Metadata-Version: 2.4
2
2
  Name: devpi-process
3
- Version: 1.0.2
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.8
31
- Requires-Dist: devpi-client>=7.1
32
- Requires-Dist: devpi-server>=6.12.1
33
- Requires-Dist: typing-extensions>=4.12.2; python_version < '3.11'
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.27.2; extra == 'testing'
37
- Requires-Dist: pytest-cov>=5; extra == 'testing'
38
- Requires-Dist: pytest>=8.3.2; extra == 'testing'
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.4",
5
- "hatchling>=1.25",
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.8"
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.1",
51
- "devpi-server>=6.12.1",
52
- "typing-extensions>=4.12.2; python_version<'3.11'",
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.27.2",
57
- "pytest>=8.3.2",
58
- "pytest-cov>=5",
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, Iterator, Sequence, cast
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.2
4
- tox-uv>=1.11.3
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.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.11.2
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>=5.1.1
58
- uv>=0.4.10
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,5 +0,0 @@
1
- changelog:
2
- exclude:
3
- authors:
4
- - dependabot
5
- - pre-commit-ci
@@ -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