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:
- Tell poetry to create dependencies in a
.venv
folder withing the project:poetry config virtualenvs.in-project true
- Create a virtual environment using the local python version:
poetry env use $(cat .python-version)
- Install dependencies:
poetry install
Prepare Package
Before publishing the package we need to:
- Clean dist folder
- Bump up the version of the package
- 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
- Add test PyPi repository:
poetry config repositories.testpypi https://test.pypi.org/legacy/
- Publish the package to the test repository:
poetry publish -r testpypi
- 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
Built Distribution
File details
Details for the file nwon_django_toolbox-0.6.6.tar.gz
.
File metadata
- Download URL: nwon_django_toolbox-0.6.6.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.5.0-35-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e21bd688255e12d299634529b6f637d89447ab4e0df6dc7c9cf9670c2536d99 |
|
MD5 | 2b203ac3a3e0ee65fb1ff6511d46d1e8 |
|
BLAKE2b-256 | 8459c47a9997d7ce916bd64bb1ff47d341b34964cdd7ea91c6df2e135dc2b824 |
File details
Details for the file nwon_django_toolbox-0.6.6-py3-none-any.whl
.
File metadata
- Download URL: nwon_django_toolbox-0.6.6-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.5.0-35-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce37e1b4eb21abe4a8bacaf1553f4136afa1edcace1b222f070218637516aef1 |
|
MD5 | 4fc95cc62bdf42d1540a8a0b7e7718bb |
|
BLAKE2b-256 | bc92055f98d7cfa333ecc913d8139c624a327da0e28976f110daac7cbf540c42 |