xvfbwrapper 0.2.35__tar.gz → 0.2.36__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.
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xvfbwrapper
3
- Version: 0.2.35
3
+ Version: 0.2.36
4
4
  Summary: Manage headless displays with Xvfb (X virtual framebuffer)
5
5
  Author: Corey Goldberg
6
6
  Maintainer: Corey Goldberg
7
7
  License-Expression: MIT
8
8
  Project-URL: homepage, https://github.com/cgoldberg/xvfbwrapper
9
- Project-URL: source, https://github.com/cgoldberg/xvfbwrapper
10
- Project-URL: download, https://pypi.org/project/xvfbwrapper
9
+ Project-URL: repository, https://github.com/cgoldberg/xvfbwrapper
10
+ Project-URL: documentation, https://coreygoldberg.com/xvfbwrapper
11
11
  Keywords: Xvfb,headless,display,X11,X Window System
12
12
  Classifier: Environment :: Console
13
13
  Classifier: Environment :: X11 Applications
@@ -18,7 +18,6 @@ Classifier: Operating System :: POSIX :: Linux
18
18
  Classifier: Operating System :: Unix
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
24
23
  Classifier: Programming Language :: Python :: 3.13
@@ -122,7 +121,7 @@ pip install xvfbwrapper
122
121
 
123
122
  ## System Requirements
124
123
 
125
- - Python 3.10+
124
+ - Python 3.11+
126
125
  - X Window System
127
126
  - Xvfb (`sudo apt-get install xvfb`, `yum install xorg-x11-server-Xvfb`, etc)
128
127
  - Support for file locking using `fcntl` (POSIX systems)
@@ -90,7 +90,7 @@ pip install xvfbwrapper
90
90
 
91
91
  ## System Requirements
92
92
 
93
- - Python 3.10+
93
+ - Python 3.11+
94
94
  - X Window System
95
95
  - Xvfb (`sudo apt-get install xvfb`, `yum install xorg-x11-server-Xvfb`, etc)
96
96
  - Support for file locking using `fcntl` (POSIX systems)
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "xvfbwrapper"
7
- version = "0.2.35"
7
+ version = "0.2.36"
8
8
  description = "Manage headless displays with Xvfb (X virtual framebuffer)"
9
+ requires-python = ">= 3.10"
9
10
  license = "MIT"
10
11
  license-files = ["LICENSE"]
11
12
  authors = [{name = "Corey Goldberg"}]
12
13
  maintainers = [{name = "Corey Goldberg"}]
13
14
  readme = "README.md"
14
- requires-python = ">= 3.10"
15
15
  keywords = ["Xvfb", "headless", "display", "X11", "X Window System"]
16
16
  classifiers = [
17
17
  "Environment :: Console",
@@ -23,7 +23,6 @@ classifiers = [
23
23
  "Operating System :: Unix",
24
24
  "Programming Language :: Python",
25
25
  "Programming Language :: Python :: 3",
26
- "Programming Language :: Python :: 3.10",
27
26
  "Programming Language :: Python :: 3.11",
28
27
  "Programming Language :: Python :: 3.12",
29
28
  "Programming Language :: Python :: 3.13",
@@ -34,29 +33,29 @@ classifiers = [
34
33
 
35
34
  [project.urls]
36
35
  homepage = "https://github.com/cgoldberg/xvfbwrapper"
37
- source = "https://github.com/cgoldberg/xvfbwrapper"
38
- download = "https://pypi.org/project/xvfbwrapper"
36
+ repository = "https://github.com/cgoldberg/xvfbwrapper"
37
+ documentation = "https://coreygoldberg.com/xvfbwrapper"
39
38
 
40
39
  [dependency-groups]
41
40
  dev = [
42
41
  "tox",
43
42
  ]
44
43
  docs = [
45
- "pdoc",
44
+ "pdoc==16.0.0",
46
45
  ]
47
46
  lint = [
48
- "ruff",
47
+ "ruff==0.17.2",
49
48
  ]
50
49
  test = [
51
- "psutil",
52
- "pytest",
50
+ "psutil==7.2.2",
51
+ "pytest==9.1.1",
53
52
  ]
54
53
  type = [
55
- "mypy",
56
- "types-psutil",
54
+ "mypy==2.4.0",
55
+ "types-psutil==7.2.2.20260906",
57
56
  ]
58
57
  validate = [
59
- "validate-pyproject[all]",
58
+ "validate-pyproject[all]==0.27",
60
59
  ]
61
60
 
62
61
  [tool.setuptools]
@@ -65,6 +64,7 @@ py-modules = ["xvfbwrapper"]
65
64
  [tool.pytest]
66
65
  addopts = ["-v"]
67
66
  filterwarnings = ["default"]
67
+ tmp_path_retention_policy = "none"
68
68
 
69
69
  [tool.ruff]
70
70
  line-length = 88
@@ -74,9 +74,10 @@ target-version = "py310"
74
74
  [tool.ruff.lint]
75
75
  select = ["ALL"]
76
76
  ignore = [
77
- "ANN", "COM812", "D", "EM101", "EM102", "FBT", "PERF203",
78
- "PLR", "PT", "PYI034", "SLF001", "S101", "S108", "S311",
79
- "S603", "TRY003", "TRY400"
77
+ "ANN", "COM812", "D", "EM101", "EM102", "FBT",
78
+ "PERF203", "PLR", "PT", "PYI034", "SLF001",
79
+ "S101", "S108", "S311", "S603", "TRY003",
80
+ "TRY400"
80
81
  ]
81
82
  fixable = ["ALL"]
82
83
 
@@ -0,0 +1,140 @@
1
+ # Tox configuration - environment and task orchestrator
2
+ #
3
+ # Environments are isolated and managed by uv using uv.lock.
4
+ #
5
+ # Run "tox" from this directory.
6
+ #
7
+ # Run a specific environment with:
8
+ # "tox -e <env>" (e.g. "tox -e lint")
9
+
10
+
11
+ [tox]
12
+ requires = tox-uv
13
+ venv_redirect = false
14
+ env_list =
15
+ lint
16
+ type
17
+ validate
18
+ py311
19
+ py315
20
+ skip_missing_interpreters = true
21
+
22
+
23
+ [testenv]
24
+ runner = uv-venv-lock-runner
25
+ base_python = python3.13
26
+ platform = linux|darwin|.*bsd.*
27
+ fail_fast = true
28
+ dependency_groups = test
29
+ commands =
30
+ pytest {posargs:.}
31
+
32
+
33
+ [testenv:py311]
34
+ description = Run tests with Python 3.11
35
+ base_python = python3.11
36
+
37
+
38
+ [testenv:py312]
39
+ description = Run tests with Python 3.12
40
+ base_python = python3.12
41
+
42
+
43
+ [testenv:py313]
44
+ description = Run tests with Python 3.13
45
+ base_python = python3.13
46
+
47
+
48
+ [testenv:py314]
49
+ description = Run tests with Python 3.14
50
+ base_python = python3.14
51
+
52
+
53
+ [testenv:py315]
54
+ description = Run tests with Python 3.15
55
+ base_python = python3.15
56
+
57
+
58
+ [testenv:pypy3]
59
+ description = Run tests with PyPy
60
+ base_python = pypy3
61
+
62
+
63
+ [testenv:lint]
64
+ description = Run linting and formatting
65
+ package = skip
66
+ dependency_groups = lint
67
+ commands =
68
+ ruff check --fix --show-fixes --exit-non-zero-on-fix .
69
+ ruff format --exit-non-zero-on-format .
70
+
71
+
72
+ [testenv:validate]
73
+ description = Validate build and project configuration
74
+ dependency_groups = validate
75
+ commands =
76
+ uv lock --check
77
+ validate-pyproject pyproject.toml
78
+ {envpython} -c "import xvfbwrapper"
79
+
80
+
81
+ [testenv:type]
82
+ description = Run type checking
83
+ dependency_groups = type
84
+ package = skip
85
+ commands =
86
+ mypy --install-types --non-interactive {posargs:.}
87
+
88
+
89
+ [testenv:lock]
90
+ description = Update dependency lockfile
91
+ runner = uv-venv-runner
92
+ package = skip
93
+ commands =
94
+ uv lock --upgrade
95
+
96
+
97
+ [testenv:sdist]
98
+ description = Build source distribution
99
+ package = skip
100
+ commands =
101
+ {env_python} -c "import shutil; shutil.rmtree(r'{tox_root}/dist', ignore_errors=True)"
102
+ uv build --sdist
103
+ uvx twine check --strict dist/*
104
+
105
+
106
+ [testenv:wheel]
107
+ description = Build wheel
108
+ package = skip
109
+ commands =
110
+ {env_python} -c "import shutil; shutil.rmtree(r'{tox_root}/dist', ignore_errors=True)"
111
+ uv build --wheel
112
+ uvx twine check --strict dist/*
113
+
114
+
115
+ [testenv:check-dist]
116
+ description = Validate built distributions
117
+ base_python = python3.15
118
+ package = skip
119
+ depends =
120
+ sdist
121
+ wheel
122
+ commands =
123
+ uvx twine check --strict dist/*
124
+
125
+
126
+ [testenv:docs]
127
+ description = build docs
128
+ base_python = python3.15
129
+ allowlist_externals = echo
130
+ dependency_groups = docs
131
+ commands =
132
+ echo "Cleaning {tox_root}/build/"
133
+ {envpython} -c "import shutil; shutil.rmtree('build', ignore_errors=True)"
134
+ echo "Building docs..."
135
+ {envpython} -m pdoc xvfbwrapper \
136
+ --output-dir build/docs \
137
+ --template-directory docs/pdoc \
138
+ --no-search \
139
+ --docformat markdown
140
+ echo "Docs successfully built: {tox_root}/build/docs/index.html"
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xvfbwrapper
3
- Version: 0.2.35
3
+ Version: 0.2.36
4
4
  Summary: Manage headless displays with Xvfb (X virtual framebuffer)
5
5
  Author: Corey Goldberg
6
6
  Maintainer: Corey Goldberg
7
7
  License-Expression: MIT
8
8
  Project-URL: homepage, https://github.com/cgoldberg/xvfbwrapper
9
- Project-URL: source, https://github.com/cgoldberg/xvfbwrapper
10
- Project-URL: download, https://pypi.org/project/xvfbwrapper
9
+ Project-URL: repository, https://github.com/cgoldberg/xvfbwrapper
10
+ Project-URL: documentation, https://coreygoldberg.com/xvfbwrapper
11
11
  Keywords: Xvfb,headless,display,X11,X Window System
12
12
  Classifier: Environment :: Console
13
13
  Classifier: Environment :: X11 Applications
@@ -18,7 +18,6 @@ Classifier: Operating System :: POSIX :: Linux
18
18
  Classifier: Operating System :: Unix
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
24
23
  Classifier: Programming Language :: Python :: 3.13
@@ -122,7 +121,7 @@ pip install xvfbwrapper
122
121
 
123
122
  ## System Requirements
124
123
 
125
- - Python 3.10+
124
+ - Python 3.11+
126
125
  - X Window System
127
126
  - Xvfb (`sudo apt-get install xvfb`, `yum install xorg-x11-server-Xvfb`, etc)
128
127
  - Support for file locking using `fcntl` (POSIX systems)
@@ -1,76 +0,0 @@
1
- # Tox configuration - environment and task orchestrator
2
- #
3
- # Run "tox" from this directory.
4
- #
5
- # Run a specific environment with:
6
- # "tox -e <env>" (e.g. "tox -e lint")
7
-
8
-
9
- [tox]
10
- envlist =
11
- validate
12
- lint
13
- type
14
- py310
15
- py315
16
- pypy3
17
- skip_missing_interpreters = true
18
-
19
-
20
- [testenv]
21
- description = run tests
22
- platform = linux|darwin|.*bsd.*
23
- dependency_groups =
24
- test
25
- commands =
26
- pytest {posargs:.}
27
-
28
-
29
- [testenv:validate]
30
- description = validate project configuration
31
- platform = linux|darwin|.*bsd.*
32
- dependency_groups =
33
- validate
34
- commands =
35
- validate-pyproject pyproject.toml
36
- {envpython} -c "import xvfbwrapper"
37
-
38
-
39
- [testenv:lint]
40
- description = run linter and formatter
41
- platform = .*
42
- dependency_groups =
43
- lint
44
- skip_install = true
45
- commands =
46
- ruff check --fix --show-fixes --exit-non-zero-on-fix .
47
- ruff format --exit-non-zero-on-format .
48
-
49
-
50
- [testenv:type]
51
- description = run type checking
52
- platform = linux|darwin|.*bsd.*
53
- dependency_groups =
54
- type
55
- skip_install = true
56
- commands =
57
- mypy --install-types --non-interactive {posargs:.}
58
-
59
-
60
- [testenv:docs]
61
- description = build docs
62
- platform = .*
63
- allowlist_externals =
64
- echo
65
- dependency_groups =
66
- docs
67
- commands =
68
- echo "Cleaning {tox_root}/build/"
69
- {envpython} -c "import shutil; shutil.rmtree('build', ignore_errors=True)"
70
- echo "Building docs..."
71
- {envpython} -m pdoc xvfbwrapper \
72
- --output-dir build/docs \
73
- --template-directory docs/pdoc \
74
- --no-search \
75
- --docformat markdown
76
- echo "Docs successfully built: {tox_root}/build/docs/index.html"
File without changes
File without changes
File without changes
File without changes