Skip to content

maykinmedia/django-common

Repository files navigation

Version:0.8.0

Build status Code quality checks Ruff Coverage status Documentation Status

python-versions django-versions pypi-version

Re-usable utilities for Maykin Django projects.

Maykin's Django projects all share a common base: default-project to provide a consistent and recognizable structure accross projects. This library bundles some shared utilities that are common in (most) projects but are too small/specific to warrant a separate library.

maykin-common acts as a vehicle to quickly propagate changes and useful helpers to a large number of projects that would otherwise all have to be updated manually and one-by-one, a labour-intensive task.

What's up with the name?

A similar utility for the client side exists: https://github.com/maykinmedia/client-common so we wanted to mimick this naming pattern. The NPM package has namespacing: @maykinmedia/client-common, but this doesn't exist on PyPI, while using django-common as a PyPI package name might just be a bit arrogant.

So, the repository maykinmedia/django-common perfectly covers the contents and purpose of the package, while the PyPI package keeps the imports short and focused: maykin_common, while leaving room for potential future non-Django packages.

See the documentation: https://maykin-django-common.readthedocs.io/en/latest/

To install and develop the library locally, use:

pip install -e .[tests,docs,release,pdf,mfa,axes,vcr]

When running management commands via django-admin, make sure to add the root directory to the python path (or use python -m django <command>):

export PYTHONPATH=. DJANGO_SETTINGS_MODULE=testapp.settings
django-admin check
# or other commands like:
# django-admin makemessages -l nl

Run the tests with:

tox

About

Re-usable utilities for Maykin Django projects, centrally maintained instead of in default-project.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •