Skip to main content

Some Django Wizardry

Project description

NWON-Django-Toolbox

This package provides some Django additions that can be used across several projects.

Settings

The Django Toolbox can be configured using the Django settings. We expect the key NWON_DJANGO that holds a dictionary. The dictionary must be of type NWONDjangoSettings that comes with this package (nwon_django_toolbox.nwon_django_settings). The keys mus be snake case or camel case.

For example like this

NWON_DJANGO: NWONDjangoSettings = {
    "authorization_prefix": "Bearer",
    "logger_name": "your-log-name",
    "application_name": "application"
}

Dependencies

The project has a bunch of dependencies that we use in most of our projects. In the end we have quite a lot and need to slim this down in the future.

Django related libraries are:

  • Django (Obviously 🧠)
  • django-polymorphic
  • django-json-widget
  • django-rest-polymorphic

For API documentation our models and serializer support two library which come as a dependency as well:

  • drf-spectacular
  • drf-yasg

On top we use a bunch of helper libraries

  • Pydantic
  • Pillow-PIL
  • jsonref
  • jsonschema-to-openapi
  • pyhumps
  • nwon-baseline

Package is meant for internal use at NWON as breaking changes may occur on version changes. This may change at some point but not for now 😇.

Development Setup

We recommend developing using poetry.

This are the steps to setup the project with a local virtual environment:

  1. Tell poetry to create dependencies in a .venv folder withing the project: poetry config virtualenvs.in-project true
  2. Create a virtual environment using the local python version: poetry env use $(cat .python-version)
  3. Install dependencies: poetry install

Prepare Package

Before publishing the package we need to:

  1. Clean dist folder
  2. Bump up the version of the package
  3. Build the package

Luckily we provide a script for doing all of this python scripts/prepare.py patch. Alternatively you can run the script in a poetry context poetry run prepare patch. The argument at the end defines whether you want a patch, minor or major version bump.

The final zipped data ends up in the dist folder.

Publish Package

Test package publication

  1. Add test PyPi repository: poetry config repositories.testpypi https://test.pypi.org/legacy/
  2. Publish the package to the test repository: poetry publish -r testpypi
  3. Test package: pip install --index-url https://test.pypi.org/simple/ nwon_baseline

If everything works fine publish the package via poetry publish.

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

nwon_django_toolbox-0.4.13.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

nwon_django_toolbox-0.4.13-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file nwon_django_toolbox-0.4.13.tar.gz.

File metadata

  • Download URL: nwon_django_toolbox-0.4.13.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.7.6 Linux/5.15.0-69-generic

File hashes

Hashes for nwon_django_toolbox-0.4.13.tar.gz
Algorithm Hash digest
SHA256 881592ff51f73b5eb7a6f3a3c7e9b09b69291944c92cb4410d6ba263b1c723ee
MD5 3e3be4f5ebec8dc29805f70a1ab44100
BLAKE2b-256 3acc28c8b6dd767b02d760a6bd0d0e2dea685ff9bb0a591a663befbfe547480b

See more details on using hashes here.

File details

Details for the file nwon_django_toolbox-0.4.13-py3-none-any.whl.

File metadata

File hashes

Hashes for nwon_django_toolbox-0.4.13-py3-none-any.whl
Algorithm Hash digest
SHA256 7eb8ef96218c512568260ff88696fe21f02f6b0a26c3ce761fe0994abf095c5f
MD5 2d22cd2fac779a851e332de8d78d3053
BLAKE2b-256 1a959a17aa9efc41e1548a590c62729eb52fae3a5f0e4d6ef0ab41ee9509c5c8

See more details on using hashes here.

Supported by

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