Skip to content

Commit 66499f4

Browse files
authored
Merge pull request #129 from bird-house/updates-2025
Updates 2025
2 parents 22a83cb + 3f04c0b commit 66499f4

37 files changed

+1284
-196
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
version: 2
77
updates:
88
- package-ecosystem: "github-actions"
9-
directory: "/"
9+
directory: "/.github/workflows"
1010
schedule:
1111
interval: "monthly"
1212
groups:
@@ -15,10 +15,13 @@ updates:
1515
- "*"
1616

1717
- package-ecosystem: "pip"
18-
directory: "/CI"
18+
directory: "/"
1919
schedule:
2020
interval: "monthly"
2121
groups:
22+
ci:
23+
patterns:
24+
- "CI/*"
2225
python:
2326
patterns:
24-
- "*"
27+
- "pyproject.toml"

.github/workflows/main.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,26 @@ jobs:
1717
strategy:
1818
matrix:
1919
include:
20-
- tox-env: py39
21-
python-version: "3.9"
2220
- tox-env: py310
2321
python-version: "3.10"
2422
- tox-env: py311
2523
python-version: "3.11"
2624
- tox-env: py312
2725
python-version: "3.12"
28-
- tox-env: pypy39
29-
python-version: "pypy-3.9"
26+
- tox-env: py313
27+
python-version: "3.13"
3028
- tox-env: pypy310
3129
python-version: "pypy-3.10"
3230
steps:
33-
- name: Checkout repository and submodules
31+
- name: Harden Runner
32+
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
33+
with:
34+
disable-sudo: true
35+
egress-policy: audit
36+
- name: Checkout Repository
3437
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3538
with:
36-
submodules: recursive
37-
- name: Install packages
38-
run: |
39-
sudo apt-get -y install pandoc
39+
persist-credentials: false
4040
- name: Set up Python ${{ matrix.python-version }}
4141
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
4242
with:

.readthedocs.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ version: 2
77

88
# Set the version of Python and other tools you might need
99
build:
10-
os: ubuntu-22.04
10+
os: "ubuntu-24.04"
1111
tools:
12-
python: mambaforge-22.9
12+
python: "mambaforge-23.11"
13+
14+
# Optionally build your docs in additional formats such as PDF and ePub
15+
formats: [ ]
1316

1417
# Build documentation in the docs/ directory with Sphinx
1518
sphinx:

CHANGELOG.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
CHANGES
22
********
33

4+
1.1.0 (2025-02-04)
5+
==================
6+
7+
Changes:
8+
9+
* Fixed a bug the Dockerfile configuration. (hotfix)
10+
* Added several workflows to help with testing, docker images, and version bumping. (#129).
11+
* Reorganized README files to organize badges better. (#129).
12+
* Added several pre-commit hooks to help with code organization, docstrings, finding dead code blocks, etc. (#129).
13+
* Dropped support for Python3.9, extended support for Python3.13. (#129).
14+
* Now using a CI folder for managing CI-specific Python dependencies.(#129).
15+
* Updated several development dependencies. (#129).
16+
* Now using a Dependabot configuration for managing Python and GitHub Actions updates. (#129).
17+
418
1.0.0 (2024-10-03)
519
==================
620

CI/requirements_ci.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.8
2+
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
55
# pip-compile --generate-hashes --output-file=CI/requirements_ci.txt CI/requirements_ci.in
@@ -85,7 +85,7 @@ tomli==2.2.1 \
8585
tox==4.24.1 \
8686
--hash=sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e \
8787
--hash=sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75
88-
# via -r requirements_ci.in
88+
# via -r CI/requirements_ci.in
8989
typing-extensions==4.12.2 \
9090
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
9191
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8

README.rst

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,7 @@
22
Cookiecutter for Birdhouse
33
==========================
44

5-
.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
6-
:target: http://cookiecutter-birdhouse.readthedocs.org/en/latest/?badge=latest
7-
:alt: Documentation Status
8-
9-
.. image:: https://github.com/bird-house/cookiecutter-birdhouse/actions/workflows/main.yml/badge.svg
10-
:target: https://github.com/bird-house/cookiecutter-birdhouse/actions/workflows/main.yml
11-
:alt: GitHub Workflows
12-
13-
.. image:: https://readthedocs.org/projects/cookiecutter-pypackage/badge/?version=latest
14-
:target: https://cookiecutter-pypackage.readthedocs.io/en/latest/?badge=latest
15-
:alt: Documentation Status
16-
17-
.. image:: https://img.shields.io/github/license/bird-house/cookiecutter-birdhouse.svg
18-
:target: https://github.com/bird-house/cookiecutter-birdhouse/blob/master/LICENSE
19-
:alt: GitHub license
20-
21-
.. image:: https://badges.gitter.im/bird-house/birdhouse.svg
22-
:target: https://gitter.im/bird-house/birdhouse?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
23-
:alt: Join the chat at https://gitter.im/bird-house/birdhouse
5+
|build| |docs| |license| |gitter|
246

257
Cookiecutter_ template for a Python package.
268

@@ -197,16 +179,33 @@ Make a new version of this Cookiecutter in the following steps:
197179

198180
See the bump-my-version_ documentation for details.
199181

182+
.. _0.2.x: https://github.com/bird-house/cookiecutter-birdhouse/tree/0.2.x
200183
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
201184
.. _Cruft: https://cruft.github.io/cruft/
202-
.. _`cookiecutter-pypackage tutorial`: https://cookiecutter-pypackage.readthedocs.io/en/latest/tutorial.html
203-
.. _cruft_skip: https://github.com/bird-house/emu/commit/fb1ff9ffdf9e7f0282b36ff0727996cba3bf081a
204-
.. _cruft_link: https://github.com/bird-house/finch/pull/128/commits/0b0d7f37966cbb5bf345dfd4b4ac7953f38f4867
205185
.. _GitHub_Workflows: https://docs.github.com/en/actions/using-workflows
206-
.. _Tox: http://testrun.org/tox/
207-
.. _Sphinx: http://sphinx-doc.org/
186+
.. _Mkdocs: https://pypi.org/project/mkdocs/
187+
.. _PyPI: https://pypi.python.org/pypi
208188
.. _ReadTheDocs: https://readthedocs.io/
189+
.. _Sphinx: http://sphinx-doc.org/
190+
.. _Tox: http://testrun.org/tox/
191+
.. _`cookiecutter-pypackage tutorial`: https://cookiecutter-pypackage.readthedocs.io/en/latest/tutorial.html
209192
.. _bump-my-version: https://github.com/callowayproject/bump-my-version
210-
.. _0.2.x: https://github.com/bird-house/cookiecutter-birdhouse/tree/0.2.x
211-
.. _PyPI: https://pypi.python.org/pypi
212-
.. _Mkdocs: https://pypi.org/project/mkdocs/
193+
.. _cruft_link: https://github.com/bird-house/finch/pull/128/commits/0b0d7f37966cbb5bf345dfd4b4ac7953f38f4867
194+
.. _cruft_skip: https://github.com/bird-house/emu/commit/fb1ff9ffdf9e7f0282b36ff0727996cba3bf081a
195+
196+
197+
.. |docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
198+
:target: http://cookiecutter-birdhouse.readthedocs.org/en/latest/?badge=latest
199+
:alt: Documentation Status
200+
201+
.. |build| image:: https://github.com/bird-house/cookiecutter-birdhouse/actions/workflows/main.yml/badge.svg
202+
:target: https://github.com/bird-house/cookiecutter-birdhouse/actions/workflows/main.yml
203+
:alt: GitHub Workflows
204+
205+
.. |license| image:: https://img.shields.io/github/license/bird-house/cookiecutter-birdhouse.svg
206+
:target: https://github.com/bird-house/cookiecutter-birdhouse/blob/master/LICENSE
207+
:alt: License
208+
209+
.. |gitter| image:: https://badges.gitter.im/bird-house/birdhouse.svg
210+
:target: https://gitter.im/bird-house/birdhouse?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
211+
:alt: Bird-house Gitter chat

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Getting Started
1515
readme
1616
tutorial
1717
pypi_release_checklist
18+
troubleshooting
1819

1920
Basics
2021
------

docs/source/troubleshooting.rst

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
.. _troubleshooting:
2+
3+
===============
4+
Troubleshooting
5+
===============
6+
7+
I created a cookiecutter, but it doesn't work, and I can't figure out why
8+
-------------------------------------------------------------------------
9+
10+
* Try upgrading to Cookiecutter 0.8.0, which prints better error
11+
messages and has fixes for several common bugs.
12+
13+
I'm having trouble generating Jinja templates from Jinja templates
14+
------------------------------------------------------------------
15+
16+
Make sure you escape things properly, like this::
17+
18+
{{ "{{" }}
19+
20+
Or this::
21+
22+
{% raw %}
23+
<p>Go <a href="{{ url_for('home') }}">Home</a></p>
24+
{% endraw %}
25+
26+
Or this::
27+
28+
{{ {{ url_for('home') }} }}
29+
30+
See https://jinja.palletsprojects.com/en/latest/templates/#escaping for more info.
31+
32+
You can also use the `_copy_without_render`_ key in your `cookiecutter.json`
33+
file to escape entire files and directories.
34+
35+
.. _`_copy_without_render`: http://cookiecutter.readthedocs.io/en/latest/advanced/copy_without_render.html
36+
37+
38+
Other common issues
39+
-------------------
40+
41+
TODO: add a bunch of common new user issues here.
42+
43+
This document is incomplete. If you have knowledge that could help other users,
44+
adding a section or filing an issue with details would be greatly appreciated.

environment.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,21 @@ name: cookiecutter-birdhouse
22
channels:
33
- conda-forge
44
dependencies:
5-
- python>=3.9,<3.13
6-
- alabaster >=0.7.16
7-
- bump-my-version >=0.26.0
5+
- python>=3.10,<3.14
6+
- alabaster >=1.0.0
7+
- python-build >=1.2.2
8+
- bump-my-version >=0.30.1
89
- cookiecutter >=2.6.0
910
- cruft >=2.15.0
1011
- cryptography
11-
- pip >=24.2.0
12+
- pip >=25.0
13+
- pre-commit >=4.0.0
1214
- psutil >=6.0.0
1315
- pytest >=8.0.0
1416
- pytest-cookies >=0.7.0
1517
- pywps >=4.6
1618
- pyyaml >=6.0.2
17-
- ruff >=0.5.7
18-
- sphinx >=7.0.0
19-
- tox >=4.18.0
19+
- ruff >=0.9.0
20+
- sphinx >=7.1.0
21+
- tox >=4.24.1
2022
- watchdog >=4.0.0

pyproject.toml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ maintainers = [
1717
]
1818
license = {file = "LICENSE"}
1919
keywords = ["cookiecutter", "template", "package", "wps", "pywps", "birdhouse"]
20-
requires-python = ">=3.9"
20+
requires-python = ">=3.10"
2121
classifiers = [
2222
"Development Status :: 4 - Beta",
2323
"Environment :: Console",
@@ -26,31 +26,35 @@ classifiers = [
2626
"License :: OSI Approved :: BSD License",
2727
"Programming Language :: Python",
2828
"Programming Language :: Python :: 3",
29-
"Programming Language :: Python :: 3.9",
3029
"Programming Language :: Python :: 3.10",
3130
"Programming Language :: Python :: 3.11",
3231
"Programming Language :: Python :: 3.12",
32+
"Programming Language :: Python :: 3.13",
3333
"Programming Language :: Python :: Implementation :: CPython",
3434
"Programming Language :: Python :: Implementation :: PyPy",
3535
"Topic :: Software Development"
3636
]
37+
dependencies = [
38+
"cookiecutter >=2.6.0",
39+
]
3740

3841
[project.optional-dependencies]
3942
dev = [
40-
"alabaster>=0.7.16",
41-
"build>=1.2.1",
42-
"cookiecutter>=2.6.0",
43-
"coverage>=7.5.1",
44-
"flit>=3.9.0,<4.0",
45-
"pre-commit>=3.8.0",
46-
"pytest>=8.2.0",
47-
"pytest-cookies>=0.7.0",
43+
"alabaster >=1.0",
44+
"build >=1.2.2",
45+
"bump-my-version >=0.30.1",
46+
"coverage >=7.5.1",
47+
"cruft >=2.15.0",
48+
"flit >=3.9.0,<4.0",
49+
"pre-commit >=4.0.0",
50+
"pytest >=8.2.0",
51+
"pytest-cookies >=0.7.0",
4852
"pyyaml >=6.0.0",
49-
"ruff>=0.5.7",
50-
"sphinx>=7.0.0",
51-
"tox>=4.18.0",
52-
"twine>=5.1.1",
53-
"watchdog>=4.0.0"
53+
"ruff >=0.5.7",
54+
"sphinx >=7.1.0",
55+
"tox >=4.24.1",
56+
"twine >=5.1.1",
57+
"watchdog >=4.0.0"
5458
]
5559

5660
[project.urls]

0 commit comments

Comments
 (0)