A collection of tools to assist in development of a FairDM data portal
This package uses pinned versions with caret (^) constraints for all dependencies:
- Ensures reproducible development environments across projects
- Allows automatic minor and patch updates via Dependabot
- Major version updates require manual review
- Requires Python 3.10+ (aligned with Django 5.0+ and modern tooling ecosystem)
Dependencies are automatically updated monthly via Dependabot, with minor/patch updates auto-merged after passing CI checks.
This package provides dependencies organized as optional extras:
[test]- Testing tools (pytest, coverage, factory-boy, etc.) - compatible with Django 4.2+[dev]- Development tools (debug-toolbar, stubs, formatters, etc.) - may require Django 5.0+
poetry add -G test git+https://github.com/FAIR-DM/dev-tools#[test]poetry add -G dev git+https://github.com/FAIR-DM/dev-tools#[test,dev]Note: The [dev] extra includes Django-specific tools that may have minimum version requirements (e.g., Django 5.0+). Use only [test] when testing against older Django versions.
black - docs
Code formatter for Python
coverage - docs
Code coverage measurement for Python
Extras:
deptry - docs
Find unused, missing and transitive dependencies in a Python project.
django-debug-toolbar - docs
A configurable set of panels that display various debug information about the current request/response.
Extras:
- django-debug-toolbar-template-profiler
django-extensions - docs
A collection of custom extensions for the Django Framework.
djlint - docs
A linter for Django projects
invoke - docs
Pythonic task execution tool & library
ipython - docs
An enhanced interactive Python shell
mypy - docs
Optional static typing for Python
Extras:
pylint - docs
A Python source code, bug and quality checker
pytest - docs
Simple powerful testing with Python
Extras:
- pytest-cov
- pytest-django
- pytest-sugar
- pytest-env
tox - docs
Virtualenv-based automation of test activities