Pin dependencies for development
As seen in #148, the CI pipeline is non-deterministic because dependencies are not pinned, i.e. the CI pipeline uses some versions of the dependencies at one point in time and possibly other versions at a later point in time because new releases of some dependencies have become available.
How about using Poetry for dependency management and packaging? Poetry has a number of advantages over plain pip including proper dependency resolution, built-in dependency locking, specification of dev-dependencies, a unified CLI for dependency and package management, virtual env management, etc. Poetry is used in some popular projects including, e.g., isort, diagrams, Rasa among others. I've been using Poetry since v0.12 and believe that it's the best tool available at this point for managing Python projects.
I'd be happy to send a PR if you're interested.
Yes sure ! Make sure you also update the github actions and CONTRIBUTING.md :)