- Move to
uv
usage - Add
--order-dependencies
and--dist=loadscope
to default pytest options - Define
__slots__
for class properties and enforce method overrides using the overrides package
- Make sure
sphinx
tries to generate docs first, then fail on CI when docs contain sphinx errors - Run GitHub Actions CI on all major operating systems
- Switch
ruff
to select all rules automatically to run, instead of manually specifying each category - Revert
python_files
setting to the default and add--strict-markers
toaddopts
- Switch back to
pytest-instafail
and add--instafail
topytest
run command - Bump
pyright
to 1.1.324,ruff
to 0.0.286,semgrep
to 1.37.0,sphinx
to 7.2.4 andvulture
to 2.9.1
- Exclude build/lib/* subdirectory when searching for known ignore lines on CI
- Exclude tests in directory adjacent to package directory by default
- Bump
vulture
to 2.9
- We no longer use
pytest-vulture
since it uses a different config file thanvulture
itself - Tweak bashate command on CI to ignore the
E006
(line too long) issue
- Ship the
py.typed
file with the package properly
- README updates
- Test Python 3.11 on CI
- Remove old licensing boilerplate
- Stop using
pytype
, as its development has slowed immensely, alsomypy
andpyright
seem sufficient - Fix all outstanding CI issues
- Use the MIT License
- Rename to
startrepo
- General Python package structure updated
- Switch entirely to
pyproject.toml
and usesetuptools-scm
- Switch entirely to
ruff
fromflake8
.gitignore
template updated
Checkpoint release prior to upcoming 2.x release.
- Bump to Python 3.10 as a minimum version for new projects
- More tools and linters added, versions bumped
- GitHub Actions workflow tweaks
- Do not propagate logger message to root logger, if it is present
- Set
mypy
strict flag to true - Ensure generating Sphinx documentation always works, especially via GitHub Actions
- Continue even though codecov errors out primarily because codecov limits the number of uploads allowed for each commit, even if scheduled
- Bump to Python 3.9 as a minimum version for new projects
- Support more tools, such as pyupgrade and vulture for finding dead code
- Turn on code coverage integration via GitHub Actions
- Support Windows, Ubuntu Linux and macOS on GitHub Actions
- Dependency version bumps
- Add CHANGELOG.md
- Add Sphinx documentation generation
- Add notes for codecov submission
First version. To adapt this to something desirable:
- Remember to rename everything away from
bstrap
, including.coveragerc
and thebstrap/
folder. - Update the
py38bootstrap
name, and update the README.md file. devices/
folder demonstrates how inherited objects can be placed in a subfolder, whileutil
folder demonstrates regular functions.tests/
folder demonstrates an examplepytest
test structure.