lib-detect-testenv 3.0.0__tar.gz → 3.0.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.
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.devcontainer/devcontainer.json +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.devcontainer/settings.json +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.env.example +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.github/dependabot.yml +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.github/workflows/ci.yml +12 -20
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.github/workflows/codeql.yml +1 -1
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.github/workflows/release.yml +2 -2
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.gitignore +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.qlty/qlty.toml +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/.snyk +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/CHANGELOG.md +10 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/CLAUDE.md +42 -10
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/CONTRIBUTING.md +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/DEVELOPMENT.md +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/INSTALL.md +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/LICENSE +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/Makefile +7 -1
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/PKG-INFO +15 -10
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/README.md +1 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/codecov.yml +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/concept.md +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/docs/systemdesign/module_reference.md +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/notebooks/Quickstart.ipynb +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/pyproject.toml +54 -11
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/reset_git_history.sh +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/__init__.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/__main__.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/_utils.py +274 -97
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/build.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/bump.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/bump_major.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/bump_minor.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/bump_patch.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/bump_version.py +0 -0
- lib_detect_testenv-3.0.1/scripts/clean.py +75 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/cli.py +20 -1
- lib_detect_testenv-3.0.1/scripts/dependencies.py +590 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/dev.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/help.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/install.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/menu.py +30 -16
- lib_detect_testenv-3.0.1/scripts/push.py +309 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/release.py +3 -1
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/run_cli.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/target_metadata.py +30 -2
- lib_detect_testenv-3.0.1/scripts/test.py +1004 -0
- lib_detect_testenv-3.0.1/scripts/toml_config.py +433 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/scripts/version_current.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/__init__.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/__init__conf__.py +8 -1
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/__main__.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/behaviors.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/cli.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/lib_detect_testenv.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/src/lib_detect_testenv/py.typed +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/conftest.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_behaviors.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_cli.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_lib_detect_testenv.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_metadata.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_module_entry.py +0 -0
- {lib_detect_testenv-3.0.0 → lib_detect_testenv-3.0.1}/tests/test_scripts.py +0 -0
- lib_detect_testenv-3.0.0/AGENTS.md +0 -104
- lib_detect_testenv-3.0.0/README.rst.bak +0 -480
- lib_detect_testenv-3.0.0/scripts/clean.py +0 -48
- lib_detect_testenv-3.0.0/scripts/push.py +0 -77
- lib_detect_testenv-3.0.0/scripts/test.py +0 -545
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -17,12 +17,13 @@ jobs:
|
|
|
17
17
|
fail-fast: false
|
|
18
18
|
matrix:
|
|
19
19
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
20
|
-
# Test against Python 3.
|
|
21
|
-
python: ["3.
|
|
20
|
+
# Test against Python 3.13 and the latest 3.x available on Actions runners
|
|
21
|
+
python: ["3.13", "3.x"]
|
|
22
22
|
env:
|
|
23
23
|
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: "1"
|
|
24
|
+
PYTHONIOENCODING: "utf-8"
|
|
24
25
|
steps:
|
|
25
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v6
|
|
26
27
|
- uses: actions/setup-python@v6
|
|
27
28
|
with:
|
|
28
29
|
python-version: ${{ matrix.python }}
|
|
@@ -32,17 +33,11 @@ jobs:
|
|
|
32
33
|
uses: astral-sh/setup-uv@v7
|
|
33
34
|
with:
|
|
34
35
|
enable-cache: true
|
|
35
|
-
- name: Install tomli for Python < 3.11
|
|
36
|
-
if: matrix.python == '3.9' || matrix.python == '3.10'
|
|
37
|
-
run: python -m pip install tomli
|
|
38
36
|
- name: Extract project metadata
|
|
39
37
|
shell: python
|
|
40
38
|
run: |
|
|
41
39
|
import os
|
|
42
|
-
|
|
43
|
-
import tomllib
|
|
44
|
-
except ModuleNotFoundError:
|
|
45
|
-
import tomli as tomllib
|
|
40
|
+
import tomllib
|
|
46
41
|
from pathlib import Path
|
|
47
42
|
|
|
48
43
|
data = tomllib.loads(Path('pyproject.toml').read_text('utf-8'))
|
|
@@ -84,17 +79,17 @@ jobs:
|
|
|
84
79
|
run: |
|
|
85
80
|
uv pip install pywin32 --system
|
|
86
81
|
- name: Cache ruff
|
|
87
|
-
uses: actions/cache@
|
|
82
|
+
uses: actions/cache@v5
|
|
88
83
|
with:
|
|
89
84
|
path: .ruff_cache
|
|
90
|
-
key: ruff-${{ runner.os }}-${{
|
|
85
|
+
key: ruff-${{ runner.os }}-${{ github.sha }}
|
|
91
86
|
restore-keys: |
|
|
92
87
|
ruff-${{ runner.os }}-
|
|
93
88
|
- name: Cache pyright
|
|
94
|
-
uses: actions/cache@
|
|
89
|
+
uses: actions/cache@v5
|
|
95
90
|
with:
|
|
96
91
|
path: .pyright
|
|
97
|
-
key: pyright-${{ runner.os }}-py${{ matrix.python }}-${{
|
|
92
|
+
key: pyright-${{ runner.os }}-py${{ matrix.python }}-${{ github.sha }}
|
|
98
93
|
restore-keys: |
|
|
99
94
|
pyright-${{ runner.os }}-py${{ matrix.python }}-
|
|
100
95
|
pyright-${{ runner.os }}-
|
|
@@ -118,7 +113,7 @@ jobs:
|
|
|
118
113
|
name: pipx/uv verification (ubuntu)
|
|
119
114
|
runs-on: ubuntu-latest
|
|
120
115
|
steps:
|
|
121
|
-
- uses: actions/checkout@
|
|
116
|
+
- uses: actions/checkout@v6
|
|
122
117
|
- uses: actions/setup-python@v6
|
|
123
118
|
with:
|
|
124
119
|
python-version: "3.13"
|
|
@@ -128,10 +123,7 @@ jobs:
|
|
|
128
123
|
shell: python
|
|
129
124
|
run: |
|
|
130
125
|
import os
|
|
131
|
-
|
|
132
|
-
import tomllib
|
|
133
|
-
except ModuleNotFoundError:
|
|
134
|
-
import tomli as tomllib
|
|
126
|
+
import tomllib
|
|
135
127
|
from pathlib import Path
|
|
136
128
|
|
|
137
129
|
data = tomllib.loads(Path('pyproject.toml').read_text('utf-8'))
|
|
@@ -167,7 +159,7 @@ jobs:
|
|
|
167
159
|
name: Execute notebooks (ubuntu, Python 3.13)
|
|
168
160
|
runs-on: ubuntu-latest
|
|
169
161
|
steps:
|
|
170
|
-
- uses: actions/checkout@
|
|
162
|
+
- uses: actions/checkout@v6
|
|
171
163
|
- uses: actions/setup-python@v6
|
|
172
164
|
with:
|
|
173
165
|
python-version: "3.13"
|
|
@@ -14,7 +14,7 @@ jobs:
|
|
|
14
14
|
permissions:
|
|
15
15
|
contents: read
|
|
16
16
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
17
|
+
- uses: actions/checkout@v6
|
|
18
18
|
- name: Verify PyPI token is set
|
|
19
19
|
run: |
|
|
20
20
|
if [ -z "${{ secrets.PYPI_API_TOKEN }}" ]; then
|
|
@@ -44,7 +44,7 @@ jobs:
|
|
|
44
44
|
attestations: false
|
|
45
45
|
skip-existing: true
|
|
46
46
|
- name: Upload artifacts
|
|
47
|
-
uses: actions/upload-artifact@
|
|
47
|
+
uses: actions/upload-artifact@v6
|
|
48
48
|
with:
|
|
49
49
|
name: dist
|
|
50
50
|
path: dist/*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.0.1] - 2025-12-15
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Replaced `tomllib`/`tomli` with `rtoml` for TOML parsing in scripts
|
|
13
|
+
- Updated GitHub Actions dependencies:
|
|
14
|
+
- `actions/cache` v4 → v5
|
|
15
|
+
- `actions/upload-artifact` v5 → v6
|
|
16
|
+
- Added `PYTHONIOENCODING: "utf-8"` environment variable to CI workflow for consistent encoding
|
|
17
|
+
|
|
8
18
|
## [3.0.0] - 2025-11-04
|
|
9
19
|
|
|
10
20
|
### Added
|
|
@@ -22,7 +22,7 @@ When working with Python code:
|
|
|
22
22
|
- `python_clean_code.md`
|
|
23
23
|
- `python_small_functions_style.md`
|
|
24
24
|
- `python_libraries_to_use.md`
|
|
25
|
-
- `
|
|
25
|
+
- `python_structure_template.md`
|
|
26
26
|
|
|
27
27
|
### Additional Guidelines
|
|
28
28
|
- `self_documenting.md`
|
|
@@ -42,28 +42,50 @@ lib_detect_testenv/
|
|
|
42
42
|
├── notebooks/ # Jupyter notebooks for experiments
|
|
43
43
|
├── scripts/ # Build and automation scripts
|
|
44
44
|
│ ├── build.py # Build wheel/sdist
|
|
45
|
-
│ ├── bump
|
|
45
|
+
│ ├── bump.py # Version bump (generic)
|
|
46
|
+
│ ├── bump_major.py # Bump major version
|
|
47
|
+
│ ├── bump_minor.py # Bump minor version
|
|
48
|
+
│ ├── bump_patch.py # Bump patch version
|
|
49
|
+
│ ├── bump_version.py # Version bump utilities
|
|
46
50
|
│ ├── clean.py # Clean build artifacts
|
|
47
|
-
│ ├──
|
|
48
|
-
│ ├──
|
|
49
|
-
│ ├──
|
|
51
|
+
│ ├── cli.py # CLI for scripts
|
|
52
|
+
│ ├── dependencies.py # Dependency management
|
|
53
|
+
│ ├── dev.py # Development install
|
|
54
|
+
│ ├── help.py # Show help
|
|
55
|
+
│ ├── install.py # Install package
|
|
50
56
|
│ ├── menu.py # Interactive TUI menu
|
|
57
|
+
│ ├── push.py # Git push
|
|
58
|
+
│ ├── release.py # Create releases
|
|
59
|
+
│ ├── run_cli.py # Run CLI
|
|
60
|
+
│ ├── target_metadata.py # Metadata generation
|
|
61
|
+
│ ├── test.py # Run tests with coverage
|
|
62
|
+
│ ├── toml_config.py # TOML configuration utilities
|
|
63
|
+
│ ├── version_current.py # Print current version
|
|
51
64
|
│ └── _utils.py # Shared utilities
|
|
52
65
|
├── src/
|
|
53
|
-
│ └── lib_detect_testenv/
|
|
54
|
-
│ ├── __init__.py # Package initialization
|
|
55
|
-
│ ├── __init__conf__.py # Configuration
|
|
66
|
+
│ └── lib_detect_testenv/ # Main Python package
|
|
67
|
+
│ ├── __init__.py # Package initialization & public API
|
|
68
|
+
│ ├── __init__conf__.py # Configuration constants
|
|
56
69
|
│ ├── __main__.py # CLI entry point
|
|
70
|
+
│ ├── behaviors.py # Domain behaviors (greeting, failure hooks)
|
|
57
71
|
│ ├── cli.py # CLI implementation
|
|
58
|
-
│ ├──
|
|
72
|
+
│ ├── lib_detect_testenv.py # Core detection functions
|
|
59
73
|
│ └── py.typed # PEP 561 marker
|
|
60
74
|
├── tests/ # Test suite
|
|
75
|
+
│ ├── conftest.py # Pytest fixtures
|
|
76
|
+
│ ├── test_behaviors.py # Behavior tests
|
|
77
|
+
│ ├── test_cli.py # CLI tests
|
|
78
|
+
│ ├── test_lib_detect_testenv.py # Core library tests
|
|
79
|
+
│ ├── test_metadata.py # Metadata tests
|
|
80
|
+
│ ├── test_module_entry.py # Module entry tests
|
|
81
|
+
│ └── test_scripts.py # Script tests
|
|
61
82
|
├── .env.example # Example environment variables
|
|
62
83
|
├── CLAUDE.md # Claude Code guidelines (this file)
|
|
63
84
|
├── CHANGELOG.md # Version history
|
|
64
85
|
├── CONTRIBUTING.md # Contribution guidelines
|
|
65
86
|
├── DEVELOPMENT.md # Development setup guide
|
|
66
87
|
├── INSTALL.md # Installation instructions
|
|
88
|
+
├── LICENSE # MIT License
|
|
67
89
|
├── Makefile # Make targets for common tasks
|
|
68
90
|
├── pyproject.toml # Project metadata & dependencies
|
|
69
91
|
├── codecov.yml # Codecov configuration
|
|
@@ -73,7 +95,7 @@ lib_detect_testenv/
|
|
|
73
95
|
## Versioning & Releases
|
|
74
96
|
|
|
75
97
|
- **Single Source of Truth**: Package version is in `pyproject.toml` (`[project].version`)
|
|
76
|
-
- **Version Bumps**: update `pyproject.toml
|
|
98
|
+
- **Version Bumps**: update `pyproject.toml`, `CHANGELOG.md` and update the constants in `src/lib_detect_testenv/__init__conf__.py` according to `pyproject.toml`
|
|
77
99
|
- Automation rewrites `src/lib_detect_testenv/__init__conf__.py` from `pyproject.toml`, so runtime code imports generated constants instead of querying `importlib.metadata`.
|
|
78
100
|
- After updating project metadata (version, summary, URLs, authors) run `make test` (or `python -m scripts.test`) to regenerate the metadata module before committing.
|
|
79
101
|
- **Release Tags**: Format is `vX.Y.Z` (push tags for CI to build and publish)
|
|
@@ -104,6 +126,16 @@ Follow the guidelines in `python_clean_code.md` for all Python code.
|
|
|
104
126
|
|
|
105
127
|
## Architecture Overview
|
|
106
128
|
|
|
129
|
+
This library provides test environment detection with a simple layered structure:
|
|
130
|
+
|
|
131
|
+
- **lib_detect_testenv.py**: Core detection functions (`is_testenv_active`, `is_pytest_active`, `is_doctest_active`, etc.)
|
|
132
|
+
- **behaviors.py**: Domain behaviors (greeting, failure hooks for CLI testing)
|
|
133
|
+
- **cli.py**: CLI interface using rich-click
|
|
134
|
+
|
|
135
|
+
Import rules (enforced by import-linter):
|
|
136
|
+
- `cli` depends on `lib_detect_testenv` and `behaviors`
|
|
137
|
+
- Core detection functions have no internal dependencies
|
|
138
|
+
|
|
107
139
|
Apply principles from `python_clean_architecture.md` when designing and implementing features.
|
|
108
140
|
|
|
109
141
|
## Security & Configuration
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,7 +3,7 @@ SHELL := /bin/bash
|
|
|
3
3
|
PYTHON ?= python3
|
|
4
4
|
SCRIPTS ?= $(PYTHON) -m scripts
|
|
5
5
|
|
|
6
|
-
.PHONY: help install dev test run clean build push release coverage version-current bump bump-patch bump-minor bump-major menu
|
|
6
|
+
.PHONY: help install dev test run clean build push release coverage version-current bump bump-patch bump-minor bump-major dependencies dependencies-update menu
|
|
7
7
|
|
|
8
8
|
help:
|
|
9
9
|
$(SCRIPTS) help
|
|
@@ -50,5 +50,11 @@ build:
|
|
|
50
50
|
release:
|
|
51
51
|
$(SCRIPTS) release
|
|
52
52
|
|
|
53
|
+
dependencies:
|
|
54
|
+
$(SCRIPTS) dependencies
|
|
55
|
+
|
|
56
|
+
dependencies-update:
|
|
57
|
+
$(SCRIPTS) dependencies-update
|
|
58
|
+
|
|
53
59
|
menu:
|
|
54
60
|
$(SCRIPTS) menu
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lib_detect_testenv
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.1
|
|
4
4
|
Summary: Detect test environment - pytest, doctest, unittest, or regular execution
|
|
5
5
|
Project-URL: Homepage, https://github.com/bitranox/lib_detect_testenv
|
|
6
6
|
Project-URL: Repository, https://github.com/bitranox/lib_detect_testenv.git
|
|
@@ -23,17 +23,21 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.9
|
|
24
24
|
Requires-Dist: rich-click>=1.9.4
|
|
25
25
|
Provides-Extra: dev
|
|
26
|
-
Requires-Dist: bandit
|
|
26
|
+
Requires-Dist: bandit<1.9,>=1.8.6; (python_version < '3.10') and extra == 'dev'
|
|
27
|
+
Requires-Dist: bandit>=1.9.2; (python_version >= '3.10') and extra == 'dev'
|
|
27
28
|
Requires-Dist: build>=1.3.0; extra == 'dev'
|
|
28
|
-
Requires-Dist: codecov-cli>=11.2.
|
|
29
|
-
Requires-Dist: import-linter
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: codecov-cli>=11.2.6; extra == 'dev'
|
|
30
|
+
Requires-Dist: import-linter<2.6,>=2.5.2; (python_version < '3.10') and extra == 'dev'
|
|
31
|
+
Requires-Dist: import-linter>=2.9; (python_version >= '3.10') and extra == 'dev'
|
|
32
|
+
Requires-Dist: pip-audit>=2.10.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: pyright>=1.1.407; extra == 'dev'
|
|
32
34
|
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
|
|
33
|
-
Requires-Dist: pytest
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: pytest<9,>=8.4.2; (python_version < '3.10') and extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest>=9.0.2; (python_version >= '3.10') and extra == 'dev'
|
|
37
|
+
Requires-Dist: rtoml>=0.13.0; extra == 'dev'
|
|
38
|
+
Requires-Dist: ruff>=0.14.9; extra == 'dev'
|
|
39
|
+
Requires-Dist: setuptools>=80.9.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: textual>=6.9.0; extra == 'dev'
|
|
37
41
|
Requires-Dist: twine>=6.2.0; extra == 'dev'
|
|
38
42
|
Description-Content-Type: text/markdown
|
|
39
43
|
|
|
@@ -50,6 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
50
54
|
[](https://codecov.io/gh/bitranox/lib_detect_testenv)
|
|
51
55
|
[](https://qlty.sh/gh/bitranox/projects/lib_detect_testenv)
|
|
52
56
|
[](https://snyk.io/test/github/bitranox/lib_detect_testenv)
|
|
57
|
+
[](https://github.com/PyCQA/bandit)
|
|
53
58
|
|
|
54
59
|
**Detect test environments: pytest, doctest, and setup.py test**
|
|
55
60
|
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
[](https://codecov.io/gh/bitranox/lib_detect_testenv)
|
|
12
12
|
[](https://qlty.sh/gh/bitranox/projects/lib_detect_testenv)
|
|
13
13
|
[](https://snyk.io/test/github/bitranox/lib_detect_testenv)
|
|
14
|
+
[](https://github.com/PyCQA/bandit)
|
|
14
15
|
|
|
15
16
|
**Detect test environments: pytest, doctest, and setup.py test**
|
|
16
17
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lib_detect_testenv"
|
|
3
|
-
version = "3.0.
|
|
3
|
+
version = "3.0.1"
|
|
4
4
|
description = "Detect test environment - pytest, doctest, unittest, or regular execution"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|
|
@@ -31,25 +31,29 @@ Issues = "https://github.com/bitranox/lib_detect_testenv/issues"
|
|
|
31
31
|
|
|
32
32
|
[project.optional-dependencies]
|
|
33
33
|
dev = [
|
|
34
|
-
"pytest>=8.4.2",
|
|
34
|
+
"pytest>=8.4.2,<9; python_version<'3.10'",
|
|
35
|
+
"pytest>=9.0.2; python_version>='3.10'",
|
|
35
36
|
"pytest-cov>=7.0.0",
|
|
36
|
-
"ruff>=0.14.
|
|
37
|
-
"pyright>=1.1.
|
|
38
|
-
"bandit>=1.8.6",
|
|
37
|
+
"ruff>=0.14.9",
|
|
38
|
+
"pyright>=1.1.407",
|
|
39
|
+
"bandit>=1.8.6,<1.9; python_version<'3.10'",
|
|
40
|
+
"bandit>=1.9.2; python_version>='3.10'",
|
|
39
41
|
"build>=1.3.0",
|
|
40
42
|
"twine>=6.2.0",
|
|
41
|
-
"codecov-cli>=11.2.
|
|
42
|
-
"pip-audit>=2.
|
|
43
|
-
"textual>=6.
|
|
44
|
-
"import-linter>=2.5.2",
|
|
45
|
-
"
|
|
43
|
+
"codecov-cli>=11.2.6",
|
|
44
|
+
"pip-audit>=2.10.0",
|
|
45
|
+
"textual>=6.9.0",
|
|
46
|
+
"import-linter>=2.5.2,<2.6; python_version<'3.10'",
|
|
47
|
+
"import-linter>=2.9; python_version>='3.10'",
|
|
48
|
+
"setuptools>=80.9.0",
|
|
49
|
+
"rtoml>=0.13.0",
|
|
46
50
|
]
|
|
47
51
|
|
|
48
52
|
[project.scripts]
|
|
49
53
|
lib_detect_testenv = "lib_detect_testenv.cli:main"
|
|
50
54
|
|
|
51
55
|
[build-system]
|
|
52
|
-
requires = ["hatchling>=1.27.0"]
|
|
56
|
+
requires = ["hatchling>=1.27.0,<1.28"]
|
|
53
57
|
build-backend = "hatchling.build"
|
|
54
58
|
|
|
55
59
|
|
|
@@ -104,6 +108,39 @@ omit = [
|
|
|
104
108
|
fail_under = 85
|
|
105
109
|
show_missing = true
|
|
106
110
|
|
|
111
|
+
[tool.clean]
|
|
112
|
+
# Patterns to remove when running `make clean` or `python -m scripts clean`
|
|
113
|
+
patterns = [
|
|
114
|
+
".hypothesis",
|
|
115
|
+
".import_linter_cache",
|
|
116
|
+
".pytest_cache",
|
|
117
|
+
".ruff_cache",
|
|
118
|
+
".pyright",
|
|
119
|
+
".mypy_cache",
|
|
120
|
+
".tox",
|
|
121
|
+
".nox",
|
|
122
|
+
".eggs",
|
|
123
|
+
"*.egg-info",
|
|
124
|
+
"build",
|
|
125
|
+
"dist",
|
|
126
|
+
"htmlcov",
|
|
127
|
+
".coverage",
|
|
128
|
+
"coverage.xml",
|
|
129
|
+
"codecov.sh",
|
|
130
|
+
".cache",
|
|
131
|
+
"result",
|
|
132
|
+
]
|
|
133
|
+
|
|
134
|
+
[tool.git]
|
|
135
|
+
# Default git remote for push/release commands
|
|
136
|
+
default-remote = "origin"
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
[tool.scripts.test]
|
|
140
|
+
# Configuration for scripts/test.py test runner
|
|
141
|
+
pytest-verbosity = "-vv"
|
|
142
|
+
coverage-report-file = "coverage.xml"
|
|
143
|
+
src-path = "src"
|
|
107
144
|
[tool.importlinter]
|
|
108
145
|
root_package = "lib_detect_testenv"
|
|
109
146
|
|
|
@@ -115,3 +152,9 @@ layers = [
|
|
|
115
152
|
"lib_detect_testenv.lib_detect_testenv",
|
|
116
153
|
"lib_detect_testenv.behaviors",
|
|
117
154
|
]
|
|
155
|
+
|
|
156
|
+
[tool.pip-audit]
|
|
157
|
+
# Known vulnerabilities to ignore (unfixable or accepted risk)
|
|
158
|
+
# GHSA-4xh5-x5gv-qwph: py library ReDoS (no fix available, low risk)
|
|
159
|
+
# PYSEC-2022-42969: same as above (alias)
|
|
160
|
+
ignore-vulns = ["GHSA-4xh5-x5gv-qwph", "PYSEC-2022-42969"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|