tox-envfile 0.0.5__tar.gz → 0.0.6__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/cookiecutter.json +8 -3
  2. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/includes/README/head.md +0 -1
  3. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/includes/README/tail.md +0 -1
  4. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.github/workflows/ci.yml +32 -10
  5. tox_envfile-0.0.6/.github/workflows/slack.yml +18 -0
  6. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.gitignore +2 -1
  7. tox_envfile-0.0.6/.python-version +5 -0
  8. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/Makefile +30 -19
  9. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/PKG-INFO +6 -5
  10. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/README.md +3 -3
  11. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/bin/make_python +2 -2
  12. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/bin/make_template +1 -1
  13. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/pyproject.toml +26 -2
  14. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/setup.cfg +1 -1
  15. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/PKG-INFO +6 -5
  16. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/SOURCES.txt +1 -0
  17. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/pyproject.toml +2 -2
  18. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tox.ini +21 -7
  19. tox-envfile-0.0.5/.python-version +0 -4
  20. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/includes/setuptools/entry_points +0 -0
  21. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/includes/setuptools/install_requires +0 -0
  22. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.cookiecutter/includes/tox/deps +0 -0
  23. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.github/dependabot.yml +0 -0
  24. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/.github/workflows/pypi.yml +0 -0
  25. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/LICENSE +0 -0
  26. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile/__init__.py +0 -0
  27. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile/plugin.py +0 -0
  28. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/dependency_links.txt +0 -0
  29. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/entry_points.txt +0 -0
  30. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/requires.txt +0 -0
  31. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/src/tox_envfile.egg-info/top_level.txt +0 -0
  32. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/__init__.py +0 -0
  33. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/functional/__init__.py +0 -0
  34. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/functional/sanity_test.py +0 -0
  35. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/unit/__init__.py +0 -0
  36. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/unit/tox_envfile/__init__.py +0 -0
  37. {tox-envfile-0.0.5 → tox_envfile-0.0.6}/tests/unit/tox_envfile/plugin_test.py +0 -0
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "template": "https://github.com/hypothesis/cookiecutters",
3
3
  "directory": "pypackage",
4
- "ignore": ["src/tox_envfile/core.py", "tests/unit/tox_envfile/core_test.py"],
4
+ "ignore": [
5
+ "src/tox_envfile/core.py",
6
+ "tests/unit/tox_envfile/core_test.py"
7
+ ],
5
8
  "extra_context": {
6
9
  "name": "tox-envfile",
7
10
  "package_name": "tox_envfile",
8
11
  "slug": "tox-envfile",
9
12
  "short_description": "Load env files in your tox envs.",
10
- "python_versions": "3.10.4, 3.9.12, 3.8.13, 3.7.13",
13
+ "python_versions": "3.12.4, 3.11.9, 3.10.14, 3.9.19, 3.8.19",
11
14
  "github_owner": "hypothesis",
12
15
  "copyright_holder": "Hypothesis",
13
16
  "public": "yes",
@@ -15,6 +18,8 @@
15
18
  "dependabot_pip_interval": "monthly",
16
19
  "__entry_point": "tox-envfile",
17
20
  "__github_url": "https://github.com/hypothesis/tox-envfile",
18
- "__pypi_url": "https://pypi.org/project/tox-envfile"
21
+ "__pypi_url": "https://pypi.org/project/tox-envfile",
22
+ "__copyright_year": "2022",
23
+ "pypi": "yes"
19
24
  }
20
25
  }
@@ -1,4 +1,3 @@
1
-
2
1
  tox-envfile reads environment variables from a file named `.devdata.env` in the
3
2
  same directory as your `tox.ini` file and adds them to the environment that tox
4
3
  runs your commands in.
@@ -1,4 +1,3 @@
1
-
2
1
  Testing Manually
3
2
  ----------------
4
3
 
@@ -1,7 +1,17 @@
1
1
  name: CI
2
2
  on:
3
3
  push:
4
+ paths-ignore:
5
+ - '.cookiecutter/*'
6
+ - '.github/dependabot.yml'
7
+ - 'bin/make_python'
8
+ - 'bin/make_template'
9
+ - 'docs/*'
10
+ - '**/.gitignore'
11
+ - 'LICENSE'
12
+ - '*.md'
4
13
  workflow_dispatch:
14
+ workflow_call:
5
15
  schedule:
6
16
  - cron: '0 1 * * *'
7
17
  jobs:
@@ -12,8 +22,8 @@ jobs:
12
22
  - name: Install Python
13
23
  uses: actions/setup-python@v4
14
24
  with:
15
- python-version: '3.10'
16
- - run: python -m pip install tox
25
+ python-version: '3.12'
26
+ - run: python -m pip install 'tox<4'
17
27
  - run: tox -e checkformatting
18
28
  Lint:
19
29
  runs-on: ubuntu-latest
@@ -22,14 +32,24 @@ jobs:
22
32
  - name: Install Python
23
33
  uses: actions/setup-python@v4
24
34
  with:
25
- python-version: '3.10'
26
- - run: python -m pip install tox
35
+ python-version: '3.12'
36
+ - run: python -m pip install 'tox<4'
27
37
  - run: tox -e lint
38
+ Typecheck:
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - uses: actions/checkout@v3
42
+ - name: Install Python
43
+ uses: actions/setup-python@v4
44
+ with:
45
+ python-version: '3.12'
46
+ - run: python -m pip install 'tox<4'
47
+ - run: tox -e typecheck
28
48
  Tests:
29
49
  runs-on: ubuntu-latest
30
50
  strategy:
31
51
  matrix:
32
- python-version: ['3.10', '3.9', '3.8', '3.7']
52
+ python-version: ['3.12', '3.11', '3.10', '3.9', '3.8']
33
53
  name: Unit tests with Python ${{ matrix.python-version }}
34
54
  steps:
35
55
  - uses: actions/checkout@v3
@@ -37,8 +57,10 @@ jobs:
37
57
  uses: actions/setup-python@v4
38
58
  with:
39
59
  python-version: ${{ matrix.python-version }}
40
- - run: python -m pip install tox
60
+ - run: python -m pip install 'tox<4'
41
61
  - run: tox -e tests
62
+ env:
63
+ COVERAGE_FILE: .coverage.${{ matrix.python-version }}
42
64
  - name: Upload coverage file
43
65
  uses: actions/upload-artifact@v3
44
66
  with:
@@ -52,18 +74,18 @@ jobs:
52
74
  - name: Install Python
53
75
  uses: actions/setup-python@v4
54
76
  with:
55
- python-version: '3.10'
77
+ python-version: '3.12'
56
78
  - name: Download coverage files
57
79
  uses: actions/download-artifact@v3
58
80
  with:
59
81
  name: coverage
60
- - run: python -m pip install tox
82
+ - run: python -m pip install 'tox<4'
61
83
  - run: tox -e coverage
62
84
  Functests:
63
85
  runs-on: ubuntu-latest
64
86
  strategy:
65
87
  matrix:
66
- python-version: ['3.10', '3.9', '3.8', '3.7']
88
+ python-version: ['3.12', '3.11', '3.10', '3.9', '3.8']
67
89
  name: Functional tests with Python ${{ matrix.python-version }}
68
90
  steps:
69
91
  - uses: actions/checkout@v3
@@ -71,5 +93,5 @@ jobs:
71
93
  uses: actions/setup-python@v4
72
94
  with:
73
95
  python-version: ${{ matrix.python-version }}
74
- - run: python -m pip install tox
96
+ - run: python -m pip install 'tox<4'
75
97
  - run: tox -e functests
@@ -0,0 +1,18 @@
1
+ name: Slack
2
+ on:
3
+ workflow_run:
4
+ workflows: [CI]
5
+ types: [completed]
6
+ branches: [main]
7
+ jobs:
8
+ on-failure:
9
+ runs-on: ubuntu-latest
10
+ if: ${{ github.event.workflow_run.conclusion == 'failure' }}
11
+ steps:
12
+ - name: Post to Slack
13
+ uses: slackapi/slack-github-action@v1.24.0
14
+ with:
15
+ channel-id: 'C4K6M7P5E'
16
+ slack-message: "A workflow run failed\n*Repo:* `${{ github.event.repository.full_name }}` (${{ github.event.repository.html_url }})\n*Workflow:* ${{ github.event.workflow.name }} (${{ github.event.workflow.html_url }})\n*Branch:* `${{ github.event.workflow_run.head_branch }}`\n*Commit:* `${{ github.event.workflow_run.head_commit.id }}`\n*Run:* ${{ github.event.workflow_run.html_url }}\n*Conclusion:* ${{ github.event.workflow_run.conclusion }}"
17
+ env:
18
+ SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
@@ -9,4 +9,5 @@ yarn-error.log
9
9
  supervisord.log
10
10
  supervisord.pid
11
11
  .DS_Store
12
- .devdata.env
12
+ .devdata*
13
+ .eslintcache
@@ -0,0 +1,5 @@
1
+ 3.12.4
2
+ 3.11.9
3
+ 3.10.14
4
+ 3.9.19
5
+ 3.8.19
@@ -18,6 +18,11 @@ $(call help,make lint,"lint the code and print any warnings")
18
18
  lint: python
19
19
  @pyenv exec tox -qe lint
20
20
 
21
+ .PHONY: typecheck
22
+ $(call help,make typecheck,"type check the code and print any warnings")
23
+ typecheck: python
24
+ @pyenv exec tox -qe typecheck
25
+
21
26
  .PHONY: format
22
27
  $(call help,make format,"format the code")
23
28
  format: python
@@ -29,39 +34,50 @@ checkformatting: python
29
34
  @pyenv exec tox -qe checkformatting
30
35
 
31
36
  .PHONY: test
32
- $(call help,make test,"run the unit tests in Python 3.10")
33
- coverage: test
37
+ $(call help,make test,"run the unit tests in Python 3.12")
34
38
  test: python
35
39
  @pyenv exec tox -qe tests
36
40
 
41
+ .PHONY: test-py311
42
+ $(call help,make test-py311,"run the unit tests in Python 3.11")
43
+ test-py311: python
44
+ @pyenv exec tox -qe py311-tests
45
+
46
+ .PHONY: test-py310
47
+ $(call help,make test-py310,"run the unit tests in Python 3.10")
48
+ test-py310: python
49
+ @pyenv exec tox -qe py310-tests
50
+
37
51
  .PHONY: test-py39
38
52
  $(call help,make test-py39,"run the unit tests in Python 3.9")
39
- coverage: test-py39
40
53
  test-py39: python
41
54
  @pyenv exec tox -qe py39-tests
42
55
 
43
56
  .PHONY: test-py38
44
57
  $(call help,make test-py38,"run the unit tests in Python 3.8")
45
- coverage: test-py38
46
58
  test-py38: python
47
59
  @pyenv exec tox -qe py38-tests
48
60
 
49
- .PHONY: test-py37
50
- $(call help,make test-py37,"run the unit tests in Python 3.7")
51
- coverage: test-py37
52
- test-py37: python
53
- @pyenv exec tox -qe py37-tests
54
-
55
61
  .PHONY: coverage
56
62
  $(call help,make coverage,"run the tests and print the coverage report")
57
63
  coverage: python
58
- @pyenv exec tox -qe coverage
64
+ @pyenv exec tox --parallel -qe 'tests,py{311,310,39,38}-tests,coverage'
59
65
 
60
66
  .PHONY: functests
61
- $(call help,make functests,"run the functional tests in Python 3.10")
67
+ $(call help,make functests,"run the functional tests in Python 3.12")
62
68
  functests: python
63
69
  @pyenv exec tox -qe functests
64
70
 
71
+ .PHONY: functests-py311
72
+ $(call help,make functests-py311,"run the functional tests in Python 3.11")
73
+ functests-py311: python
74
+ @pyenv exec tox -qe py311-functests
75
+
76
+ .PHONY: functests-py310
77
+ $(call help,make functests-py310,"run the functional tests in Python 3.10")
78
+ functests-py310: python
79
+ @pyenv exec tox -qe py310-functests
80
+
65
81
  .PHONY: functests-py39
66
82
  $(call help,make functests-py39,"run the functional tests in Python 3.9")
67
83
  functests-py39: python
@@ -72,16 +88,11 @@ $(call help,make functests-py38,"run the functional tests in Python 3.8")
72
88
  functests-py38: python
73
89
  @pyenv exec tox -qe py38-functests
74
90
 
75
- .PHONY: functests-py37
76
- $(call help,make functests-py37,"run the functional tests in Python 3.7")
77
- functests-py37: python
78
- @pyenv exec tox -qe py37-functests
79
-
80
91
  .PHONY: sure
81
92
  $(call help,make sure,"make sure that the formatting$(comma) linting and tests all pass")
82
93
  sure: python
83
94
  sure:
84
- @pyenv exec tox --parallel -qe 'checkformatting,lint,tests,py{39,38,37}-tests,coverage,functests,py{39,38,37}-functests'
95
+ @pyenv exec tox --parallel -qe 'checkformatting,lint,typecheck,tests,py{311,310,39,38}-tests,coverage,functests,py{311,310,39,38}-functests'
85
96
 
86
97
  .PHONY: template
87
98
  $(call help,make template,"update from the latest cookiecutter template")
@@ -91,7 +102,7 @@ template: python
91
102
  .PHONY: clean
92
103
  $(call help,make clean,"delete temporary files etc")
93
104
  clean:
94
- @rm -rf build dist .tox
105
+ @rm -rf build dist .tox .coverage coverage .eslintcache node_modules supervisord.log supervisord.pid yarn-error.log
95
106
  @find . -path '*/__pycache__*' -delete
96
107
  @find . -path '*.egg-info*' -delete
97
108
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tox-envfile
3
- Version: 0.0.5
3
+ Version: 0.0.6
4
4
  Summary: Load env files in your tox envs.
5
5
  Home-page: https://github.com/hypothesis/tox-envfile
6
6
  Project-URL: Bug Tracker, https://github.com/hypothesis/tox-envfile/issues
@@ -8,13 +8,14 @@ Project-URL: Changelog, https://github.com/hypothesis/tox-envfile/releases
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: License :: OSI Approved :: BSD License
10
10
  Classifier: Intended Audience :: Developers
11
- Requires-Python: >=3.7
11
+ Requires-Python: >=3.8
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: python-dotenv
14
15
 
15
- <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/workflow/status/hypothesis/tox-envfile/CI/main"></a>
16
+ <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/hypothesis/tox-envfile/ci.yml?branch=main"></a>
16
17
  <a href="https://pypi.org/project/tox-envfile"><img src="https://img.shields.io/pypi/v/tox-envfile"></a>
17
- <a><img src="https://img.shields.io/badge/python-3.10 | 3.9 | 3.8 | 3.7-success"></a>
18
+ <a><img src="https://img.shields.io/badge/python-3.12 | 3.11 | 3.10 | 3.9 | 3.8-success"></a>
18
19
  <a href="https://github.com/hypothesis/tox-envfile/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-BSD--2--Clause-success"></a>
19
20
  <a href="https://github.com/hypothesis/cookiecutters/tree/main/pypackage"><img src="https://img.shields.io/badge/cookiecutter-pypackage-success"></a>
20
21
  <a href="https://black.readthedocs.io/en/stable/"><img src="https://img.shields.io/badge/code%20style-black-000000"></a>
@@ -83,7 +84,7 @@ Then to set up your development environment:
83
84
 
84
85
  ```terminal
85
86
  git clone https://github.com/hypothesis/tox-envfile.git
86
- cd tox_envfile
87
+ cd tox-envfile
87
88
  make help
88
89
  ```
89
90
 
@@ -1,6 +1,6 @@
1
- <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/workflow/status/hypothesis/tox-envfile/CI/main"></a>
1
+ <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/hypothesis/tox-envfile/ci.yml?branch=main"></a>
2
2
  <a href="https://pypi.org/project/tox-envfile"><img src="https://img.shields.io/pypi/v/tox-envfile"></a>
3
- <a><img src="https://img.shields.io/badge/python-3.10 | 3.9 | 3.8 | 3.7-success"></a>
3
+ <a><img src="https://img.shields.io/badge/python-3.12 | 3.11 | 3.10 | 3.9 | 3.8-success"></a>
4
4
  <a href="https://github.com/hypothesis/tox-envfile/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-BSD--2--Clause-success"></a>
5
5
  <a href="https://github.com/hypothesis/cookiecutters/tree/main/pypackage"><img src="https://img.shields.io/badge/cookiecutter-pypackage-success"></a>
6
6
  <a href="https://black.readthedocs.io/en/stable/"><img src="https://img.shields.io/badge/code%20style-black-000000"></a>
@@ -69,7 +69,7 @@ Then to set up your development environment:
69
69
 
70
70
  ```terminal
71
71
  git clone https://github.com/hypothesis/tox-envfile.git
72
- cd tox_envfile
72
+ cd tox-envfile
73
73
  make help
74
74
  ```
75
75
 
@@ -8,11 +8,11 @@ if [ -n "${CI+x}" ]; then exit; fi
8
8
 
9
9
  pyenv_root=$(pyenv root)
10
10
 
11
- for python_version in 3.10.4 3.9.12 3.8.13 3.7.13; do
11
+ for python_version in 3.12.4 3.11.9 3.10.14 3.9.19 3.8.19; do
12
12
  bin_dir=$pyenv_root/versions/$python_version/bin
13
13
  if [ ! -f "$bin_dir"/tox ]; then
14
14
  pyenv install --skip-existing "$python_version"
15
- "$bin_dir"/pip install --disable-pip-version-check tox
15
+ "$bin_dir"/pip install --disable-pip-version-check 'tox<4'
16
16
  pyenv rehash
17
17
  fi
18
18
  done
@@ -12,7 +12,7 @@ with open(".cookiecutter/cookiecutter.json", "r", encoding="utf-8") as cookiecut
12
12
 
13
13
  extra_context = config.get("extra_context", {})
14
14
  extra_context["__ignore__"] = config.get("ignore", [])
15
- extra_context["__target_dir__"] = Path(os.getcwd())
15
+ extra_context["__target_dir__"] = str(Path(os.getcwd()))
16
16
 
17
17
  parser = argparse.ArgumentParser(description="Update the project from the cookiecutter template")
18
18
  parser.add_argument("--template", help="the cookiecutter template to use (default: what's in cookiecutter.json)")
@@ -10,6 +10,10 @@ filterwarnings = [
10
10
  "error", # Fail the tests if there are any warnings.
11
11
  "ignore:^find_module\\(\\) is deprecated and slated for removal in Python 3.12; use find_spec\\(\\) instead$:DeprecationWarning:importlib",
12
12
  "ignore:^FileFinder.find_loader\\(\\) is deprecated and slated for removal in Python 3.12; use find_spec\\(\\) instead$:DeprecationWarning:importlib",
13
+ "ignore:^pkg_resources is deprecated as an API:DeprecationWarning:pkg_resources",
14
+ "ignore:^pkg_resources is deprecated as an API:DeprecationWarning:pyramid",
15
+ "ignore:^Deprecated call to .pkg_resources\\.declare_namespace\\('.*'\\).\\.:DeprecationWarning:pkg_resources",
16
+ "ignore:^'cgi' is deprecated and slated for removal in Python 3\\.13$:DeprecationWarning:webob",
13
17
  ]
14
18
 
15
19
  [tool.pydocstyle]
@@ -71,9 +75,7 @@ jobs = 0 # Use one process for CPU.
71
75
  load-plugins = [
72
76
  "pylint.extensions.bad_builtin",
73
77
  "pylint.extensions.check_elif",
74
- "pylint.extensions.comparetozero",
75
78
  "pylint.extensions.docparams",
76
- "pylint.extensions.emptystring",
77
79
  "pylint.extensions.mccabe",
78
80
  "pylint.extensions.overlapping_exceptions",
79
81
  "pylint.extensions.redefined_variable_type",
@@ -85,11 +87,15 @@ load-plugins = [
85
87
  fail-on = ["C", "E", "F", "I", "R", "W"]
86
88
 
87
89
  [tool.pylint.messages_control]
90
+ ignore-paths=[
91
+ ]
88
92
  enable = [
89
93
  "bad-inline-option",
90
94
  "deprecated-pragma",
91
95
  "useless-suppression",
92
96
  "use-symbolic-message-instead",
97
+ "use-implicit-booleaness-not-comparison-to-zero",
98
+ "use-implicit-booleaness-not-comparison-to-string",
93
99
  ]
94
100
  disable = [
95
101
  # Docstrings are encouraged but we don't want to enforce that everything
@@ -133,6 +139,24 @@ good-names = [
133
139
  output-format = "colorized"
134
140
  score = "no"
135
141
 
142
+ [tool.mypy]
143
+ warn_unused_configs = true
144
+ warn_redundant_casts = true
145
+ warn_unused_ignores = true
146
+
147
+ disable_error_code = [
148
+ # https://mypy.readthedocs.io/en/stable/error_code_list.html#code-import-untyped
149
+ "import-untyped",
150
+ ]
151
+
152
+ [[tool.mypy.overrides]]
153
+ module= [
154
+ # Don't try to typecheck the tests for now
155
+ "tests.*",
156
+ ]
157
+ ignore_errors = true
158
+
159
+
136
160
  [tool.hdev]
137
161
  project_name = "tox-envfile"
138
162
  project_type = "library"
@@ -16,7 +16,7 @@ classifiers =
16
16
  package_dir =
17
17
  = src
18
18
  packages = find:
19
- python_requires = >=3.7
19
+ python_requires = >=3.8
20
20
  install_requires =
21
21
  python-dotenv
22
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tox-envfile
3
- Version: 0.0.5
3
+ Version: 0.0.6
4
4
  Summary: Load env files in your tox envs.
5
5
  Home-page: https://github.com/hypothesis/tox-envfile
6
6
  Project-URL: Bug Tracker, https://github.com/hypothesis/tox-envfile/issues
@@ -8,13 +8,14 @@ Project-URL: Changelog, https://github.com/hypothesis/tox-envfile/releases
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: License :: OSI Approved :: BSD License
10
10
  Classifier: Intended Audience :: Developers
11
- Requires-Python: >=3.7
11
+ Requires-Python: >=3.8
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: python-dotenv
14
15
 
15
- <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/workflow/status/hypothesis/tox-envfile/CI/main"></a>
16
+ <a href="https://github.com/hypothesis/tox-envfile/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/hypothesis/tox-envfile/ci.yml?branch=main"></a>
16
17
  <a href="https://pypi.org/project/tox-envfile"><img src="https://img.shields.io/pypi/v/tox-envfile"></a>
17
- <a><img src="https://img.shields.io/badge/python-3.10 | 3.9 | 3.8 | 3.7-success"></a>
18
+ <a><img src="https://img.shields.io/badge/python-3.12 | 3.11 | 3.10 | 3.9 | 3.8-success"></a>
18
19
  <a href="https://github.com/hypothesis/tox-envfile/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-BSD--2--Clause-success"></a>
19
20
  <a href="https://github.com/hypothesis/cookiecutters/tree/main/pypackage"><img src="https://img.shields.io/badge/cookiecutter-pypackage-success"></a>
20
21
  <a href="https://black.readthedocs.io/en/stable/"><img src="https://img.shields.io/badge/code%20style-black-000000"></a>
@@ -83,7 +84,7 @@ Then to set up your development environment:
83
84
 
84
85
  ```terminal
85
86
  git clone https://github.com/hypothesis/tox-envfile.git
86
- cd tox_envfile
87
+ cd tox-envfile
87
88
  make help
88
89
  ```
89
90
 
@@ -15,6 +15,7 @@ tox.ini
15
15
  .github/dependabot.yml
16
16
  .github/workflows/ci.yml
17
17
  .github/workflows/pypi.yml
18
+ .github/workflows/slack.yml
18
19
  bin/make_python
19
20
  bin/make_template
20
21
  src/tox_envfile/__init__.py
@@ -4,9 +4,7 @@ jobs = 0 # Use one process for CPU.
4
4
  load-plugins = [
5
5
  "pylint.extensions.bad_builtin",
6
6
  "pylint.extensions.check_elif",
7
- "pylint.extensions.comparetozero",
8
7
  "pylint.extensions.docparams",
9
- "pylint.extensions.emptystring",
10
8
  "pylint.extensions.mccabe",
11
9
  "pylint.extensions.overlapping_exceptions",
12
10
  "pylint.extensions.redefined_variable_type",
@@ -25,6 +23,8 @@ enable = [
25
23
  "deprecated-pragma",
26
24
  "useless-suppression",
27
25
  "use-symbolic-message-instead",
26
+ "use-implicit-booleaness-not-comparison-to-zero",
27
+ "use-implicit-booleaness-not-comparison-to-string",
28
28
  ]
29
29
  disable = [
30
30
  # Docstrings are encouraged but we don't want to enforce that everything
@@ -1,7 +1,7 @@
1
1
  [tox]
2
2
  envlist = tests
3
- minversion = 3.25.0
4
3
  requires =
4
+ tox>=3.25.0,<4
5
5
  tox-envfile
6
6
  tox-faster
7
7
  tox-run-command
@@ -14,26 +14,39 @@ skip_install =
14
14
  setenv =
15
15
  PYTHONUNBUFFERED = 1
16
16
  OBJC_DISABLE_INITIALIZE_FORK_SAFETY = YES
17
+ dev: DEV = {env:DEV:true}
18
+ dev: SENTRY_ENVIRONMENT = {env:SENTRY_ENVIRONMENT:dev}
19
+ dev: NEW_RELIC_APP_NAME = {env:NEW_RELIC_APP_NAME:tox-envfile}
20
+ dev: NEW_RELIC_ENVIRONMENT = {env:NEW_RELIC_ENVIRONMENT:dev}
21
+ dev,tests,functests: PYTHONDEVMODE = {env:PYTHONDEVMODE:1}
22
+ tests: COVERAGE_FILE = {env:COVERAGE_FILE:.coverage.{envname}}
17
23
  passenv =
18
24
  HOME
19
25
  PYTEST_ADDOPTS
26
+ dev: DEBUG
27
+ dev: SENTRY_DSN
28
+ dev: NEW_RELIC_LICENSE_KEY
20
29
  deps =
21
30
  dev: ipython
22
31
  format,checkformatting: black
23
32
  format,checkformatting: isort
24
33
  lint: toml
25
- lint: pylint
34
+ lint: pylint>=3.0.0
26
35
  lint: pydocstyle
27
36
  lint: pycodestyle
28
37
  lint,tests: pytest-mock
29
- lint,tests,coverage: coverage[toml]
30
38
  lint,tests,functests: pytest
39
+ lint,tests,functests: h-testkit
40
+ tests: pytest-cov
41
+ coverage: coverage[toml]
31
42
  lint,tests,functests: factory-boy
43
+ lint,tests,functests: pytest-factoryboy
32
44
  lint,tests,functests: h-matchers
33
45
  lint,template: cookiecutter
46
+ typecheck: mypy
34
47
  pluggy
35
48
  depends =
36
- coverage: tests,py{39,38,37}-tests
49
+ coverage: tests,py{311,310,39,38}-tests
37
50
  commands =
38
51
  dev: {posargs:ipython --classic --no-banner --no-confirm-exit}
39
52
  format: black src tests bin
@@ -44,8 +57,9 @@ commands =
44
57
  lint: pylint --rcfile=tests/pyproject.toml tests
45
58
  lint: pydocstyle src tests bin
46
59
  lint: pycodestyle src tests bin
47
- tests: coverage run -m pytest --failed-first --new-first --no-header --quiet {posargs:tests/unit/}
48
- functests: pytest --failed-first --new-first --no-header --quiet {posargs:tests/functional/}
49
- coverage: -coverage combine
60
+ tests: python -m pytest --cov --cov-report= --cov-fail-under=0 --failed-first --new-first --no-header --quiet {posargs:tests/unit/}
61
+ functests: python -m pytest --failed-first --new-first --no-header --quiet {posargs:tests/functional/}
62
+ coverage: coverage combine
50
63
  coverage: coverage report
64
+ typecheck: mypy src
51
65
  template: python3 bin/make_template {posargs}
@@ -1,4 +0,0 @@
1
- 3.10.4
2
- 3.9.12
3
- 3.8.13
4
- 3.7.13
File without changes