provide-testkit 0.4.0__tar.gz → 0.4.2__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.
- {provide_testkit-0.4.0/src/provide_testkit.egg-info → provide_testkit-0.4.2}/PKG-INFO +10 -10
- provide_testkit-0.4.2/VERSION +1 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/pyproject.toml +23 -13
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/cli/testing.py +1 -1
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/temp.py +1 -1
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/cli.py +3 -1
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/profiling/profiler.py +1 -1
- {provide_testkit-0.4.0 → provide_testkit-0.4.2/src/provide_testkit.egg-info}/PKG-INFO +10 -10
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/requires.txt +13 -9
- provide_testkit-0.4.0/VERSION +0 -1
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/LICENSE +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/README.md +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/setup.cfg +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/__main__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/_blocker.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/_early_init.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/_install_blocker.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/_install_pth.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/base/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/base/foundation.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/base/harness.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/base/minimal.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/concurrency_strategies.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/io_strategies.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/strategies.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/time_strategies.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/cli/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/cli/runner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/common/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/common/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/conftest.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/crypto/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/crypto/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/content_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/directory_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/special_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/hub/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/hub/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/logger/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/logger/hooks.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/logger/mocks.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/logger/reset.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/main.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/mocking/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/mocking/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/mocking/time.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/async_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/script_assertions.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/script_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/subprocess_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/system_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/provide_testkit_init.pth +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/py.typed +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/pytest_plugin.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/artifacts.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/base.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/analyzer.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/fixture.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/fixture.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/reporter.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/tracker.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/decorators.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/documentation/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/documentation/checker.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/documentation/fixture.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/profiling/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/profiling/fixture.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/report.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/runner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/fixture.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/gitleaks_scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/pip_audit_scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/safety_scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/semgrep_scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/trufflehog_scanner.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/streams/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/streams/testing.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/basic_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/data_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/execution_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/sync_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/classes.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/controlled.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/freezing.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/measurement.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/mocking.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/time/rate_limiting.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/transport/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/transport/fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/utils/__init__.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/utils/environment.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/utils/temp_env.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/SOURCES.txt +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/dependency_links.txt +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/entry_points.txt +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/top_level.txt +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/tests/test_async_fixtures.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/tests/test_early_init.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/tests/test_placeholder.py +0 -0
- {provide_testkit-0.4.0 → provide_testkit-0.4.2}/tests/test_pth_installation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: provide-testkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: Testing utilities and fixtures for the provide ecosystem.
|
|
5
5
|
Author-email: Tim Perkins <code@tim.life>
|
|
6
6
|
Maintainer-email: "provide.io" <code@provide.io>
|
|
@@ -24,7 +24,7 @@ Classifier: Typing :: Typed
|
|
|
24
24
|
Requires-Python: >=3.11
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
License-File: LICENSE
|
|
27
|
-
Requires-Dist: provide-foundation>=0.
|
|
27
|
+
Requires-Dist: provide-foundation>=0.4.0
|
|
28
28
|
Requires-Dist: attrs>=25.4.0
|
|
29
29
|
Requires-Dist: click>=8.3.1
|
|
30
30
|
Requires-Dist: pytest>=9.0.2
|
|
@@ -44,7 +44,7 @@ Requires-Dist: mutmut; extra == "quality"
|
|
|
44
44
|
Provides-Extra: typecheck
|
|
45
45
|
Requires-Dist: mypy; extra == "typecheck"
|
|
46
46
|
Requires-Dist: pyright; extra == "typecheck"
|
|
47
|
-
Requires-Dist: pyre-check; extra == "typecheck"
|
|
47
|
+
Requires-Dist: pyre-check; sys_platform != "win32" and extra == "typecheck"
|
|
48
48
|
Requires-Dist: pyre-extensions; extra == "typecheck"
|
|
49
49
|
Requires-Dist: pyrefly; extra == "typecheck"
|
|
50
50
|
Requires-Dist: ty; extra == "typecheck"
|
|
@@ -63,7 +63,7 @@ Requires-Dist: pytest-benchmark; extra == "advanced-testing"
|
|
|
63
63
|
Requires-Dist: pytest-testmon; extra == "advanced-testing"
|
|
64
64
|
Requires-Dist: pytest-json-report; extra == "advanced-testing"
|
|
65
65
|
Provides-Extra: profiling
|
|
66
|
-
Requires-Dist: memray; extra == "profiling"
|
|
66
|
+
Requires-Dist: memray; sys_platform != "win32" and extra == "profiling"
|
|
67
67
|
Requires-Dist: viztracer; extra == "profiling"
|
|
68
68
|
Provides-Extra: transport
|
|
69
69
|
Requires-Dist: httpx>=0.28.1; extra == "transport"
|
|
@@ -123,17 +123,17 @@ Requires-Dist: bandit; extra == "security"
|
|
|
123
123
|
Requires-Dist: safety; extra == "security"
|
|
124
124
|
Requires-Dist: pip-audit; extra == "security"
|
|
125
125
|
Provides-Extra: standard
|
|
126
|
-
Requires-Dist: provide-testkit[crypto,process,quality,transport]; extra == "standard"
|
|
126
|
+
Requires-Dist: provide-testkit[crypto,process,quality,transport]>=0.4.0; extra == "standard"
|
|
127
127
|
Provides-Extra: grpc-dev
|
|
128
|
-
Requires-Dist: provide-testkit[grpc,standard,typecheck]; extra == "grpc-dev"
|
|
128
|
+
Requires-Dist: provide-testkit[grpc,standard,typecheck]>=0.4.0; extra == "grpc-dev"
|
|
129
129
|
Provides-Extra: pyvider-dev
|
|
130
|
-
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]; extra == "pyvider-dev"
|
|
130
|
+
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]>=0.4.0; extra == "pyvider-dev"
|
|
131
131
|
Provides-Extra: all
|
|
132
|
-
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]; extra == "all"
|
|
132
|
+
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0; extra == "all"
|
|
133
133
|
Provides-Extra: dev
|
|
134
|
-
Requires-Dist: provide-testkit[advanced-testing,quality]; extra == "dev"
|
|
134
|
+
Requires-Dist: provide-testkit[advanced-testing,quality]>=0.4.0; extra == "dev"
|
|
135
135
|
Provides-Extra: docs-standalone
|
|
136
|
-
Requires-Dist: provide-testkit[docs]; extra == "docs-standalone"
|
|
136
|
+
Requires-Dist: provide-testkit[docs]>=0.4.0; extra == "docs-standalone"
|
|
137
137
|
Dynamic: license-file
|
|
138
138
|
|
|
139
139
|
# 🧪✅ Provide TestKit
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.4.2
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
#
|
|
5
|
-
# provide-testkit/pyproject.toml
|
|
5
|
+
# provide-testkit>=0.4.0/pyproject.toml
|
|
6
6
|
#
|
|
7
7
|
# Testing utilities and fixtures for the provide ecosystem.
|
|
8
8
|
#
|
|
@@ -39,7 +39,7 @@ classifiers = [
|
|
|
39
39
|
"Typing :: Typed",
|
|
40
40
|
]
|
|
41
41
|
dependencies = [
|
|
42
|
-
"provide-foundation>=0.
|
|
42
|
+
"provide-foundation>=0.4.0",
|
|
43
43
|
"attrs>=25.4.0",
|
|
44
44
|
"click>=8.3.1", # For CLI testing utilities - SHARED with Foundation
|
|
45
45
|
# Core testing - minimum version constraints for stability
|
|
@@ -74,7 +74,10 @@ quality = [
|
|
|
74
74
|
typecheck = [
|
|
75
75
|
"mypy",
|
|
76
76
|
"pyright",
|
|
77
|
-
|
|
77
|
+
# pyre-check publishes no Windows wheel (MacOS and POSIX::Linux only) and
|
|
78
|
+
# pulls testslide, which is Linux-only, so `uv sync` tries to build both from
|
|
79
|
+
# source on Windows and fails.
|
|
80
|
+
"pyre-check; sys_platform != 'win32'",
|
|
78
81
|
"pyre-extensions",
|
|
79
82
|
"pyrefly",
|
|
80
83
|
"ty",
|
|
@@ -99,7 +102,11 @@ advanced-testing = [
|
|
|
99
102
|
|
|
100
103
|
# Performance profiling (no upper bounds - use latest)
|
|
101
104
|
profiling = [
|
|
102
|
-
|
|
105
|
+
# memray is a POSIX profiler -- it declares MacOS and POSIX::Linux, publishes
|
|
106
|
+
# no Windows wheel, and its scikit-build-core/CMake build fails outright
|
|
107
|
+
# against Visual Studio. Installing this extra on Windows used to break the
|
|
108
|
+
# whole resolution rather than skip the profiler.
|
|
109
|
+
"memray; sys_platform != 'win32'",
|
|
103
110
|
"viztracer",
|
|
104
111
|
]
|
|
105
112
|
|
|
@@ -205,28 +212,28 @@ security = [
|
|
|
205
212
|
|
|
206
213
|
# Convenience groups
|
|
207
214
|
standard = [
|
|
208
|
-
"provide-testkit[quality,transport,crypto,process]",
|
|
215
|
+
"provide-testkit[quality,transport,crypto,process]>=0.4.0",
|
|
209
216
|
]
|
|
210
217
|
|
|
211
218
|
grpc-dev = [
|
|
212
|
-
"provide-testkit[standard,grpc,typecheck]",
|
|
219
|
+
"provide-testkit[standard,grpc,typecheck]>=0.4.0",
|
|
213
220
|
]
|
|
214
221
|
|
|
215
222
|
pyvider-dev = [
|
|
216
|
-
"provide-testkit[standard,advanced-testing,typecheck,grpc,build,profiling,security]",
|
|
223
|
+
"provide-testkit[standard,advanced-testing,typecheck,grpc,build,profiling,security]>=0.4.0",
|
|
217
224
|
]
|
|
218
225
|
|
|
219
226
|
all = [
|
|
220
|
-
"provide-testkit[quality,typecheck,advanced-testing,profiling,transport,crypto,process,grpc,build,docs,utils,security,fuzzing]",
|
|
227
|
+
"provide-testkit[quality,typecheck,advanced-testing,profiling,transport,crypto,process,grpc,build,docs,utils,security,fuzzing]>=0.4.0",
|
|
221
228
|
]
|
|
222
229
|
|
|
223
230
|
dev = [
|
|
224
|
-
"provide-testkit[quality,advanced-testing]",
|
|
231
|
+
"provide-testkit[quality,advanced-testing]>=0.4.0",
|
|
225
232
|
]
|
|
226
233
|
|
|
227
234
|
# Self-referential docs for testkit itself
|
|
228
235
|
docs-standalone = [
|
|
229
|
-
"provide-testkit[docs]",
|
|
236
|
+
"provide-testkit[docs]>=0.4.0",
|
|
230
237
|
]
|
|
231
238
|
|
|
232
239
|
[project.scripts]
|
|
@@ -243,10 +250,10 @@ dev = [
|
|
|
243
250
|
"mkdocs-macros-plugin",
|
|
244
251
|
"mkdocstrings",
|
|
245
252
|
"mkdocstrings-python",
|
|
246
|
-
"provide-testkit[quality,advanced-testing]",
|
|
253
|
+
"provide-testkit[quality,advanced-testing]>=0.4.0",
|
|
247
254
|
]
|
|
248
255
|
docs = [
|
|
249
|
-
# provide-foundry - install separately for docs builds
|
|
256
|
+
# provide-foundry>=0.4.0 - install separately for docs builds
|
|
250
257
|
]
|
|
251
258
|
|
|
252
259
|
################################################################################
|
|
@@ -270,7 +277,7 @@ version = {file = "VERSION"}
|
|
|
270
277
|
################################################################################
|
|
271
278
|
|
|
272
279
|
[tool.pytest.ini_options]
|
|
273
|
-
minversion = "
|
|
280
|
+
minversion = "0.4.0"
|
|
274
281
|
addopts = "-ra -s --strict-markers --strict-config -m 'not memray'"
|
|
275
282
|
# Parallel execution: pytest -n <workers> (range: 2-16, recommend: CPU cores or 8, max: 16 to avoid xdist hang)
|
|
276
283
|
asyncio_mode = "auto"
|
|
@@ -294,6 +301,8 @@ markers = [
|
|
|
294
301
|
target-version = "py311"
|
|
295
302
|
line-length = 111
|
|
296
303
|
indent-width = 4
|
|
304
|
+
# ruff format touches Python code blocks embedded in Markdown; docs prose is not the formatter's to restyle.
|
|
305
|
+
extend-exclude = ["**/*.md"]
|
|
297
306
|
|
|
298
307
|
[tool.ruff.lint]
|
|
299
308
|
select = ["E", "F", "W", "I", "UP", "ANN", "B", "BLE", "C90", "PIE", "PLR", "S", "SIM", "PTH", "RUF"]
|
|
@@ -311,6 +320,7 @@ ignore = [
|
|
|
311
320
|
"PLR0911", # too-many-return-statements (refactor later)
|
|
312
321
|
"PLR0912", # too-many-branches (refactor later)
|
|
313
322
|
"PLR0913", # too-many-arguments (common in config classes)
|
|
323
|
+
"PLR0917", # too-many-positional-arguments (same rationale as PLR0913)
|
|
314
324
|
"PLR0915", # too-many-statements (refactor later)
|
|
315
325
|
"PLR2004", # magic-value-comparison (too noisy)
|
|
316
326
|
]
|
|
@@ -55,6 +55,7 @@ def quality_cli(ctx: click.Context) -> None:
|
|
|
55
55
|
@click.option("--config", type=click.Path(exists=True, path_type=Path), help="Configuration file (JSON)")
|
|
56
56
|
@click.option("--verbose", "-v", is_flag=True, help="Verbose output")
|
|
57
57
|
def analyze_command(
|
|
58
|
+
*,
|
|
58
59
|
path: Path,
|
|
59
60
|
tool: tuple[str, ...],
|
|
60
61
|
artifact_dir: Path,
|
|
@@ -126,6 +127,7 @@ def analyze_command(
|
|
|
126
127
|
)
|
|
127
128
|
@click.option("--verbose", "-v", is_flag=True, help="Verbose output")
|
|
128
129
|
def gates_command(
|
|
130
|
+
*,
|
|
129
131
|
path: Path,
|
|
130
132
|
coverage: float | None,
|
|
131
133
|
security: float | None,
|
|
@@ -235,7 +237,7 @@ def _print_detailed_results(results: Any) -> None:
|
|
|
235
237
|
@click.option("--xml", is_flag=True, help="Generate XML report")
|
|
236
238
|
@click.option("--verbose", "-v", is_flag=True, help="Verbose output")
|
|
237
239
|
def coverage_command(
|
|
238
|
-
path: Path, min_coverage: float, artifact_dir: Path, html: bool, xml: bool, verbose: bool
|
|
240
|
+
*, path: Path, min_coverage: float, artifact_dir: Path, html: bool, xml: bool, verbose: bool
|
|
239
241
|
) -> None:
|
|
240
242
|
"""Run coverage analysis on the given path."""
|
|
241
243
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: provide-testkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: Testing utilities and fixtures for the provide ecosystem.
|
|
5
5
|
Author-email: Tim Perkins <code@tim.life>
|
|
6
6
|
Maintainer-email: "provide.io" <code@provide.io>
|
|
@@ -24,7 +24,7 @@ Classifier: Typing :: Typed
|
|
|
24
24
|
Requires-Python: >=3.11
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
License-File: LICENSE
|
|
27
|
-
Requires-Dist: provide-foundation>=0.
|
|
27
|
+
Requires-Dist: provide-foundation>=0.4.0
|
|
28
28
|
Requires-Dist: attrs>=25.4.0
|
|
29
29
|
Requires-Dist: click>=8.3.1
|
|
30
30
|
Requires-Dist: pytest>=9.0.2
|
|
@@ -44,7 +44,7 @@ Requires-Dist: mutmut; extra == "quality"
|
|
|
44
44
|
Provides-Extra: typecheck
|
|
45
45
|
Requires-Dist: mypy; extra == "typecheck"
|
|
46
46
|
Requires-Dist: pyright; extra == "typecheck"
|
|
47
|
-
Requires-Dist: pyre-check; extra == "typecheck"
|
|
47
|
+
Requires-Dist: pyre-check; sys_platform != "win32" and extra == "typecheck"
|
|
48
48
|
Requires-Dist: pyre-extensions; extra == "typecheck"
|
|
49
49
|
Requires-Dist: pyrefly; extra == "typecheck"
|
|
50
50
|
Requires-Dist: ty; extra == "typecheck"
|
|
@@ -63,7 +63,7 @@ Requires-Dist: pytest-benchmark; extra == "advanced-testing"
|
|
|
63
63
|
Requires-Dist: pytest-testmon; extra == "advanced-testing"
|
|
64
64
|
Requires-Dist: pytest-json-report; extra == "advanced-testing"
|
|
65
65
|
Provides-Extra: profiling
|
|
66
|
-
Requires-Dist: memray; extra == "profiling"
|
|
66
|
+
Requires-Dist: memray; sys_platform != "win32" and extra == "profiling"
|
|
67
67
|
Requires-Dist: viztracer; extra == "profiling"
|
|
68
68
|
Provides-Extra: transport
|
|
69
69
|
Requires-Dist: httpx>=0.28.1; extra == "transport"
|
|
@@ -123,17 +123,17 @@ Requires-Dist: bandit; extra == "security"
|
|
|
123
123
|
Requires-Dist: safety; extra == "security"
|
|
124
124
|
Requires-Dist: pip-audit; extra == "security"
|
|
125
125
|
Provides-Extra: standard
|
|
126
|
-
Requires-Dist: provide-testkit[crypto,process,quality,transport]; extra == "standard"
|
|
126
|
+
Requires-Dist: provide-testkit[crypto,process,quality,transport]>=0.4.0; extra == "standard"
|
|
127
127
|
Provides-Extra: grpc-dev
|
|
128
|
-
Requires-Dist: provide-testkit[grpc,standard,typecheck]; extra == "grpc-dev"
|
|
128
|
+
Requires-Dist: provide-testkit[grpc,standard,typecheck]>=0.4.0; extra == "grpc-dev"
|
|
129
129
|
Provides-Extra: pyvider-dev
|
|
130
|
-
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]; extra == "pyvider-dev"
|
|
130
|
+
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]>=0.4.0; extra == "pyvider-dev"
|
|
131
131
|
Provides-Extra: all
|
|
132
|
-
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]; extra == "all"
|
|
132
|
+
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0; extra == "all"
|
|
133
133
|
Provides-Extra: dev
|
|
134
|
-
Requires-Dist: provide-testkit[advanced-testing,quality]; extra == "dev"
|
|
134
|
+
Requires-Dist: provide-testkit[advanced-testing,quality]>=0.4.0; extra == "dev"
|
|
135
135
|
Provides-Extra: docs-standalone
|
|
136
|
-
Requires-Dist: provide-testkit[docs]; extra == "docs-standalone"
|
|
136
|
+
Requires-Dist: provide-testkit[docs]>=0.4.0; extra == "docs-standalone"
|
|
137
137
|
Dynamic: license-file
|
|
138
138
|
|
|
139
139
|
# 🧪✅ Provide TestKit
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
provide-foundation>=0.
|
|
1
|
+
provide-foundation>=0.4.0
|
|
2
2
|
attrs>=25.4.0
|
|
3
3
|
click>=8.3.1
|
|
4
4
|
pytest>=9.0.2
|
|
@@ -17,7 +17,7 @@ pytest-testmon
|
|
|
17
17
|
pytest-json-report
|
|
18
18
|
|
|
19
19
|
[all]
|
|
20
|
-
provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]
|
|
20
|
+
provide-testkit[advanced-testing,build,crypto,docs,fuzzing,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0
|
|
21
21
|
|
|
22
22
|
[build]
|
|
23
23
|
hatch
|
|
@@ -30,7 +30,7 @@ cryptography>=45.0.7
|
|
|
30
30
|
types-cryptography
|
|
31
31
|
|
|
32
32
|
[dev]
|
|
33
|
-
provide-testkit[advanced-testing,quality]
|
|
33
|
+
provide-testkit[advanced-testing,quality]>=0.4.0
|
|
34
34
|
|
|
35
35
|
[docs]
|
|
36
36
|
mkdocs
|
|
@@ -60,7 +60,7 @@ watchdog
|
|
|
60
60
|
pyyaml
|
|
61
61
|
|
|
62
62
|
[docs-standalone]
|
|
63
|
-
provide-testkit[docs]
|
|
63
|
+
provide-testkit[docs]>=0.4.0
|
|
64
64
|
|
|
65
65
|
[fuzzing]
|
|
66
66
|
pynguin
|
|
@@ -72,18 +72,20 @@ grpcio-tools
|
|
|
72
72
|
grpcio-health-checking
|
|
73
73
|
|
|
74
74
|
[grpc-dev]
|
|
75
|
-
provide-testkit[grpc,standard,typecheck]
|
|
75
|
+
provide-testkit[grpc,standard,typecheck]>=0.4.0
|
|
76
76
|
|
|
77
77
|
[process]
|
|
78
78
|
psutil>=7.0.0
|
|
79
79
|
setproctitle>=1.3.7
|
|
80
80
|
|
|
81
81
|
[profiling]
|
|
82
|
-
memray
|
|
83
82
|
viztracer
|
|
84
83
|
|
|
84
|
+
[profiling:sys_platform != "win32"]
|
|
85
|
+
memray
|
|
86
|
+
|
|
85
87
|
[pyvider-dev]
|
|
86
|
-
provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]
|
|
88
|
+
provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]>=0.4.0
|
|
87
89
|
|
|
88
90
|
[quality]
|
|
89
91
|
ruff
|
|
@@ -100,7 +102,7 @@ safety
|
|
|
100
102
|
pip-audit
|
|
101
103
|
|
|
102
104
|
[standard]
|
|
103
|
-
provide-testkit[crypto,process,quality,transport]
|
|
105
|
+
provide-testkit[crypto,process,quality,transport]>=0.4.0
|
|
104
106
|
|
|
105
107
|
[transport]
|
|
106
108
|
httpx>=0.28.1
|
|
@@ -110,7 +112,6 @@ h2
|
|
|
110
112
|
[typecheck]
|
|
111
113
|
mypy
|
|
112
114
|
pyright
|
|
113
|
-
pyre-check
|
|
114
115
|
pyre-extensions
|
|
115
116
|
pyrefly
|
|
116
117
|
ty
|
|
@@ -122,6 +123,9 @@ types-click
|
|
|
122
123
|
types-pyyaml
|
|
123
124
|
types-psutil
|
|
124
125
|
|
|
126
|
+
[typecheck:sys_platform != "win32"]
|
|
127
|
+
pyre-check
|
|
128
|
+
|
|
125
129
|
[utils]
|
|
126
130
|
pyyaml
|
|
127
131
|
reuse
|
provide_testkit-0.4.0/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.4.0
|
|
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
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/concurrency_strategies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/chaos/time_strategies.py
RENAMED
|
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
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/content_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/directory_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/file/special_fixtures.py
RENAMED
|
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
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/async_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/script_assertions.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/script_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/subprocess_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/process/system_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/provide_testkit_init.pth
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/analyzer.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/complexity/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/reporter.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/coverage/tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/documentation/checker.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/documentation/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/profiling/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/profiling/fixture.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/fixture.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/quality/security/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/basic_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/data_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/execution_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide/testkit/threading/sync_fixtures.py
RENAMED
|
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
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{provide_testkit-0.4.0 → provide_testkit-0.4.2}/src/provide_testkit.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|