Skip to main content

Code that is used by the backend and Python APIs for diffify.com

Project description

diffify-lib

For Developers

Environment set up

From this directory (./diffify-lib/ in the repository), to load the developer environment for this package:

  • Install poetry: pip install poetry
  • Install the 'dev' dependencies: poetry install

Then activate the environment:

poetry shell

From here you can open VS code, and have the environment preloaded.

Continuous Integration

We use the JR Common CI routines in GitLab CI runs. To update the template, use

copier copy https://gitlab.com/jumpingrivers/lib/templates/common-ci .

Note that we have additional routines beyond the Common CI core, for running pytest, mypy and for deploying the package to PyPI.

Tests

Unit tests can be ran without further set up:

pytest tests/unit

To run the integration tests, you'll need some environment variables defined:

  • S3_KEY_DEV
  • S3_SECRET_DEV
  • S3_BUCKET_DEV
  • S3_URL_DEV

Contact the diffify devs if you need these secrets. The simplest way to use these secrets locally is to store them in a file .dev.env (do not add this file to version control) and load that file into your working environment before running the tests:

env $(cat .dev.env) pytest tests/unit tests/integration

Note that the integration tests will be run in GitLab's CI runners, so you may not need to have access to these secrets.

Version numbers

Any pull request that modifies the source code should have an associated version bump to the package. When this happens you should change the version in two places:

  • [tool.poetry] section of pyproject.toml
  • __version__ declaration in diffify_lib/__init__.py

A simple way to keep the version numbers in sync is to use:

poetry version patch|minor|major

This requires that poetry-bumpversion is installed alongside poetry.

Pre-commit hooks

A pre-commit suite is defined in the root of this repository. You are strongly advised to use these hooks during development. To register the hooks with your local copy of the repository, run the following (from the repo-root):

# Install pre-commit itself
pip install pre-commit
# Install the hooks that pre-commit runs
pre-commit install

Now, pre-commit will run on your code at every commit, maintaining the style and quality of the code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffify_lib-0.1.4.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffify_lib-0.1.4-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file diffify_lib-0.1.4.tar.gz.

File metadata

  • Download URL: diffify_lib-0.1.4.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.18 Linux/6.8.0-1029-aws

File hashes

Hashes for diffify_lib-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8b075ec0900ba70cd47a43e2a3e5892e319ee525decd1099eb3201b1055e13b8
MD5 fca239d646247a935499a1eba64c40cb
BLAKE2b-256 85e46d52ab58503a04a58c91012e9f3eaf60e8f2bf99421a39833ae400a3adbc

See more details on using hashes here.

File details

Details for the file diffify_lib-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: diffify_lib-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.18 Linux/6.8.0-1029-aws

File hashes

Hashes for diffify_lib-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 eed3544c5960617ff38ab9013393bd698779d2115bc2d0ba4b51e888c1d827c3
MD5 0d38e109628134f487280975df422e53
BLAKE2b-256 1fe55bf34680bafe6dc2d334f5bd3179c6c2c86c46224e381b9fe89dfd248310

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page