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_DEVS3_SECRET_DEVS3_BUCKET_DEVS3_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 ofpyproject.toml__version__declaration indiffify_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
177a31f6522ae7381bb221b514d932022153c701dd2d1197b4204c038226361a
|
|
| MD5 |
5951bcf1854ee1c92d7856d457edbd60
|
|
| BLAKE2b-256 |
478f271b8fe54bb79d42db2328be874633f66ee55cd3060b7ae40676fdb1b1cf
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dbc7f52b14d8823b2ceb548483053f034374d0307c0b4977aac5108fbb99b90
|
|
| MD5 |
c8373b4989ce69bdb840f29a5919c137
|
|
| BLAKE2b-256 |
8b5fd38bd276a4be927b3211e26212854533ae80573e74416247d8507f8ab1d1
|