cookie-python 0.3.0__py3-none-any.whl → 0.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: cookie-python
3
- Version: 0.3.0
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
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
 
@@ -1,10 +1,10 @@
1
1
  {{cookiecutter.project_name}}/.codecov.yml,sha256=AXaf1WzBMQLDBy8JG0hwDRto9_0AJHGl8a-stn0iXkw,72
2
2
  {{cookiecutter.project_name}}/.github/workflows/actions/python-poetry/action.yml,sha256=Fda9d8EZEzQVbNCLFbyHHHa3WEnCMpG6W3Yfyfjhnk8,1521
3
- {{cookiecutter.project_name}}/.github/workflows/cd.yml,sha256=QIwI6PxffuvVCR0D7f5Tv7TKMrlQPNkAwXIg-iV1GmI,1834
4
- {{cookiecutter.project_name}}/.github/workflows/ci.yml,sha256=i0RE7cNx6Zb-mtCUP4doJZHbxVwK_uQ3gCxShRdTtSo,1542
5
- {{cookiecutter.project_name}}/.github/workflows/container.yml,sha256=KIuvd8oqa4CYmFL3sU7krWUUrpVFpyVKX-T0nKtMEAI,1989
3
+ {{cookiecutter.project_name}}/.github/workflows/cd.yml,sha256=XujaJZPcXgecnYTOD3I0Y83EmugCLYempqcHGteQrPA,1834
4
+ {{cookiecutter.project_name}}/.github/workflows/ci.yml,sha256=FguH6x2oTs9ymmwUjb1VJ0YufoBJzfMkMYfuckhocK0,1561
5
+ {{cookiecutter.project_name}}/.github/workflows/container.yml,sha256=JEE4wpfvHnhU6orIsJqju4wobvS7VpuMVO3RQxZcmxA,1989
6
6
  {{cookiecutter.project_name}}/.gitignore,sha256=bsJhIdhouWZuAZ5ISVOOdTGEveIB_h0igmjgNjNZZEY,97
7
- {{cookiecutter.project_name}}/.pre-commit-config.yaml,sha256=7QGgE4XIy7628LOPnD3q0fPRM3hwmhElqU_GYDd-fJs,1275
7
+ {{cookiecutter.project_name}}/.pre-commit-config.yaml,sha256=K3kVPDFAT8BIgmKS7mluLKuDa8vrcdn1AuqebV_LFAk,675
8
8
  {{cookiecutter.project_name}}/Dockerfile,sha256=8UvDP9eeekF-SmEJpcDEUUa331ywwybQHUc-YSk2h74,259
9
9
  {{cookiecutter.project_name}}/LICENSE,sha256=uDNk3WkdMCo7sqGVWzbHjqu1TchEC0fL03YvIkrmZpw,86
10
10
  {{cookiecutter.project_name}}/README.md,sha256=6ai6zwONTQrrNmcmOqfuG3GmA-xawblPgaIWvlFyXqI,3064
@@ -15,14 +15,14 @@
15
15
  {{cookiecutter.project_name}}/cookiecutter_template_data/licenses/MIT,sha256=ZV0wNVFz30_2kbPyOzvo0-OXYCvzlnKCELj9lozbyJ8,1091
16
16
  {{cookiecutter.project_name}}/docker/entrypoint,sha256=4x6LAPV6qzfc6wszI3ZEbdVVgca_TOwidRjww2udtBY,59
17
17
  {{cookiecutter.project_name}}/docker-compose.yaml,sha256=UzuWrGYp4E_g083zuFli_E9f4XHs-gLrhEGSgrYy2sA,178
18
- {{cookiecutter.project_name}}/pyproject.toml,sha256=0JIrTfxGZ_x-ZQAcpPDK_1FgteWzhjl0XDi2ssLRlm4,2477
18
+ {{cookiecutter.project_name}}/pyproject.toml,sha256=zBDf4e3q67yn69AN4Y0gR9sls55mSTEHGmDxGStAd1Y,2693
19
19
  {{cookiecutter.project_name}}/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  {{cookiecutter.project_name}}/tests/test_module.py,sha256=mho3CLy-Bub6dU1t--G7OHDnKODW4zIeY2kBiDcYHvs,159
21
21
  {{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/__init__.py,sha256=FVgWGWVST3n5e9Km0xbq1INOgE_8uAckT33LaIo4RI8,71
22
22
  {{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/__version__.py,sha256=ShXQBVjyiSOHxoQJS2BvNG395W4KZfqMxZWBAR0MZrE,22
23
23
  {{cookiecutter.project_name}}/{{cookiecutter.project_slug}}/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- cookie_python-0.3.0.dist-info/LICENSE,sha256=FZK2LuxUG6nuZXiVOfkjmLsjHHCqn8Urhh03S8VGqug,1099
25
- cookie_python-0.3.0.dist-info/METADATA,sha256=IwAUmqkwsoqwW0mEtgG1QYGG6Wag4a8hreBIlN0ct9U,3625
26
- cookie_python-0.3.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
27
- cookie_python-0.3.0.dist-info/entry_points.txt,sha256=As3tvi9Uh-G2gBmGvVs2das5ggeEZpajb89WR4PP9xU,98
28
- cookie_python-0.3.0.dist-info/RECORD,,
24
+ cookie_python-0.3.2.dist-info/METADATA,sha256=6yAcfx-oieh4LQJZA-KiqK5T8UCuBynDhtqa3Bl1-n8,3184
25
+ cookie_python-0.3.2.dist-info/WHEEL,sha256=L-WvLdSBvJWHXv5zrQxDvNRnIgoBzLUpcbuiw19KCuQ,88
26
+ cookie_python-0.3.2.dist-info/entry_points.txt,sha256=As3tvi9Uh-G2gBmGvVs2das5ggeEZpajb89WR4PP9xU,98
27
+ cookie_python-0.3.2.dist-info/licenses/LICENSE,sha256=FZK2LuxUG6nuZXiVOfkjmLsjHHCqn8Urhh03S8VGqug,1099
28
+ cookie_python-0.3.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.1
2
+ Generator: poetry-core 2.5.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -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:
@@ -1,51 +1,29 @@
1
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
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"
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