- Create a new branch off of latest
main
branch. - Make your changes.
- Bump up the library version in the pyproject.toml according to SemVer
- Auto-fix most linting errors via
make format
- Make sure linting is passing by running
make lint
. - Make sure tests are passing by running
make test
- Commit and push your changes to a remote branch.
- Open a PR and confirm build is passing.
- Once your PR is merged and CICD is complete, your new version will be ready to install on our Artifactory.
-
Install Pyenv and Poetry by following the instructions outlined here. (Must be on Known Network/VPN to access this link.)
-
Install direnv
-
Hook direnv to your shell. If you're using bash, e.g., add this to your
~/.bashrc
. -
Create an
.envrc
file for secrets/configuration based on the config.databudgie.yml and place it in the root of repo.Example:
# .envrc export ENVIRONMENT=development export DATABASE_HOST=something export DATABASE_USERNAME=something export DATABASE_PASSWORD=something export DATABASE_PORT=something export DATABASE_DATABASE=something
-
direnv allow
the.envrc
file -
Test it works as expected:
$ databudgie backup
The following Python will create a manifest table from the tests.mockmodels.models.DatabudgieManifest
model.
Please supply your own SQLAlchemy connection string.
from sqlalchemy import create_engine
from tests.mockmodels.models import Base
engine = create_engine('SQLALCHEMY_CONN_URL', echo=True)
Base.metadata.tables["databudgie_manifest"].create(bind=engine)