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 >= 2
source .venv/bin/activate
# poetry < 2
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.2.2.tar.gz (3.7 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.2.2-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: diffify_lib-0.2.2.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1017-aws

File hashes

Hashes for diffify_lib-0.2.2.tar.gz
Algorithm Hash digest
SHA256 177a31f6522ae7381bb221b514d932022153c701dd2d1197b4204c038226361a
MD5 5951bcf1854ee1c92d7856d457edbd60
BLAKE2b-256 478f271b8fe54bb79d42db2328be874633f66ee55cd3060b7ae40676fdb1b1cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: diffify_lib-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1017-aws

File hashes

Hashes for diffify_lib-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3dbc7f52b14d8823b2ceb548483053f034374d0307c0b4977aac5108fbb99b90
MD5 c8373b4989ce69bdb840f29a5919c137
BLAKE2b-256 8b5fd38bd276a4be927b3211e26212854533ae80573e74416247d8507f8ab1d1

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