Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This MR modernizes developer tools, introduces code formatting, replaces Travis CI with GitHub Actions.
psycopg2no longer installed for testingasyncpgis capable of running DDLs nowadays, so we can issueCREATEstatements with the already existing driver. One caveat is that we now have to create enums with Raw SQL, but the code to do so is quite small, so IMO that's a tradeoff worth getting rid of apsycopg2.Docker
Slight changes in the
Dockerfile: switch to-slimPython image (rationale), update references to Docker Compose as a Docker subcommand, retouch thedocker-compose.yml.Hatch
hatchis introduced as a project manager that bundles responsibilities oftox,flitand more under a convenient API.Linting & formatting
ruffis introduced as a lightning fast modern linter alongside it'sruff formatdrop-in replacement forblack— de-facto standard for Python nowadays. A small subset ofruffrules are enabled for now to limit the scope of this MR.Travis CI → GitHub Actions
GitHub Actions is now a standard CI tool for many and is battle-tested and greatly integrated into GitHub ecosystem without any additional tools needed. Hence, switching to it seems like a logical choice.
Note to reviewers: There's quite a lot of changes yet all of them do not change any functionality. Patchsets are grouped into logical commits, so please review commit-by-commit.