Changelog¶
Development version¶
Version 4.6.0, 2024-09-23¶
Current versions¶
Version 4.5.0, 2023-06-20¶
Change macOS default configuration dir from
~/Library/Preferencesto~/Library/Application Support, PR #721. This change is motivated by the upgrade in theplatformdirsdependency. You can read more about the motivation in platformdirs/platformdirs#98Simplify
gitcommand, by letting exceptions go through, PR #714
Version 4.4.1, 2023-04-18¶
Older versions¶
Version 4.4, 2023-01-23¶
Add
codespelltopre-commitconfig, PR #674Allow
venv_installin config file, PR #680Avoid problematic
tox4.0 and 4.1, PR #689Update
macosinstances on Cirrus CI, PR #690Replace deprecated
set-output, PR #688Update CI templates, PR #693
Add comments about building
sdistintox.iniand FAQ, PR #694Update Python version in Read The Docs configuration, PR #695
Version 4.3.1, 2022-09-20¶
Modify
tox.initemplate to allow passing theTWINE_REPOSITORY_URLenvironment variable, PR #666.
Version 4.3, 2022-07-20¶
Version 4.2.3, 2022-06-17¶
Automatically create directory when saving config file, issue #648
Version 4.2.2, 2022-05-26¶
Version 4.2.1, 2022-03-16¶
Ensure
.gitlab-ci.ymltemplate works for GitLab Enterprise 14.7.4, PR #630
Version 4.2, 2022-03-14¶
Version 4.1.5, 2022-02-22¶
Added
.python-versioncreated bypyenvto.gitignoreAdded more
--very-verboselogging to make clearer what’s going on, issue #562Replace internal dependency on appdirs with platformdirs, PR #584
Version 4.1.4, 2022-01-13¶
Ensure build configuration produces
sdistas it is needed by conda, issue #570
Version 4.1.3, 2022-01-11¶
Fix pre-commit error: The unauthenticated git protocol on port 9418 is no longer supported, issue #565
Note
PyScaffold 4.1 is the last release to support Python 3.6
Version 4.1.2, 2022-01-04¶
Added verification to prevent users from creating projects nested inside existing repositories, unless
--forceis explicitly given, issue #544, PR #545.Fixed problem with Windows Shell when running git, PR #560.
Version 4.1.1, 2021-10-18¶
Ensure required extensions are installed on
--update, PR #512Prevent extension from crashing when persisting
Noneinsetup.cfg, PR #510Prevent multi-line descriptions to crash
putup, PR #509Warn users about empty namespaces, PR #508
Prevent parsing errors during dependency deduplication, PR #518
Add
license_filestosetup.cfgtemplate, issue #524
Version 4.1, 2021-09-22¶
Added linkcheck task to
tox.ini, PR #456Updated configuration for Sphinx and ReadTheDocs, PR #455
Note that templates and the generated boilerplate code is 0BSD-licensed, PR #461
Added 0BSD license template
Added
CONTRIBUTING.rsttemplate, issue #376Added PyScaffold badge to
READMEtemplate, issue #473Updated Cirrus CI config and templates, including better
coverallsintegration, issue #449Adopted global
isolated_buildfortoxconfiguration, issue #483, PR #491Loop counter explicitly marked as unused in
skeleton.py(flake8-bugbear B007), PR #495Ensure update include added extensions in
setup.cfg, PR #496
Version 4.0.2, 2021-05-26¶
Restructured docs
Fix WSL2 installation problem, issue #440
Fix for interactive mode under Windows, issue #430
Version 4.0.1, 2021-03-17¶
Fix
tox -e buildissue when running on Conda, PR #417Ensure
snake_casefor keys insetup.cfg, issue #418Update dependencies on
configupdaterandpyscaffoldext-djangoRemove broken checks for old
setuptools, issue #428
Version 4.0, 2021-03-04¶
Cookiecutter, Django and Travis extensions extracted to their own repositories, issue #175 and issue #355
Support for Python 3.4 and 3.5 dropped, issue #226
Dropped deprecated
requirements.txtfile, issue #182Added support for global configuration (avoid retyping common
putup’s options), issue #236PyScaffold is no longer a build-time dependency, it just generates the project structure
Removed
contribsubpackage, vendorized packages are now runtime dependencies, PR #290setuptools_scmis included by default insetup.cfg,setup.pyandpyproject.tomlAPI changed to use
pyscaffold.operationsinstead of integer flags, PR #271Allow
string.Templateandcallableas file contents in project structure, PR #295Extract file system functions from
utils.pyintofile_system.pyExtract identification/naming functions from
utils.pyintoidentification.pyExtract action related functions from
api/__init__.pytoactions.pyhelpers.{modify,ensure,reject}moved tostructure.pyhelpers.{register,unregister}moved toactions.pyNew extension for automatically creating virtual environments (
--venv)Added instructions to use
pip-toolsto docspre-commitextension now attempts to install hooks automaticallyA nice message is now displayed when PyScaffold finishes running (
actions.report_done)Removed mutually exclusive argparse groups for extensions, PR #315
Progressive type annotations adopted in the code base together with mypy linting
Simplified isort config
pyproject.tomland isolated builds adopted by default, issue #256Added comment to
setup.cfgtemplate instructing about extra links, issue #268Generate
tox.iniby default, issue #296Replace
pkg_resourceswithimportlib.{metadata,resources}andpackaging, issue #309Adopt PEP 420 for namespaces, issue #218
Adopt SPDX identifiers for the license field in
setup.cfg, issue #319Removed deprecated
log.configure_loggerAdd links to issues and pull requests to changelog, PR #363
Add an experimental
--interactivemode (inspired bygit rebase -i), issue #191 (additional discussion: PR #333, PR #325, PR #362)Reorganise the FAQ (including version questions previously in Features)
Updated
setuptoolsandsetuptools_scmdependencies to minimal versions 46.1 and 5, respectivelyAdopted
no-guess-devversion scheme fromsetuptools_scm(semantically all stays the same, but non-tag commits are now versionedLAST_TAG.post1.devNinstead ofLAST_TAG.post0.devN)Fix problem of not showing detailed log with
--verboseif error happens when loading extensions issue #378
Version 3.3, 2020-12-24¶
Code base changed to Black’s standards
New docs about version numbers and git integration
Updated pre-commit hooks
Updated
docs/Makefileto use Sphinx “make mode”deprecated setuptools extensions/commands
python setup.py test/docs/doctests, issue #245New tox test environments for generating docs and running doctests
New built-in extension for Cirrus CI, issue #251
experimental
get_templateis now part of the public API and can be used by extensions, issue #252Updated
setuptools_scmto version 4.1.2 in contribUpdated
configupdaterto version 1.1.2 in contribprecommit automatically fixes line endings by default
deprecated
log.configure_logger, uselog.logger.reconfigureinstead
Note
PyScaffold 3.3 is the last release to support Python 3.5
Version 3.2.3, 2019-10-12¶
Updated
configupdaterto version 1.0.1Changed Travis to Cirrus CI
Fix some problems with Windows
Version 3.2.2, 2019-09-12¶
Write files as UTF-8, fixes
codec can't encode characterserror
Version 3.2.1, 2019-07-11¶
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
Version 3.2, 2019-06-30¶
deprecated use of lists with
helpers.{modify,ensure,reject}, issue #211Add support for
os.PathLikeobjects inhelpers.{modify,ensure,reject}, issue #211Remove
releasealias insetup.cfg, usetwineinsteadSet
project-urlsandlong-description-content-typeinsetup.cfg, issue #216Added additional command line argument
very-verboseAssure clean workspace when updating existing project, issue #190
Show stacktrace on errors if
--very-verboseis usedUpdated
configupdaterto version 1.0Use
pkg_resources.resource_stringinstead ofpkgutil.get_datafor templatesUpdate
setuptools_scmto version 3.3.3Updated pytest-runner to version 5.1
Some fixes regarding the order of executing extensions
Consider
GIT_AUTHOR_NAMEandGIT_AUTHOR_EMAILenvironment variablesUpdated
tox.iniSwitch to using tox in
.travis.ymltemplateReworked all official extensions
--pyproject,--custom-extensionand--markdown
Version 3.1, 2018-09-05¶
Officially dropped Python 2 support, issue #177
Moved
entry_pointsandsetup_requirestosetup.cfg, issue #176Updated
travis.ymltemplate, issue #181Set
install_requiresto setuptools>=31Better isolation of unit tests, issue #119
Updated tox template, issues issue #160 & issue #161
Use
pkg_resources.parse_versioninstead of oldLooseVersionfor parsingUse
ConfigUpdaterinstead ofConfigParserLots 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, issue #196
experimental extension for MarkDown usage in README, issue #163
experimental support for Pipenv, issue #140
deprecated built-in Cookiecutter and Django extensions (to be moved to separated packages), issue #175
Version 2.5.11, 2018-04-14¶
Updated pbr to version 4.0.2
Fixes Sphinx version 1.6 regression, issue #152
Version 3.0.3, 2018-04-14¶
Set install_requires to setuptools>=30.3.0
Version 3.0.2, 2018-03-21¶
Updated setuptools_scm to version 1.17.0
Fix wrong docstring in skeleton.py about entry_points, issue #147
Fix error with setuptools version 39.0 and above, issue #148
Fixes in documentation, thanks Vicky
Version 2.5.10, 2018-03-21¶
Updated setuptools_scm to version 1.17.0
Version 2.5.9, 2018-03-20¶
Updated setuptools_scm to version 1.16.1
Fix error with setuptools version 39.0 and above, issue #148
Version 3.0.1, 2018-02-13¶
Fix confusing error message when
python setup.py docsand Sphinx is not installed, issue #142Fix ‘unknown’ version in case project name differs from the package name, issue #141
Fix missing
file:attribute in long-description of setup.cfgFix
sphinx-apidocinvocation problem with Sphinx 1.7
Version 3.0, 2018-01-07¶
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_packageto recommendedmy_project/src/my_packagestructureRenamed
CHANGES.rstto more standardCHANGELOG.rstAdded platforms parameter in
setup.cfgCall Sphinx api-doc from
conf.py, issue #98Included six 1.11.0 as contrib sub-package
Added
CONTRIBUTING.rstRemoved
test-requirements.txtfrom templateAdded support for GitLab
License change from New BSD to MIT
FIX: Support of git submodules, issue #98
Support of Cython extensions, issue #48
Removed redundant
--with-from most command line flagsPrefix
nwas removed from the local_version string of dirty versionsAdded a
--pretendflag for easier development of extensionsAdded a
--verboseflag for more output what PyScaffold is doingUse pytest-runner 4.4 as contrib package
Added a
--no-skeletonflag to omit the creation ofskeleton.pySave parameters used to create project scaffold in
setup.cfgfor later updating
A special thanks goes to Anderson Bravalheri for his awesome support and inovex for sponsoring this release.
Version 2.5.8, 2017-09-10¶
Use
sphinx.ext.imgmathinstead ofsphinx.ext.mathjaxAdded
--with-gitlab-ciflag for GitLab CI supportFix Travis install template dirties git repo, issue #107
Updated setuptools_scm to version 1.15.6
Updated pbr to version 3.1.1
Version 2.5.7, 2016-10-11¶
Added encoding to __init__.py
Few doc corrections in setup.cfg
[tool:pytest] instead of [pytest] in setup.cfg
Updated skeleton
Switch to Google Sphinx style
Updated setuptools_scm to version 1.13.1
Updated pbr to version 1.10.0
Version 2.5.6, 2016-05-01¶
Prefix error message with ERROR:
Suffix of untagged commits changed from {version}-{hash} to {version}-n{hash}
Check if package identifier is valid
Added log level command line flags to the skeleton
Updated pbr to version 1.9.1
Updated setuptools_scm to version 1.11.0
Version 2.5.5, 2016-02-26¶
Updated pbr to master at 2016-01-20
Fix sdist installation bug when no git is installed, issue #90
Version 2.5.4, 2016-02-10¶
Fix problem with
fibonacciterminal exampleUpdate setuptools_scm to v1.10.1
Version 2.5.3, 2016-01-16¶
Fix classifier metadata (
classifierstoclassifierinsetup.cfg)
Version 2.5.2, 2016-01-02¶
Fix
is_git_installed
Version 2.5.1, 2016-01-01¶
Fix: Do some sanity checks first before gathering default options
Updated setuptools_scm to version 1.10.0
Version 2.5, 2015-12-09¶
Usage of
test-requirements.txtinstead oftests_requireinsetup.py, issue #71Removed
--with-numpydocflag since this is now included by default withsphinx.ext.napoleonin Sphinx 1.3 and aboveAdded small template for unittest
Fix for the example skeleton file when using namespace packages
Fix typo in devpi:upload section, issue #82
Include
pbrandsetuptools_scmin PyScaffold to avoid dependency problems, issue #71 and issue #72Cool logo was designed by Eva Schmücker, issue #66
Version 2.4.4, 2015-10-29¶
Fix problem with bad upload of version 2.4.3 to PyPI, issue #80
Version 2.4.3, 2015-10-27¶
Fix problem with version numbering if setup.py is not in the root directory, issue #76
Version 2.4.2, 2015-09-16¶
Fix version conflicts due to too tight pinning, issue #69
Version 2.4.1, 2015-09-09¶
Fix installation with additional requirements
pyscaffold[ALL]Updated pbr version to 1.7
Version 2.4, 2015-09-02¶
Allow different py.test options when invoking with
py.testorpython setup.py testCheck if Sphinx is needed and add it to setup_requires
Updated pre-commit plugins
Replaced pytest-runner by an improved version
Let pbr do
sphinx-apidoc, removed fromconf.py, issue #65
Note
Due to the switch to a modified pytest-runner version it is necessary
to update setup.cfg. Please check the example.
Version 2.3, 2015-08-26¶
Format of setup.cfg changed due to usage of pbr, issue #59
Much cleaner setup.py due to usage of pbr, issue #59
PyScaffold can be easily called from another script, issue #58
Internally dictionaries instead of namespace objects are used for options, issue #57
Added a section for devpi in setup.cfg, issue #62
Note
Due to the switch to pbr, it
is necessary to update setup.cfg according to the new syntax.
Version 2.2.1, 2015-06-18¶
FIX: Removed putup console script in setup.cfg template
Version 2.2, 2015-06-01¶
Allow recursive inclusion of data files in setup.cfg, issue #49
Replaced hand-written PyTest runner by pytest-runner, issue #47
Improved default README.rst, issue #51
Use tests/conftest.py instead of tests/__init__.py, issue #52
Use setuptools_scm for versioning, issue #43
Require setuptools>=9.0, issue #56
Do not create skeleton.py during an update, issue #55
Note
Due to the switch to setuptools_scm the following changes apply:
use
python setup.py --versioninstead ofpython setup.py versiongit archivecan no longer be used for packaging (and was never meant for it anyway)initial tag
v0.0is no longer necessary and thus not created in new projectstags do no longer need to start with v
Version 2.1, 2015-04-16¶
Use alabaster as default Sphinx theme
Parameter data_files is now a section in setup.cfg
Allow definition of extras_require in setup.cfg
Added a CHANGES.rst file for logging changes
Added support for cookiecutter
FIX: Handle an empty Git repository if necessary
Version 2.0.4, 2015-03-17¶
Typo and wrong Sphinx usage in the RTD documentation
Version 2.0.3, 2015-03-17¶
FIX: Removed misleading include_package_data option in setup.cfg
Allow selection of a proprietary license
Updated some documentations
Added -U as short parameter for –update
Version 2.0.2, 2015-03-04¶
FIX: Version retrieval with setup.py install
argparse example for version retrieval in skeleton.py
FIX: import my_package should be quiet (verbose=False)
Version 2.0.1, 2015-02-27¶
FIX: Installation bug under Windows 7
Version 2.0, 2015-02-25¶
Split configuration and logic into setup.cfg and setup.py
Removed .pre from version string (newer PEP 440)
FIX: Sphinx now works if package name does not equal project name
Allow namespace packages with –with-namespace
Added a skeleton.py as a console_script template
Set v0.0 as initial tag to support PEP440 version inference
Integration of the Versioneer functionality into setup.py
Usage of data_files configuration instead of MANIFEST.in
Allow configuration of package_data in setup.cfg
Link from Sphinx docs to AUTHORS.rst
Version 1.4, 2014-12-16¶
Added numpydoc flag –with-numpydoc
Fix: Add django to requirements if –with-django
Fix: Don’t overwrite index.rst during update
Version 1.3.2, 2014-12-02¶
Fix: path of Travis install script
Version 1.3.1, 2014-11-24¶
Fix: –with-tox tuple bug, PR #28
Version 1.3, 2014-11-17¶
Support for Tox (https://tox.wiki/en/stable/)
flake8: exclude some files
Usage of UTF8 as file encoding
Fix: create non-existent files during update
Fix: unit tests on MacOS
Fix: unit tests on Windows
Fix: Correct version when doing setup.py install
Version 1.2, 2014-10-13¶
Support pre-commit hooks (https://pre-commit.com/)
Version 1.1, 2014-09-29¶
Changed COPYING to LICENSE
Support for all licenses from https://choosealicense.com/
Fix: Allow update of license again
Update to Versioneer 0.12
Version 1.0, 2014-09-05¶
Fix when overwritten project has a git repository
Documentation updates
License section in Sphinx
Django project support with –with-django flag
Travis project support with –with-travis flag
Replaced sh with own implementation
Fix: new git describe version to PEP440 conversion
conf.py improvements
Added source code documentation
Fix: Some Python 2/3 compatibility issues
Support for Windows
Dropped Python 2.6 support
Some classifier updates
Version 0.9, 2014-07-27¶
Documentation updates due to RTD
Added a –force flag
Some cleanups in setup.py
Version 0.8, 2014-07-25¶
Update to Versioneer 0.10
Moved sphinx-apidoc from setup.py to conf.py
Better support for make html
Version 0.7, 2014-06-05¶
Added Python 3.4 tests and support
Flag –update updates only some files now
Usage of setup_requires instead of six code
Version 0.6.1, 2014-05-15¶
Fix: Removed six dependency in setup.py
Version 0.6, 2014-05-14¶
Better usage of six
Return non-zero exit status when doctests fail
Updated README
Fixes in Sphinx Makefile
Version 0.5, 2014-05-02¶
Simplified some Travis tests
Nicer output in case of errors
Updated PyScaffold’s own setup.py
Added –junit_xml and –coverage_xml/html option
Updated .gitignore file
Version 0.4.1, 2014-04-27¶
Problem fixed with pytest-cov installation
Version 0.4, 2014-04-23¶
PEP8 and PyFlakes fixes
Added –version flag
Small fixes and cleanups
Version 0.3, 2014-04-18¶
PEP8 fixes
More documentation
Added update feature
Fixes in setup.py
Version 0.2, 2014-04-15¶
Checks when creating the project
Fixes in COPYING
Usage of sh instead of GitPython
PEP8 fixes
Python 3 compatibility
Coverage with Coverall.io
Some more unittests
Version 0.1.2, 2014-04-10¶
Bugfix in Manifest.in
Python 2.6 problems fixed
Version 0.1.1, 2014-04-10¶
Unittesting with Travis
Switch to string.Template
Minor bugfixes
Version 0.1, 2014-04-03¶
First release