Name | maykin-common JSON |
Version |
0.6.0
JSON |
| download |
home_page | None |
Summary | Re-usable utilities for Maykin Django projects, centrally maintained instead of in default-project. |
upload_time | 2025-07-10 11:36:58 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | None |
keywords |
django
maykin
boilerplate
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
Shared Django utilities
=======================
:Version: 0.6.0
|build-status| |code-quality| |ruff| |coverage| |docs|
|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.
.. contents::
.. section-numbering::
Installation and usage
======================
See the documentation: https://maykin-django-common.readthedocs.io/en/latest/
Local development
=================
To install and develop the library locally, use:
.. code-block:: bash
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>``):
.. code-block:: bash
export PYTHONPATH=. DJANGO_SETTINGS_MODULE=testapp.settings
django-admin check
# or other commands like:
# django-admin makemessages -l nl
Run the tests with:
.. code-block:: bash
tox
.. |build-status| image:: https://github.com/maykinmedia/django-common/workflows/Run%20CI/badge.svg
:alt: Build status
:target: https://github.com/maykinmedia/django-common/actions?query=workflow%3A%22Run+CI%22
.. |code-quality| image:: https://github.com/maykinmedia/django-common/workflows/Code%20quality%20checks/badge.svg
:alt: Code quality checks
:target: https://github.com/maykinmedia/django-common/actions?query=workflow%3A%22Code+quality+checks%22
.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:target: https://github.com/astral-sh/ruff
:alt: Ruff
.. |coverage| image:: https://codecov.io/gh/maykinmedia/django-common/branch/main/graph/badge.svg
:target: https://codecov.io/gh/maykinmedia/django-common
:alt: Coverage status
.. |docs| image:: https://readthedocs.org/projects/maykin-django-common/badge/?version=latest
:target: https://maykin-django-common.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. |python-versions| image:: https://img.shields.io/pypi/pyversions/maykin-common.svg
.. |django-versions| image:: https://img.shields.io/pypi/djversions/maykin-common.svg
.. |pypi-version| image:: https://img.shields.io/pypi/v/maykin-common.svg
:target: https://pypi.org/project/maykin-common/
.. _default-project: https://bitbucket.org/maykinmedia/default-project
Raw data
{
"_id": null,
"home_page": null,
"name": "maykin-common",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "django, maykin, boilerplate",
"author": null,
"author_email": "Maykin Media <support@maykinmedia.nl>",
"download_url": "https://files.pythonhosted.org/packages/3f/06/6b1c6e79d971e42bea6a00bffab65f6f946a883e6cf99a80def0e5474029/maykin_common-0.6.0.tar.gz",
"platform": null,
"description": "Shared Django utilities\n=======================\n\n:Version: 0.6.0\n\n|build-status| |code-quality| |ruff| |coverage| |docs|\n\n|python-versions| |django-versions| |pypi-version|\n\n\nRe-usable utilities for Maykin Django projects.\n\nMaykin's Django projects all share a common base: `default-project`_ to provide a\nconsistent and recognizable structure accross projects. This library bundles some shared\nutilities that are common in (most) projects but are too small/specific to warrant a\nseparate library.\n\nmaykin-common acts as a vehicle to quickly propagate changes and useful helpers to a\nlarge number of projects that would otherwise all have to be updated manually and\none-by-one, a labour-intensive task.\n\n**What's up with the name?**\n\nA similar utility for the client side exists: https://github.com/maykinmedia/client-common\nso we wanted to mimick this naming pattern. The NPM package has namespacing:\n``@maykinmedia/client-common``, but this doesn't exist on PyPI, while using\n``django-common`` as a PyPI package name *might* just be a bit arrogant.\n\nSo, the repository ``maykinmedia/django-common`` perfectly covers the contents and\npurpose of the package, while the PyPI package keeps the imports short and focused:\n``maykin_common``, while leaving room for potential future non-Django packages.\n\n.. contents::\n\n.. section-numbering::\n\nInstallation and usage\n======================\n\nSee the documentation: https://maykin-django-common.readthedocs.io/en/latest/\n\nLocal development\n=================\n\nTo install and develop the library locally, use:\n\n.. code-block:: bash\n\n pip install -e .[tests,docs,release,pdf,mfa,axes,vcr]\n\nWhen running management commands via ``django-admin``, make sure to add the root\ndirectory to the python path (or use ``python -m django <command>``):\n\n.. code-block:: bash\n\n export PYTHONPATH=. DJANGO_SETTINGS_MODULE=testapp.settings\n django-admin check\n # or other commands like:\n # django-admin makemessages -l nl\n\nRun the tests with:\n\n.. code-block:: bash\n\n tox\n\n.. |build-status| image:: https://github.com/maykinmedia/django-common/workflows/Run%20CI/badge.svg\n :alt: Build status\n :target: https://github.com/maykinmedia/django-common/actions?query=workflow%3A%22Run+CI%22\n\n.. |code-quality| image:: https://github.com/maykinmedia/django-common/workflows/Code%20quality%20checks/badge.svg\n :alt: Code quality checks\n :target: https://github.com/maykinmedia/django-common/actions?query=workflow%3A%22Code+quality+checks%22\n\n.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n :target: https://github.com/astral-sh/ruff\n :alt: Ruff\n\n.. |coverage| image:: https://codecov.io/gh/maykinmedia/django-common/branch/main/graph/badge.svg\n :target: https://codecov.io/gh/maykinmedia/django-common\n :alt: Coverage status\n\n.. |docs| image:: https://readthedocs.org/projects/maykin-django-common/badge/?version=latest\n :target: https://maykin-django-common.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. |python-versions| image:: https://img.shields.io/pypi/pyversions/maykin-common.svg\n\n.. |django-versions| image:: https://img.shields.io/pypi/djversions/maykin-common.svg\n\n.. |pypi-version| image:: https://img.shields.io/pypi/v/maykin-common.svg\n :target: https://pypi.org/project/maykin-common/\n\n.. _default-project: https://bitbucket.org/maykinmedia/default-project\n",
"bugtrack_url": null,
"license": null,
"summary": "Re-usable utilities for Maykin Django projects, centrally maintained instead of in default-project.",
"version": "0.6.0",
"project_urls": {
"Bug Tracker": "https://github.com/maykinmedia/django-common/issues",
"Documentation": "http://maykin-django-common.readthedocs.io/en/latest/",
"Homepage": "https://github.com/maykinmedia/django-common",
"Source Code": "https://github.com/maykinmedia/django-common"
},
"split_keywords": [
"django",
" maykin",
" boilerplate"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "254c08d690c7e3450dc74c9f916ce620510a7a4d165b10afa6afcb33dd76a5bf",
"md5": "11ea7b48547d5ed858d107e6970f6657",
"sha256": "0ffa0e0d4cdc17ebd69157f4330a37fd7685ba4bac1d595cd307e4537d27d7b4"
},
"downloads": -1,
"filename": "maykin_common-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "11ea7b48547d5ed858d107e6970f6657",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 24677,
"upload_time": "2025-07-10T11:36:57",
"upload_time_iso_8601": "2025-07-10T11:36:57.143309Z",
"url": "https://files.pythonhosted.org/packages/25/4c/08d690c7e3450dc74c9f916ce620510a7a4d165b10afa6afcb33dd76a5bf/maykin_common-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3f066b1c6e79d971e42bea6a00bffab65f6f946a883e6cf99a80def0e5474029",
"md5": "c549ec62b63486bc2db88a3e20be59ee",
"sha256": "7b85b4803cbf2110840fe45871e20d6e25b14b1c147293d31ef008726358d6b4"
},
"downloads": -1,
"filename": "maykin_common-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "c549ec62b63486bc2db88a3e20be59ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 22839,
"upload_time": "2025-07-10T11:36:58",
"upload_time_iso_8601": "2025-07-10T11:36:58.328326Z",
"url": "https://files.pythonhosted.org/packages/3f/06/6b1c6e79d971e42bea6a00bffab65f6f946a883e6cf99a80def0e5474029/maykin_common-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 11:36:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "maykinmedia",
"github_project": "django-common",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "maykin-common"
}