cookie-python 0.3.1__tar.gz → 0.3.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.
Files changed (28) hide show
  1. {cookie_python-0.3.1 → cookie_python-0.3.2}/PKG-INFO +7 -16
  2. {cookie_python-0.3.1 → cookie_python-0.3.2}/README.md +2 -12
  3. {cookie_python-0.3.1 → cookie_python-0.3.2}/pyproject.toml +39 -29
  4. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.github/workflows/cd.yml +2 -2
  5. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.github/workflows/ci.yml +2 -1
  6. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.github/workflows/container.yml +2 -2
  7. cookie_python-0.3.2/{{cookiecutter.project_name}}/.pre-commit-config.yaml +29 -0
  8. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/pyproject.toml +38 -27
  9. cookie_python-0.3.1/{{cookiecutter.project_name}}/.pre-commit-config.yaml +0 -51
  10. {cookie_python-0.3.1 → cookie_python-0.3.2}/LICENSE +0 -0
  11. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.codecov.yml +0 -0
  12. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.github/workflows/actions/python-poetry/action.yml +0 -0
  13. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/.gitignore +0 -0
  14. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/Dockerfile +0 -0
  15. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/LICENSE +0 -0
  16. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/README.md +0 -0
  17. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/cookiecutter_template_data/feature_paths.yml +0 -0
  18. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/cookiecutter_template_data/licenses/BSD-3-Clause +0 -0
  19. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/cookiecutter_template_data/licenses/GPL-3.0-or-later +0 -0
  20. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/cookiecutter_template_data/licenses/LGPL-3.0-or-later +0 -0
  21. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/cookiecutter_template_data/licenses/MIT +0 -0
  22. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/docker/entrypoint +0 -0
  23. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/docker-compose.yaml +0 -0
  24. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/tests/__init__.py +0 -0
  25. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/tests/test_module.py +0 -0
  26. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/__init__.py +0 -0
  27. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/__version__.py +0 -0
  28. {cookie_python-0.3.1 → cookie_python-0.3.2}/{{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/py.typed +0 -0
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: cookie-python
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Cookiecutter template for new Python projects
5
- License: MIT
5
+ License-Expression: MIT
6
+ License-File: LICENSE
6
7
  Author: Stephen Kent
7
8
  Author-email: smkent@smkent.net
8
- Requires-Python: >=3.9,<4.0
9
+ Requires-Python: >=3.10,<4.0
9
10
  Classifier: Development Status :: 3 - Alpha
10
11
  Classifier: Operating System :: OS Independent
11
12
  Classifier: Topic :: Software Development :: Code Generators
@@ -34,11 +35,7 @@ A template for new Python projects, with:
34
35
  * [pytest][pytest]
35
36
  * [pre-commit][pre-commit]
36
37
  * [mypy][mypy]
37
- * [black][black]
38
- * [flake8][flake8] (with [bugbear][flake8-bugbear], [simplify][flake8-simplify],
39
- and [pep8-naming][pep8-naming])
40
- * [autoflake][autoflake]
41
- * [pyupgrade][pyupgrade]
38
+ * [ruff][ruff]
42
39
  * [bandit][bandit]
43
40
  * [cruft][cruft]
44
41
  * GitHub Actions support
@@ -86,20 +83,14 @@ cookiecutter https://github.com/smkent/cookie-python
86
83
  * Update test expected output files from test results:
87
84
  `poetry run poe updatetests`
88
85
 
89
- [autoflake]: https://github.com/PyCQA/autoflake
90
86
  [bandit]: https://github.com/PyCQA/bandit
91
- [black]: https://github.com/psf/black
92
87
  [codecov]: https://codecov.io/gh/smkent/cookie-python
93
88
  [codecovio]: https://codecov.io
94
89
  [cookiecutter]: https://github.com/cookiecutter/cookiecutter
95
90
  [cruft]: https://github.com/cruft/cruft
96
- [flake8-bugbear]: https://github.com/PyCQA/flake8-bugbear
97
- [flake8-simplify]: https://github.com/MartinThoma/flake8-simplify
98
- [flake8]: https://github.com/pycqa/flake8
99
91
  [gh-actions]: https://github.com/smkent/cookie-python/actions?query=branch%3Amain
100
92
  [logo]: https://raw.github.com/smkent/cookie-python/main/img/cookie-python.png
101
93
  [mypy]: https://github.com/python/mypy
102
- [pep8-naming]: https://github.com/PyCQA/pep8-naming
103
94
  [pipx]: https://pypa.github.io/pipx/
104
95
  [poetry-dynamic-versioning]: https://github.com/mtkennerly/poetry-dynamic-versioning
105
96
  [poetry-installation]: https://python-poetry.org/docs/#installation
@@ -107,6 +98,6 @@ cookiecutter https://github.com/smkent/cookie-python
107
98
  [pre-commit]: https://pre-commit.com/
108
99
  [pypi]: https://pypi.org/project/cookie-python/
109
100
  [pytest]: https://docs.pytest.org
110
- [pyupgrade]: https://github.com/asottile/pyupgrade
111
101
  [repo]: https://github.com/smkent/cookie-python
102
+ [ruff]: https://github.com/astral-sh/ruff
112
103
 
@@ -14,11 +14,7 @@ A template for new Python projects, with:
14
14
  * [pytest][pytest]
15
15
  * [pre-commit][pre-commit]
16
16
  * [mypy][mypy]
17
- * [black][black]
18
- * [flake8][flake8] (with [bugbear][flake8-bugbear], [simplify][flake8-simplify],
19
- and [pep8-naming][pep8-naming])
20
- * [autoflake][autoflake]
21
- * [pyupgrade][pyupgrade]
17
+ * [ruff][ruff]
22
18
  * [bandit][bandit]
23
19
  * [cruft][cruft]
24
20
  * GitHub Actions support
@@ -66,20 +62,14 @@ cookiecutter https://github.com/smkent/cookie-python
66
62
  * Update test expected output files from test results:
67
63
  `poetry run poe updatetests`
68
64
 
69
- [autoflake]: https://github.com/PyCQA/autoflake
70
65
  [bandit]: https://github.com/PyCQA/bandit
71
- [black]: https://github.com/psf/black
72
66
  [codecov]: https://codecov.io/gh/smkent/cookie-python
73
67
  [codecovio]: https://codecov.io
74
68
  [cookiecutter]: https://github.com/cookiecutter/cookiecutter
75
69
  [cruft]: https://github.com/cruft/cruft
76
- [flake8-bugbear]: https://github.com/PyCQA/flake8-bugbear
77
- [flake8-simplify]: https://github.com/MartinThoma/flake8-simplify
78
- [flake8]: https://github.com/pycqa/flake8
79
70
  [gh-actions]: https://github.com/smkent/cookie-python/actions?query=branch%3Amain
80
71
  [logo]: https://raw.github.com/smkent/cookie-python/main/img/cookie-python.png
81
72
  [mypy]: https://github.com/python/mypy
82
- [pep8-naming]: https://github.com/PyCQA/pep8-naming
83
73
  [pipx]: https://pypa.github.io/pipx/
84
74
  [poetry-dynamic-versioning]: https://github.com/mtkennerly/poetry-dynamic-versioning
85
75
  [poetry-installation]: https://python-poetry.org/docs/#installation
@@ -87,5 +77,5 @@ cookiecutter https://github.com/smkent/cookie-python
87
77
  [pre-commit]: https://pre-commit.com/
88
78
  [pypi]: https://pypi.org/project/cookie-python/
89
79
  [pytest]: https://docs.pytest.org
90
- [pyupgrade]: https://github.com/asottile/pyupgrade
91
80
  [repo]: https://github.com/smkent/cookie-python
81
+ [ruff]: https://github.com/astral-sh/ruff
@@ -16,7 +16,7 @@ classifiers = [
16
16
  "Topic :: Software Development :: Libraries :: Python Modules",
17
17
  "Typing :: Typed",
18
18
  ]
19
- requires-python = ">=3.9,<4.0"
19
+ requires-python = ">=3.10,<4.0"
20
20
  dynamic = []
21
21
  dependencies = [
22
22
  "loguru",
@@ -25,7 +25,7 @@ dependencies = [
25
25
  "semver",
26
26
  "toml ; python_version < '3.11'",
27
27
  ]
28
- version = "0.3.1"
28
+ version = "0.3.2"
29
29
 
30
30
  [project.scripts]
31
31
  new-cookie = "cookie_python.new:main"
@@ -42,16 +42,9 @@ poetry-dynamic-versioning = { version = ">=1.0.0,<2.0.0", extras = ["plugin"] }
42
42
 
43
43
  [tool.poetry.group.dev.dependencies]
44
44
  bandit = {extras = ["toml"], version = "*"}
45
- black = "*"
46
45
  build = "*"
47
46
  cruft = "*"
48
- flake8 = "*"
49
- flake8-bugbear = "*"
50
- flake8-pyproject = "*"
51
- flake8-simplify = "*"
52
- isort = "*"
53
47
  mypy = "*"
54
- pep8-naming = "*"
55
48
  poethepoet = "*"
56
49
  pre-commit = "*"
57
50
  pytest = "*"
@@ -59,6 +52,7 @@ pytest-cookies = "*"
59
52
  pytest-cov = "*"
60
53
  pytest-github-actions-annotate-failures = "*"
61
54
  pytest-sugar = "*"
55
+ ruff = "*"
62
56
  types-PyYAML = "*"
63
57
 
64
58
  [tool.poetry.scripts]
@@ -97,9 +91,6 @@ skips = [
97
91
  "B607", # start_process_with_partial_path
98
92
  ]
99
93
 
100
- [tool.black]
101
- line-length = 79
102
-
103
94
  [tool.coverage.run]
104
95
  source = ["cookie_python"]
105
96
  omit = ["/etc/*", "/tmp/*"]
@@ -112,14 +103,6 @@ omit = ["/etc/*", "/tmp/*"]
112
103
  [tool.cruft]
113
104
  skip = [".git"]
114
105
 
115
- [tool.flake8]
116
- exclude = "./.*,./{{cookiecutter.project_name}}"
117
-
118
- [tool.isort]
119
- atomic = true
120
- profile = "black"
121
- line_length = 79
122
-
123
106
  [tool.mypy]
124
107
  files = ["tests"]
125
108
  mypy_path = "types"
@@ -130,14 +113,41 @@ warn_return_any = true
130
113
  show_error_codes = true
131
114
  warn_unused_ignores = true
132
115
 
133
- [tool.pytest.ini_options]
134
- testpaths = ["tests"]
135
- addopts = """\
136
- --cov \
137
- --cov-append \
138
- --cov-report term \
139
- --cov-report xml:.pytest_coverage.xml \
140
- --junitxml=.pytest_results.xml \
141
- """
116
+ [tool.pytest]
117
+ testpaths = ['tests']
118
+ addopts = [
119
+ "--cov",
120
+ "--cov-append",
121
+ "--cov-report=term",
122
+ "--cov-report=xml:.pytest_coverage.xml",
123
+ "--junitxml=.pytest_results.xml",
124
+ ]
125
+
126
+ [tool.ruff]
127
+ target-version = "py310"
128
+ line-length = 79
129
+ fix = true
130
+
131
+ exclude = [
132
+ ".git",
133
+ ".venv",
134
+ "__pycache__",
135
+ ]
136
+
137
+ [tool.ruff.format]
138
+ quote-style = "double"
139
+ indent-style = "space"
140
+ line-ending = "auto"
141
+
142
+ [tool.ruff.lint]
143
+ select = [
144
+ "E", "W", # pycodestyle
145
+ "F", # pyflakes
146
+ "I", # isort
147
+ "B", # bugbear
148
+ "SIM", # flake8-simplify
149
+ "N", # pep8-naming
150
+ "UP", # pyupgrade
151
+ ]
142
152
 
143
153
  # vim: ft=cfg
@@ -4,8 +4,8 @@ name: Release
4
4
  env:
5
5
  ENABLE_PYPI_PUBLISH: {{ "true" if cookiecutter.enable_pypi_publish|lower == "yes" else "false" }}
6
6
  ENABLE_TEST_PYPI_PUBLISH: false
7
- RELEASE_PYTHON_VERSION: "3.12"
8
- RELEASE_POETRY_VERSION: "2.0"
7
+ RELEASE_PYTHON_VERSION: "3.14"
8
+ RELEASE_POETRY_VERSION: "2.2"
9
9
 
10
10
  on:
11
11
  push:
@@ -25,8 +25,9 @@ jobs:
25
25
  - "3.11"
26
26
  - "3.12"
27
27
  - "3.13"
28
+ - "3.14"
28
29
  poetry-version:
29
- - "2.0"
30
+ - "2.2"
30
31
 
31
32
  runs-on: ${{ "{{" }} matrix.os }}-latest
32
33
  steps:
@@ -4,8 +4,8 @@ name: Build
4
4
  env:
5
5
  REGISTRY: ghcr.io
6
6
  IMAGE_NAME: ${{ "{{" }} github.repository }}
7
- RELEASE_PYTHON_VERSION: "3.12"
8
- RELEASE_POETRY_VERSION: "2.0"
7
+ RELEASE_PYTHON_VERSION: "3.14"
8
+ RELEASE_POETRY_VERSION: "2.2"
9
9
 
10
10
  on:
11
11
  pull_request:
@@ -0,0 +1,29 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v6.0.0
4
+ hooks:
5
+ - id: check-yaml
6
+ - id: check-merge-conflict
7
+ - id: debug-statements
8
+ - id: end-of-file-fixer
9
+ - id: trailing-whitespace
10
+ - repo: https://github.com/astral-sh/ruff-pre-commit
11
+ rev: v0.14.11
12
+ hooks:
13
+ - id: ruff
14
+ args: ["--fix"]
15
+ - id: ruff-format
16
+ - repo: https://github.com/pycqa/bandit
17
+ rev: 1.9.2
18
+ hooks:
19
+ - id: bandit
20
+ additional_dependencies: ['.[toml]']
21
+ args: ["--configfile", "pyproject.toml"]
22
+ exclude: '^tests/'
23
+ - repo: local
24
+ hooks:
25
+ - id: mypy
26
+ name: mypy
27
+ language: python
28
+ types_or: [python, pyi]
29
+ entry: env -u VIRTUAL_ENV poetry run mypy
@@ -15,7 +15,7 @@ classifiers = [
15
15
  "Topic :: Software Development :: Libraries :: Python Modules",
16
16
  "Typing :: Typed",
17
17
  ]
18
- requires-python = ">=3.9,<4.0"
18
+ requires-python = ">=3.10,<4.0"
19
19
  dynamic = [ "version" ]
20
20
  dependencies = [
21
21
  ]
@@ -31,21 +31,15 @@ poetry-dynamic-versioning = { version = ">=1.0.0,<2.0.0", extras = ["plugin"] }
31
31
 
32
32
  [tool.poetry.group.dev.dependencies]
33
33
  bandit = {extras = ["toml"], version = "*"}
34
- black = "*"
35
34
  cruft = "*"
36
- flake8 = "*"
37
- flake8-bugbear = "*"
38
- flake8-pyproject = "*"
39
- flake8-simplify = "*"
40
- isort = "*"
41
35
  mypy = "*"
42
- pep8-naming = "*"
43
36
  poethepoet = "*"
44
37
  pre-commit = "*"
45
38
  pytest = "*"
46
39
  pytest-cov = "*"
47
40
  pytest-github-actions-annotate-failures = "*"
48
41
  pytest-sugar = "*"
42
+ ruff = "*"
49
43
 
50
44
  [tool.poetry-dynamic-versioning]
51
45
  enable = true
@@ -67,9 +61,6 @@ help = "Run all tests"
67
61
  [tool.bandit]
68
62
  skips = ["B101"] # assert_used
69
63
 
70
- [tool.black]
71
- line-length = 79
72
-
73
64
  [tool.coverage.run]
74
65
  source = ["{{ cookiecutter.project_slug }}"]
75
66
 
@@ -80,14 +71,6 @@ show_missing = true
80
71
  [tool.cruft]
81
72
  skip = [".git"]
82
73
 
83
- [tool.flake8]
84
- exclude = "./.*"
85
-
86
- [tool.isort]
87
- atomic = true
88
- profile = "black"
89
- line_length = 79
90
-
91
74
  [tool.mypy]
92
75
  files = [ "tests", "{{ cookiecutter.project_slug }}" ]
93
76
  mypy_path = "types"
@@ -98,13 +81,41 @@ warn_return_any = true
98
81
  show_error_codes = true
99
82
  warn_unused_ignores = true
100
83
 
101
- [tool.pytest.ini_options]
102
- addopts = """\
103
- --cov \
104
- --cov-append \
105
- --cov-report term \
106
- --cov-report xml:.pytest_coverage.xml \
107
- --junitxml=.pytest_results.xml \
108
- """
84
+ [tool.pytest]
85
+ testpaths = ['tests']
86
+ addopts = [
87
+ "--cov",
88
+ "--cov-append",
89
+ "--cov-report=term",
90
+ "--cov-report=xml:.pytest_coverage.xml",
91
+ "--junitxml=.pytest_results.xml",
92
+ ]
93
+
94
+ [tool.ruff]
95
+ target-version = "py310"
96
+ line-length = 79
97
+ fix = true
98
+
99
+ exclude = [
100
+ ".git",
101
+ ".venv",
102
+ "__pycache__",
103
+ ]
104
+
105
+ [tool.ruff.format]
106
+ quote-style = "double"
107
+ indent-style = "space"
108
+ line-ending = "auto"
109
+
110
+ [tool.ruff.lint]
111
+ select = [
112
+ "E", "W", # pycodestyle
113
+ "F", # pyflakes
114
+ "I", # isort
115
+ "B", # bugbear
116
+ "SIM", # flake8-simplify
117
+ "N", # pep8-naming
118
+ "UP", # pyupgrade
119
+ ]
109
120
 
110
121
  # vim: ft=cfg
@@ -1,51 +0,0 @@
1
- repos:
2
- - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.4.0
4
- hooks:
5
- - id: check-yaml
6
- - id: check-merge-conflict
7
- - id: debug-statements
8
- - id: end-of-file-fixer
9
- - id: trailing-whitespace
10
- - repo: https://github.com/psf/black
11
- rev: 23.1.0
12
- hooks:
13
- - id: black
14
- args: ["--config", "pyproject.toml"]
15
- - repo: https://github.com/pycqa/isort
16
- rev: 5.12.0
17
- hooks:
18
- - id: isort
19
- args: ["--show-config"]
20
- - repo: https://github.com/pycqa/bandit
21
- rev: 1.7.4
22
- hooks:
23
- - id: bandit
24
- additional_dependencies: ['.[toml]']
25
- args: ["--configfile", "pyproject.toml"]
26
- exclude: '^tests/'
27
- - repo: https://github.com/pycqa/flake8
28
- rev: 6.0.0
29
- hooks:
30
- - id: flake8
31
- additional_dependencies:
32
- - flake8-bugbear
33
- - flake8-pyproject
34
- - flake8-simplify
35
- - pep8-naming
36
- - repo: https://github.com/pycqa/autoflake
37
- rev: v2.0.1
38
- hooks:
39
- - id: autoflake
40
- - repo: https://github.com/asottile/pyupgrade
41
- rev: v3.3.1
42
- hooks:
43
- - id: pyupgrade
44
- args: ["--py39-plus", "--keep-runtime-typing"]
45
- - repo: local
46
- hooks:
47
- - id: mypy
48
- name: mypy
49
- language: python
50
- types_or: [python, pyi]
51
- entry: env -u VIRTUAL_ENV poetry run mypy
File without changes