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
  • 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

Get ready to publish

You will need a token to publish packages. They can be obtained from here: [https://pypi.org/manage/account/token/](PyPi Account)

Set the token locally using: poetry config pypi-token.pypi pypi-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

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 [patch|minor|major] --publish.

Project details


Release history Release notifications | RSS feed

This version

0.7.1

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.7.1.tar.gz (797.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nwon_django_toolbox-0.7.1-py3-none-any.whl (66.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nwon_django_toolbox-0.7.1.tar.gz
  • Upload date:
  • Size: 797.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.6 Linux/6.5.0-45-generic

File hashes

Hashes for nwon_django_toolbox-0.7.1.tar.gz
Algorithm Hash digest
SHA256 3f7bc48adb99b055ec58656bf3ab4d23476547042e9d76492bfb20c55c1e7b7f
MD5 c90da2f250404b45cadc18d902dd37eb
BLAKE2b-256 c8865c6668a16615bafbfa1bfcb3fce6a31d92da795d41f0f766ab165ef171d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nwon_django_toolbox-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 66.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.6 Linux/6.5.0-45-generic

File hashes

Hashes for nwon_django_toolbox-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61c880166687ccbf4bd338f54a9eaad0473673801327da9477932f2af9d42ed5
MD5 2c4793b334b708765caced41c37de3bd
BLAKE2b-256 d41b68a34098ce0f428a09cab5de57b5b4ec415ba151254ccf6a933bdef3aafc

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