Closed adrhill closed 3 years ago
What is the reason to remove deeplift?
Mind that there are merge conflicts that need to fixed first (see beow).
Sorry, that rebase didn't work quite as I imagined it... Let me reopen the PR to get a clean Git commit history.
This PR updates the packaging tools, dev dependencies and CI. The source code remains untouched.
Relevant requirements
Changes
Project structure
todo_before_release.md
tests
foldersrc
layoutpyproject.toml
pyproject.toml
.flake8
.pylintrc
tox.ini
Breaking changes
Currently, I've tagged this as
1.10.0
in thepyproject.toml
for the next release, however you might want to use version number2.0.0
according to the Semantic Versioning convention, as this makes incompatible API changes by removing DeepLIFT.Reasoning
Poetry
Poetry is a dependency manager and packaging tool that uses PEP 518's
pyproject.toml
to define dependencies, settings and build systems in a single file.Poetry automatically resolves dependency conflicts within the specified version constraints and makes it trivial to set up venvs using
poetry install
. Poetry'spoetry.lock
ensures everyone working on the package uses consistent package versions.Building and publishing to PyPI is as easy as
Command line dev dependencies like pytest, black and tox can be run using
poetry run pytest
.GitHub Actions instead of Travis CI
Travis CI is not free of charge anymore, only giving a limited amount of credits to OSS projects.
Project structure
Using a separate
tests
folders is considered best pratice in the pytest docs. It is "strongly suggested" to use asrc
layout so that tools like tox test installed versions of the package instead of local code from the repository.More discussion can be found here and here.
Dependencies
This PR temporarily uses Keras 2.3 as it is the first and last multi-backend Keras release that supports both TF2 as well as TF1.