Skip to main content

The opensource modules from the commercial IEVV Django framework.

Project description

ievv_opensource

Develop

Requires:

Use conventional commits for GIT commit messages

See https://www.conventionalcommits.org/en/v1.0.0/. You can use this git commit message format in many different ways, but the easiest is:

Install hatch and commitizen

NOTE: You only need hatch if you need to build releases, and you only need commitizen for releases OR to make it easy to follow conventional commits for your commit messages (see Use conventional commits for GIT commit messages above).

First install pipx with:

brew install pipx
pipx ensurepath

Then install hatch and commitizen:

pipx install hatch
pipx install commitizen

See https://github.com/pypa/pipx, https://hatch.pypa.io/latest/install/ and https://commitizen-tools.github.io/commitizen/ for more install alternatives if needed, but we really recommend using pipx since that is isolated.

Install development dependencies

Install a local python version with pyenv:

pyenv install $(pyenv latest -k 3.12)
pyenv local 3.12

Install dependencies in a virtualenv:

./tools/recreate-virtualenv.sh

Alternatively, create virtualenv manually (this does the same as recreate-virtualenv.sh):

python -m venv .venv

the ./tools/recreate-virtualenv.sh script is just here to make creating virtualenvs more uniform across different repos because some repos will require extra setup in the virtualenv for package authentication etc.

Install dependencies in a virtualenv:

source .venv/bin/activate   # enable virtualenv
pip install -e ".[dev,test]"

Upgrade your local packages

This will upgrade all local packages according to the constraints set in pyproject.toml:

pip install --upgrade --upgrade-strategy=eager ".[dev,test]"

Run postgres and redis

docker compose up

Run dev server

source .venv/bin/activate   # enable virtualenv
ievv devrun

Run tests

source .venv/bin/activate   # enable virtualenv
pytest ievv_opensource

Destroy postgres and redis

docker compose down -v

Documentation

http://ievv-opensource.readthedocs.org/

How to release ievv_opensource

First make sure you have NO UNCOMITTED CHANGES!

Release (create changelog, increment version, commit and tag the change) with:

cz bump
git push && git push --tags

NOTE (release):

  • cz bump automatically updates CHANGELOG.md, updates version file(s), commits the change and tags the release commit.
  • If you are unsure about what cz bump will do, run it with --dry-run. You can use options to force a specific version instead of the one it automatically selects from the git log if needed, BUT if this is needed, it is a sign that someone has messed up with their conventional commits.
  • cz bump only works if conventional commits (see section about that above) is used.
  • cz bump can take a specific version etc, but it automatically select the correct version if conventional commits has been used correctly. See https://commitizen-tools.github.io/commitizen/.
  • If you need to add more to CHANGELOG.md (migration guide, etc), you can just edit CHANGELOG.md after the release, and commit the change with a docs: some useful message commit.
  • The cz command comes from commitizen (install documented above).

What if the release fails?

See How to revert a bump in the commitizen FAQ.

Release to pypi:

hatch build -t sdist
hatch publish
rm dist/*              # optional cleanup

Migrate to 11.0.0

BREAKING! Update log handlers for rq_console

Replace rq.utils with rq.logutils

"rq_console": {
    "level": "DEBUG",
    "class": "rq.logutils.ColorizingStreamHandler", //ColorizingStreamHandler is no longer in rq.utils, but in rq.logutils
    "formatter": "rq_console",
    "exclude": ["%(asctime)s"],
}

BREAKING! deps

  • rq is locked to >= 2.0.0 and < 3.0.0
  • Along with new rq major, django-rq is locked to >= 3.0.0 < 4.0.0 for new rq major support.

WARNING! The USE_L10N setting is deprecated

Basically this is True by default.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ievv_opensource-12.0.0.tar.gz (125.8 kB view details)

Uploaded Source

File details

Details for the file ievv_opensource-12.0.0.tar.gz.

File metadata

  • Download URL: ievv_opensource-12.0.0.tar.gz
  • Upload date:
  • Size: 125.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for ievv_opensource-12.0.0.tar.gz
Algorithm Hash digest
SHA256 d5c626f347026802e43266cc870ce23b22b4a20cd72ecbbc503e2428bac3eed7
MD5 29027dca43dc99459b59e5086c026651
BLAKE2b-256 c7cd40328bcd6d08778cc494db21d5e27042b5bf095535fb173f166e592aede0

See more details on using hashes here.

Supported by

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