Skip to content

ArneBinder/pie-modules

Repository files navigation

pie-modules

PyTorch Lightning PyTorch-IE

PyPI Tests Codecov pre-commit Black

Model-, taskmodule-, and metric-implementations as well as document processing utilities for PyTorch-IE.

Available models:

Available taskmodules:

Available metrics:

Document processing utilities:

Setup

pip install pie-modules

To install the latest version from GitHub:

pip install git+https://[email protected]/ArneBinder/pie-modules.git

Development

Setup

  1. This project is build with Poetry. See here for installation instructions.
  2. Get the code and switch into the project directory:
    git clone https://github.com/ArneBinder/pie-modules
    cd pie-modules
  3. Create a virtual environment and install the dependencies:
    poetry install

Finally, to run any of the below commands, you need to activate the virtual environment:

poetry shell

Note: You can also run commands in the virtual environment without activating it first: poetry run <command>.

Code Formatting, Linting and Static Type Checking

pre-commit run -a

Testing

run all tests with coverage:

pytest --cov --cov-report term-missing

Releasing

  1. Create the release branch: git switch --create release main
  2. Increase the version: poetry version <PATCH|MINOR|MAJOR>, e.g. poetry version patch for a patch release. If the release contains new features, or breaking changes, bump the minor version (this project has no main release yet). If the release contains only bugfixes, bump the patch version. See Semantic Versioning for more information.
  3. Commit the changes: git commit --message="release <NEW VERSION>" pyproject.toml, e.g. git commit --message="release 0.13.0" pyproject.toml
  4. Push the changes to GitHub: git push origin release
  5. Create a PR for that release branch on GitHub.
  6. Wait until checks passed successfully.
  7. Merge the PR into the main branch. This triggers the GitHub Action that creates all relevant release artefacts and also uploads them to PyPI.
  8. Cleanup: Delete the release branch. This is important, because otherwise the next release will fail.