Skip to content

Commit 1a6e96b

Browse files
committed
[NEW] Cookiecutter Python Package v1.0.0 !
2 parents 3e47993 + d17ceb6 commit 1a6e96b

File tree

9 files changed

+136
-74
lines changed

9 files changed

+136
-74
lines changed

CHANGELOG.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,33 @@
22
Changelog
33
=========
44

5+
1.0.0 (2022-05-11)
6+
==================
7+
8+
Releasing v1.0.0, the first ever v1.* version!
9+
We are confident that the user-facing "interface" of this package is stable
10+
and commit to (continue to) follow `Semantic Versioning`.
11+
12+
As far as changes are concerned, invoking the `project generator`
13+
now adds several new `status badges` in your README, which automatically update based on
14+
their corresponding CI services!
15+
16+
Changes
17+
^^^^^^^
18+
19+
feature
20+
"""""""
21+
- add new status badges and slightly improve content
22+
23+
fix
24+
"""
25+
- clean files and configs
26+
27+
documentation
28+
"""""""""""""
29+
- explain which generated file governs which component (ie ci code, tests code, etc)
30+
31+
532
0.11.0 (2022-05-11)
633
===================
734

README.rst

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,17 @@ It it entirely generated using this **Python Package Template:**
3939
Generated Python Package Features
4040
---------------------------------
4141

42-
1. **Test Suite** using `pytest`_
42+
1. **Test Suite**, using `pytest`_, located in `tests`_ dir
4343
2. **Parallel Execution** of Unit Tests, on multiple cpu's
44-
3. **Automation**, using `tox`_
44+
3. **Documentation Pages**, hosted on `readthedocs` server, located in `docs`_ dir
45+
4. **Automation**, using `tox`_, driven by single `tox.ini`_ file
4546

4647
a. **Code Coverage** measuring
4748
b. **Build Command**, using the `build`_ python package
4849
c. **Pypi Deploy Command**, supporting upload to both `pypi.org`_ and `test.pypi.org`_ servers
4950
d. **Type Check Command**, using `mypy`_
5051
e. **Lint** *Check* and `Apply` commands, using `isort`_ and `black`_
51-
4. **CI Pipeline**, running on `Github Actions`_
52+
5. **CI Pipeline**, running on `Github Actions`_, defined in `.github/`_
5253

5354
a. **Job Matrix**, spanning different `platform`'s and `python version`'s
5455

@@ -158,23 +159,25 @@ For more complex use cases, you can modify the Template and also leverage all of
158159

159160
.. BADGE ALIASES
160161
161-
.. Test Workflow Status on Github Actions for specific branch <branch>
162+
.. Build Status
163+
.. Github Actions: Test Workflow Status for specific branch <branch>
162164
163165
.. |build| image:: https://img.shields.io/github/workflow/status/boromir674/cookiecutter-python-package/Test%20Python%20Package/master?label=build&logo=github-actions&logoColor=%233392FF
164166
:alt: GitHub Workflow Status (branch)
165167
:target: https://github.com/boromir674/cookiecutter-python-package/actions/workflows/test.yaml?query=branch%3Amaster
166168

167-
.. Code Coverage
168-
.. Codecov CI
169169

170-
.. |coverage| image:: https://img.shields.io/codecov/c/github/boromir674/cookiecutter-python-package/master?logo=codecov
171-
:alt: Codecov
172-
:target: https://app.codecov.io/gh/boromir674/cookiecutter-python-package
170+
.. Documentation
173171
174172
.. |docs| image:: https://img.shields.io/readthedocs/python-package-generator/master?logo=readthedocs&logoColor=lightblue
175173
:alt: Read the Docs (version)
176174
:target: https://python-package-generator.readthedocs.io/en/master/
177175

176+
.. Code Coverage
177+
178+
.. |coverage| image:: https://img.shields.io/codecov/c/github/boromir674/cookiecutter-python-package/master?logo=codecov
179+
:alt: Codecov
180+
:target: https://app.codecov.io/gh/boromir674/cookiecutter-python-package
178181

179182
.. PyPI
180183
@@ -193,9 +196,9 @@ For more complex use cases, you can modify the Template and also leverage all of
193196

194197
.. Github Releases & Tags
195198
196-
.. |commits_since_specific_tag_on_master| image:: https://img.shields.io/github/commits-since/boromir674/cookiecutter-python-package/v0.11.0/master?color=blue&logo=github
199+
.. |commits_since_specific_tag_on_master| image:: https://img.shields.io/github/commits-since/boromir674/cookiecutter-python-package/v1.0.0/master?color=blue&logo=github
197200
:alt: GitHub commits since tagged version (branch)
198-
:target: https://github.com/boromir674/cookiecutter-python-package/compare/v0.11.0..master
201+
:target: https://github.com/boromir674/cookiecutter-python-package/compare/v1.0.0..master
199202

200203
.. |commits_since_latest_github_release| image:: https://img.shields.io/github/commits-since/boromir674/cookiecutter-python-package/latest?color=blue&logo=semver&sort=semver
201204
:alt: GitHub commits since latest release (by SemVer)

setup.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[metadata]
22
## Setuptools specific information
33
name = cookiecutter_python
4-
version = 0.11.0
4+
version = 1.0.0
55
# renders on pypi as subtitle
66
description = Yet another modern Python Package (pypi) with emphasis in CI/CD and automation
77
long_description = file: README.rst
@@ -15,7 +15,7 @@ author_email = k.lampridis@hotmail.com
1515
# represents the web home page of the project
1616
url = https://github.com/boromir674/cookiecutter-python-package
1717

18-
download_url = https://github.com/boromir674/cookiecutter-python-package/archive/v0.11.0.tar.gz
18+
download_url = https://github.com/boromir674/cookiecutter-python-package/archive/v1.0.0.tar.gz
1919

2020
## PyPi specific information
2121
project_urls =
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.11.0'
1+
__version__ = '1.0.0'

src/cookiecutter_python/{{ cookiecutter.project_slug }}/.prospector.yml

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,15 @@ ignore-paths:
1010
- docs
1111
ignore-patterns:
1212
- (^|/)skip(this)?(/|$)
13-
- tests/test_commands.py
14-
- tests/test_mediator.py
15-
- tests/test_notification.py
16-
- tests/test_phi.py
1713
autodetect: false
18-
max-line-length: 120
14+
max-line-length: 95
1915

2016

17+
# TOOLS
18+
2119
pyflakes:
2220
run: true
23-
disable:
24-
- F403
25-
- F810
21+
2622

2723
pyroma:
2824
run: true
@@ -38,41 +34,26 @@ mccabe:
3834
options:
3935
max-complexity: 12
4036

37+
38+
# INACTIVE
39+
4140
pylint:
4241
run: false
4342

4443
bandit:
4544
run: false
46-
options:
47-
config: bandit.yml
4845

4946
frosted:
5047
run: false
51-
disable:
52-
- E103
53-
- E306
5448

5549
pep8:
5650
run: false
57-
disable:
58-
- W602
59-
- W603
60-
enable:
61-
- W601
62-
options:
63-
max-line-length: 79
6451

6552
pep257:
6653
run: false
67-
disable:
68-
- D100
69-
- D101
7054

7155
mypy:
7256
run: false
73-
options:
74-
ignore-missing-imports: true
75-
follow-imports: skip
7657

7758
vulture:
7859
run: false

src/cookiecutter_python/{{ cookiecutter.project_slug }}/README.rst

Lines changed: 85 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,41 @@
44

55
.. start-badges
66
7-
| |build| |release_version| |wheel| |supported_versions| |gh-lic| |commits_since_specific_tag_on_master| |commits_since_latest_github_release|
7+
| |build| |docs| |coverage| |maintainability| |better_code_hub| |tech-debt|
8+
| |release_version| |wheel| |supported_versions| |gh-lic| |commits_since_specific_tag_on_master| |commits_since_latest_github_release|
89
9-
10-
|
11-
| **Source Code:** https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}
12-
| **Pypi Package:** https://pypi.org/project/{{ cookiecutter.pkg_name }}/
1310
|
11+
| **Code:** https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}
12+
| **Docs:** https://{{ cookiecutter.repo_name }}.readthedocs.io/en/master/
13+
| **PyPI:** https://pypi.org/project/{{ cookiecutter.pkg_name|replace('_', '-') }}/
14+
| **CI:** https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/actions/
1415
1516

1617
Features
1718
========
1819

19-
2020
1. **{{ cookiecutter.pkg_name }}** `python package`
2121

22-
a. TODO **Great Feature**
23-
b. TODO **Nice Feature**
22+
a. TODO Document a **Great Feature**
23+
b. TODO Document another **Nice Feature**
24+
2. Tested against multiple `platforms` and `python` versions
25+
26+
27+
Development
28+
-----------
29+
Here are some useful notes related to doing development on this project.
2430

25-
2. **Test Suite** using `Pytest`
26-
3. **Parallel Execution** of Unit Tests, on multiple cpu's
27-
4. **Automation**, using `tox`
31+
1. **Test Suite**, using `pytest`_, located in `tests`_ dir
32+
2. **Parallel Execution** of Unit Tests, on multiple cpu's
33+
3. **Documentation Pages**, hosted on `readthedocs` server, located in `docs`_ dir
34+
4. **Automation**, using `tox`_, driven by single `tox.ini`_ file
2835

2936
a. **Code Coverage** measuring
30-
b. **Build Command**, using the `build` python package
31-
c. **Pypi Deploy Command**, supporting upload to both `pypi.org` and `test.pypi.org` servers
32-
d. **Type Check Command**, using `mypy`
37+
b. **Build Command**, using the `build`_ python package
38+
c. **Pypi Deploy Command**, supporting upload to both `pypi.org`_ and `test.pypi.org`_ servers
39+
d. **Type Check Command**, using `mypy`_
3340
e. **Lint** *Check* and `Apply` commands, using `isort`_ and `black`_
34-
5. **CI Pipeline**, running on `Github Actions`
41+
5. **CI Pipeline**, running on `Github Actions`_, defined in `.github/`_
3542

3643
a. **Job Matrix**, spanning different `platform`'s and `python version`'s
3744

@@ -55,7 +62,7 @@ Using `pip` is the approved way for installing `{{ cookiecutter.pkg_name }}`.
5562
python3 -m pip install {{ cookiecutter.pkg_name }}
5663
5764
58-
TODO demonstrate a use case
65+
TODO Document a use case
5966

6067

6168
License
@@ -72,17 +79,53 @@ License
7279
* Free software: GNU Affero General Public License v3.0
7380

7481

75-
.. MACROS/ALIASES
7682

77-
.. start-badges
83+
.. LINKS
84+
85+
.. _tox: https://tox.wiki/en/latest/
86+
87+
.. _pytest: https://docs.pytest.org/en/7.1.x/
88+
89+
.. _build: https://github.com/pypa/build
90+
91+
.. _pypi.org: https://pypi.org/
92+
93+
.. _test.pypi.org: https://test.pypi.org/
94+
95+
.. _mypy: https://mypy.readthedocs.io/en/stable/
96+
97+
.. _isort: https://pycqa.github.io/isort/
98+
99+
.. _black: https://black.readthedocs.io/en/stable/
100+
101+
.. _Github Actions: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/actions
78102

79-
.. Test Workflow Status on Github Actions for specific branch <branch>
103+
.. _GNU Affero General Public License v3.0: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/blob/master/LICENSE
104+
105+
106+
.. BADGE ALIASES
107+
108+
.. Build Status
109+
.. Github Actions: Test Workflow Status for specific branch <branch>
80110
81111
.. |build| image:: https://img.shields.io/github/workflow/status/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/Test%20Python%20Package/master?label=build&logo=github-actions&logoColor=%233392FF
82112
:alt: GitHub Workflow Status (branch)
83113
:target: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/actions/workflows/test.yaml?query=branch%3Amaster
84114

85-
.. above url to workflow runs, filtered by the specified branch
115+
116+
.. Documentation
117+
118+
.. |docs| image:: https://img.shields.io/readthedocs/python-package-generator/master?logo=readthedocs&logoColor=lightblue
119+
:alt: Read the Docs (version)
120+
:target: https://python-package-generator.readthedocs.io/en/master/
121+
122+
.. Code Coverage
123+
124+
.. |coverage| image:: https://img.shields.io/codecov/c/github/boromir674/cookiecutter-python-package/master?logo=codecov
125+
:alt: Codecov
126+
:target: https://app.codecov.io/gh/boromir674/cookiecutter-python-package
127+
128+
..PyPI
86129

87130
.. |release_version| image:: https://img.shields.io/pypi/v/{{ cookiecutter.pkg_name }}
88131
:alt: Production Version
@@ -96,23 +139,40 @@ License
96139
:alt: Supported Python versions
97140
:target: https://pypi.org/project/{{ cookiecutter.pkg_name }}
98141

142+
.. Github Releases & Tags
143+
99144
.. |commits_since_specific_tag_on_master| image:: https://img.shields.io/github/commits-since/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/v{{ cookiecutter.version }}/master?color=blue&logo=github
100145
:alt: GitHub commits since tagged version (branch)
101146
:target: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/compare/v{{ cookiecutter.version }}..master
102147

103148
.. |commits_since_latest_github_release| image:: https://img.shields.io/github/commits-since/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/latest?color=blue&logo=semver&sort=semver
104149
:alt: GitHub commits since latest release (by SemVer)
105150

106-
.. Github License (eg AGPL, MIT)
151+
.. LICENSE (eg AGPL, MIT)
152+
.. Github License
153+
107154
.. |gh-lic| image:: https://img.shields.io/github/license/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}
108155
:alt: GitHub
109156
:target: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/blob/master/LICENSE
110157

111158

112-
.. LINKS
159+
.. CODE QUALITY
113160
114-
.. _GNU Affero General Public License v3.0: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.repo_name }}/blob/master/LICENSE
161+
.. Better Code Hub
162+
.. Software Design Patterns
115163
116-
.. _isort: https://pycqa.github.io/isort/
164+
.. |better_code_hub| image:: https://bettercodehub.com/edge/badge/boromir674/cookiecutter-python-package?branch=master
165+
:alt: Better Code Hub
166+
:target: https://bettercodehub.com/
117167

118-
.. _black: https://black.readthedocs.io/en/stable/
168+
169+
.. Code Climate CI
170+
.. Code maintainability & Technical Debt
171+
172+
.. |maintainability| image:: https://img.shields.io/codeclimate/maintainability/boromir674/biskotaki
173+
:alt: Code Climate Maintainability
174+
:target: https://codeclimate.com/github/boromir674/cookiecutter-python-package/maintainability
175+
176+
.. |tech-debt| image:: https://img.shields.io/codeclimate/tech-debt/boromir674/cookiecutter-python-package
177+
:alt: Technical Debt
178+
:target: https://codeclimate.com/github/boromir674/cookiecutter-python-package/maintainability

src/cookiecutter_python/{{ cookiecutter.project_slug }}/pyproject.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
requires = ["setuptools >= 40.6.0", "wheel"]
55
build-backend = "setuptools.build_meta"
66

7-
# TODO switch setuptools build backend to something like 'poetry' or 'build'
8-
9-
107

118
# TOOLS
129

src/cookiecutter_python/{{ cookiecutter.project_slug }}/requirements/docs.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/cookiecutter_python/{{ cookiecutter.project_slug }}/requirements/rtd.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)