NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2847 most downloaded on PyPI
Template tool for putting up the scaffold of a Python project
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 1.3 years
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
179 releases · first in 2014
Modify Cirrus CI template to save resources, #735
importlib.resources.files instead of importlib.resources.read_text or pkgutil.get_data, #747platformdirs, #755Full Changelog: v4.5...v4.6
One column per quarter.
Change macOS default configuration dir from ~/Library/Preferences to ~/Library/Application Support, #721 . This change is motivated by the upgrade in
Full Changelog: v4.4.1...v4.5
Re-use pre-built wheels in CI for upgrade tests in #702
GITHUB_TOKEN variable in GHA template #715Full Changelog: v4.4...v4.4.1
Reuse pre-built wheels in CI for upgrade tests in 702
Make security permissions explicit in GHA template 704
Fix GITHUB_TOKEN variable in GHA template 715
Replace deprecated set-output , #688
codespell to pre-commit config, #674venv_install in config file, #680tox 4.0 and 4.1, #689macos instances on Cirrus CI, #690set-output, #688sdist in tox.ini and FAQ, #694Full Changelog: v4.3.1...v4.4
Modify tox.ini template to allow passing the TWINE_REPOSITORY_URL environment variable, #666
tox.ini template to allow passing the TWINE_REPOSITORY_URL environment variable, #666Full Changelog: v4.3...v4.3.1
This is a small incremental release, focusing on small improvements of existing functionality.
This is a small incremental release, focusing on small improvements of existing functionality.
pyproject.toml (it is redundant since setuptools already includes it), #652.freebsd configuration in .cirrus.yml (with workaround for pipx in 2022Q3 repo), #657.Full Changelog: v4.2.3...v4.3
Fix github action creating the demo-repo by, #644
Full Diff: v4.2.2...v4.2.3
I am happy to announce the new patch-level release: PyScaffold v4.2.2.
I am happy to announce the new patch-level release: PyScaffold v4.2.2.
.github/workflows/ci.yml template, #637, #640Full Diff: v4.2.1...v4.2.2
Update .github/workflows/ci.yml template, 637 and 640
Update note in skeleton.py template clarifying file can be renamed, 641
I am happy to announce the new patch-level release: PyScaffold v4.2.1.
I am happy to announce the new patch-level release: PyScaffold v4.2.1.
This release improves the GitLab CI configuration updated in v4.2.
.gitlab-ci.yml template to work for GitLab Enterprise 14.7.4, #630Full Diff: v4.2...v4.2.1
Ensure .gitlab-ci.yml template works for GitLab Enterprise 14.7.4, 630
I am happy to announce the new release: PyScaffold v4.2 .
I am happy to announce the new release: PyScaffold v4.2.
This release brings a lot of improvements, specially in terms of continuous integrations!
The existing templates for Cirrus CI and GitLab CI were updated and PyScaffold can now generate configurations for GitHub Actions.
--github-actions extension, #619--gitlab extension, #622--cirrus extension, #625tox -e publish example in docs by @bernhardschaefer, #627colorama as a runtime dependency for windows, #624Full Diff: v4.1.5...v4.2
Added .python-version created by pyenv to .gitignore
Added .python-version created by pyenv to .gitignore
Added more --very-verbose logging to make clearer what's going on, 562
Replace internal dependency on appdirs with platformdirs, 584
Fix coverage config for namespaced packages, 610
Ensure build configuration produces sdist as it is needed by conda, 570
Ensure build configuration produces sdist as it is needed by conda, 570
Fix pre-commit error: The unauthenticated git protocol on port 9418 is no longer supported, 565
Fix pre-commit error: The unauthenticated git protocol on port 9418 is no longer supported, 565
Note
PyScaffold 4.1 is the last release to support Python 3.6
Added verification to prevent users from creating projects nested inside existing repositories, unless --force is explicitly given, 544, 545.
Added verification to prevent users from creating projects nested inside existing repositories, unless --force is explicitly given, 544, 545.
Fixed problem with Windows Shell when running git, 560.
Ensure required extensions are installed on --update, 512
Ensure required extensions are installed on --update, 512
Prevent extension from crashing when persisting None in setup.cfg, 510
Prevent multi-line descriptions to crash putup, 509
Warn users about empty namespaces, 508
Prevent parsing errors during dependency deduplication, 518
Add license_files to setup.cfg template, 524
Nothing published for this version
Nothing published for this version
Added *linkcheck* task to tox.ini, 456
Added linkcheck task to tox.ini, 456
Updated configuration for Sphinx and ReadTheDocs, 455
Note that templates and the generated boilerplate code is 0BSD-licensed, 461
Added 0BSD license template
Added CONTRIBUTING.rst template, 376
Added PyScaffold badge to README template, 473
Updated Cirrus CI config and templates, including better coveralls integration, 449
Adopted global isolated_build for tox configuration, 483, 491
Loop counter explicitly marked as unused in skeleton.py (flake8-bugbear B007), 495
Ensure update include added extensions in setup.cfg, 496
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix WSL2 installation problem, 440
Restructured docs
Fix WSL2 installation problem, 440
Fix for interactive mode under Windows, 430
Fix tox -e build issue when running on Conda, 417
Fix tox -e build issue when running on Conda, 417
Ensure snake_case for keys in setup.cfg, 418
Update dependencies on configupdater and pyscaffoldext-django
Remove broken checks for old setuptools, 428
Nothing published for this version
Nothing published for this version
Dropped deprecated requirements.txt file, 182
Cookiecutter, Django and Travis extensions extracted to their own repositories, 175 and 355
Support for Python 3.4 and 3.5 dropped, 226
Dropped deprecated requirements.txt file, 182
Added support for global configuration (avoid retyping common putup's options), 236
PyScaffold is no longer a build-time dependency, it just generates the project structure
Removed contrib subpackage, vendorized packages are now runtime dependencies, 290
setuptools_scm is included by default in setup.cfg, setup.py and pyproject.toml
API changed to use pyscaffold.operations instead of integer flags, 271
Allow string.Template and callable as file contents in project structure, 295
Extract file system functions from utils.py into file_system.py
Extract identification/naming functions from utils.py into identification.py
Extract action related functions from api/__init__.py to actions.py
helpers.{modify,ensure,reject} moved to structure.py
helpers.{register,unregister} moved to actions.py
New extension for automatically creating virtual environments (--venv)
Added instructions to use pip-tools to docs
pre-commit extension now attempts to install hooks automatically
A nice message is now displayed when PyScaffold finishes running (actions.report_done)
Removed mutually exclusive argparse groups for extensions, 315
Progressive type annotations adopted in the code base together with mypy linting
Simplified isort config
pyproject.toml and isolated builds adopted by default, 256
Added comment to setup.cfg template instructing about extra links, 268
Generate tox.ini by default, 296
Replace pkg_resources with importlib.{metadata,resources} and packaging, 309
Adopt PEP 420 for namespaces, 218
Adopt SPDX identifiers for the license field in setup.cfg, 319
Removed deprecated log.configure_logger
Add links to issues and pull requests to changelog, 363
Add an experimental --interactive mode (inspired by git rebase -i), 191 (additional discussion: 333, 325, 362)
Reorganise the FAQ (including version questions previously in Features)
Updated setuptools and setuptools_scm dependencies to minimal versions 46.1 and 5, respectively
Adopted no-guess-dev version scheme from setuptools_scm (semantically all stays the same, but non-tag commits are now versioned LAST_TAG.post1.devN instead of LAST_TAG.post0.devN)
Fix problem of not showing detailed log with --verbose if error happens when loading extensions 378
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
*deprecated* setuptools extensions/commands python setup.py test/docs/doctests, 245
Code base changed to Black's standards
New docs about version numbers and git integration
Updated pre-commit hooks
Updated docs/Makefile to use Sphinx "make mode"
deprecated setuptools extensions/commands python setup.py test/docs/doctests, 245
New tox test environments for generating docs and running doctests
New built-in extension for Cirrus CI, 251
experimental get_template is now part of the public API and can be used by extensions, 252
Updated setuptools_scm to version 4.1.2 in contrib
Updated configupdater to version 1.1.2 in contrib
precommit automatically fixes line endings by default
deprecated log.configure_logger, use log.logger.reconfigure instead
Note
PyScaffold 3.3 is the last release to support Python 3.5
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updated configupdater to version 1.0.1
Updated configupdater to version 1.0.1
Changed Travis to Cirrus CI
Fix some problems with Windows
Write files as UTF-8, fixes codec can't encode characters error
Write files as UTF-8, fixes codec can't encode characters error
Nothing published for this version
Updated pre-commit configuration and set max-line-length to 88 (Black's default)
Updated pre-commit configuration and set max-line-length to 88 (Black's default)
Change build folder of Sphinx's Makefile
Fix creation of empty files which were just ignored before
*deprecated* use of lists with helpers.{modify,ensure,reject}, 211
deprecated use of lists with helpers.{modify,ensure,reject}, 211
Add support for os.PathLike objects in helpers.{modify,ensure,reject}, 211
Remove release alias in setup.cfg, use twine instead
Set project-urls and long-description-content-type in setup.cfg, 216
Added additional command line argument very-verbose
Assure clean workspace when updating existing project, 190
Show stacktrace on errors if --very-verbose is used
Updated configupdater to version 1.0
Use pkg_resources.resource_string instead of pkgutil.get_data for templates
Update setuptools_scm to version 3.3.3
Updated pytest-runner to version 5.1
Some fixes regarding the order of executing extensions
Consider GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables
Updated tox.ini
Switch to using tox in .travis.yml template
Reworked all official extensions --pyproject, --custom-extension and --markdown
Nothing published for this version
Nothing published for this version
*deprecated* built-in Cookiecutter and Django extensions (to be moved to separated packages), 175
Officially dropped Python 2 support, 177
Moved entry_points and setup_requires to setup.cfg, 176
Updated travis.yml template, 181
Set install_requires to setuptools>=31
Better isolation of unit tests, 119
Updated tox template, issues 160 & 161
Use pkg_resources.parse_version instead of old LooseVersion for parsing
Use ConfigUpdater instead of ConfigParser
Lots of internal cleanups and improvements
Updated pytest-runner to version 4.2
Updated setuptools_scm to version 3.1
Fix Django extension problem with src-layout, 196
experimental extension for MarkDown usage in README, 163
experimental support for Pipenv, 140
deprecated built-in Cookiecutter and Django extensions (to be moved to separated packages), 175
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Set install_requires to setuptools>=30.3.0
Set install_requires to setuptools>=30.3.0
Updated setuptools_scm to version 1.17.0
Updated setuptools_scm to version 1.17.0
Fix wrong docstring in skeleton.py about entry_points, 147
Fix error with setuptools version 39.0 and above, 148
Fixes in documentation, thanks Vicky
Nothing published for this version
Nothing published for this version
Fix confusing error message when python setup.py docs and Sphinx is not installed, 142
Fix confusing error message when python setup.py docs and Sphinx is not installed, 142
Fix 'unknown' version in case project name differs from the package name, 141
Fix missing file: attribute in long-description of setup.cfg
Fix sphinx-apidoc invocation problem with Sphinx 1.7
Nothing published for this version
Nothing published for this version
Improved Python API thanks to an extension system
Improved Python API thanks to an extension system
Dropped pbr in favor of setuptools >= 30.3.0
Updated setuptools_scm to v1.15.6
Changed my_project/my_package to recommended my_project/src/my_package structure
Renamed CHANGES.rst to more standard CHANGELOG.rst
Added platforms parameter in setup.cfg
Call Sphinx api-doc from conf.py, 98
Included six 1.11.0 as contrib sub-package
Added CONTRIBUTING.rst
Removed test-requirements.txt from template
Added support for GitLab
License change from New BSD to MIT
FIX: Support of git submodules, 98
Support of Cython extensions, 48
Removed redundant --with- from most command line flags
Prefix n was removed from the local_version string of dirty versions
Added a --pretend flag for easier development of extensions
Added a --verbose flag for more output what PyScaffold is doing
Use pytest-runner 4.4 as contrib package
Added a --no-skeleton flag to omit the creation of skeleton.py
Save parameters used to create project scaffold in setup.cfg for later updating
A special thanks goes to Anderson Bravalheri for his awesome support and inovex for sponsoring this release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →