Welcome to the django-removals - a maintainer's best friend for finding removed features in your Django project
- PyPI
- GitHub
- Full documentation
- Creator & Maintainer: Ambient Digital
This package will throw Django system checks warnings for all known removals from Django v1.0 to today.
Here's an example:
The checks will either be triggered when using the Django development server
python manage.py runserver
or when you call the checks manually
python manage.py check --deploy
It focuses on Django settings but might also add more checks in the future.
-
Install the package via pip:
pip install django-removals
or via pipenv:
pipenv install django-removals
-
Add module to
INSTALLED_APPS
within the main djangosettings.py
:INSTALLED_APPS = ( # ... "django_removals", )
Since this package adds only Django system checks, which don't run on production, you could add it only when being in (local) debug mode.
if DEBUG_MODE:
INSTALLED_APPS += ("django_removals",)
- Create a Python virtualenv and activate it
- Install "pip-tools" with
pip install -U pip-tools
- Compile the requirements with
pip-compile --extra dev, -o requirements.txt pyproject.toml --resolver=backtracking
- Sync the dependencies with your virtualenv with
pip-sync
- Create a new branch for your feature
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
-e /Users/workspace/django-removals
or via pippip install -e /Users/workspace/django-removals
- Ensure the code passes the tests
- Create a pull request
-
Run tests
pytest --ds settings tests
-
Check coverage
coverage run -m pytest --ds settings tests coverage report -m
We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in vain.
To enable the configured pre-push hooks, you need to install pre-commit and run once:
pre-commit install -t pre-push -t pre-commit --install-hooks
This will permanently install the git hooks for both, frontend and backend, in your local
.git/hooks
folder.
The hooks are configured in the .pre-commit-config.yaml
.
You can check whether hooks work as intended using the run command:
pre-commit run [hook-id] [options]
Example: run single hook
pre-commit run ruff --all-files --hook-stage push
Example: run all hooks of pre-push stage
pre-commit run --all-files --hook-stage push
- To build the documentation, run:
sphinx-build docs/ docs/_build/html/
. - Open
docs/_build/html/index.html
to see the documentation.
- Fetch the latest changes in GitHub mirror and push them
- Trigger new build at ReadTheDocs.io (follow instructions in admin panel at RTD) if the GitHub webhook is not yet set up.
-
Update documentation about new/changed functionality
-
Update the
Changelog
-
Increment version in main
__init__.py
-
Create pull request / merge to main
-
This project uses the flit package to publish to PyPI. Thus, publishing should be as easy as running:
flit publish
To publish to TestPyPI use the following to ensure that you have set up your .pypirc as shown here and use the following command:
flit publish --repository testpypi
Please note that this package supports the ambient-package-update.
So you don't have to worry about the maintenance of this package. This updater is rendering all important
configuration and setup files. It works similar to well-known updaters like pyupgrade
or django-upgrade
.
To run an update, refer to the documentation page of the "ambient-package-update".