0.4.3 - Ruff Adoption & Developer Experience Upgrade
This pull request introduces several improvements and refactors across configuration, development tooling, documentation, and code quality. The most significant changes include switching from Flake8 to Ruff for linting, enhancing the project documentation for clarity, updating environment variable management, adding API versioning, and improving test and serializer robustness.
Development tooling and configuration:
- Replaced Flake8 with Ruff for linting and formatting, including updates to
.vscode/settings.json,.vscode/extensions.json, and removal of.flake8config. The default Python formatter is now Ruff, and Flake8-related settings/extensions are removed. - Updated
.env.exampleto group and clarify environment variables, add explicit database and Celery/Redis settings, and use variable expansion forDATABASE_URL.
Documentation and developer experience:
- Major rewrite of
.github/copilot-instructions.mdfor clearer, more structured onboarding: expanded explanations of architecture, development patterns, critical workflows, and configuration.
Code quality and robustness:
- Improved error handling in user creation serializers by chaining exceptions (
raise ... from e) for better tracebacks. - Made
Fakeran optional dependency for test data seeding, with a clear error message if not installed.
General code and test improvements:
- Updated test URL reversals to use the correct namespaced patterns (e.g.,
v1:core:ping,v1:users:create,v1:users:knox_login). - Minor code cleanup and ordering in admin and form files for consistency.
These changes collectively improve maintainability, onboarding, and code quality for the project.
- Next by @wilfredinni in #299
Full Changelog: 0.4.2...0.4.3