Name | ftw-django-features JSON |
Version |
2025.3.1
JSON |
| download |
home_page | None |
Summary | A collection of features used in our Django-based web applications. |
upload_time | 2025-10-10 05:52:24 |
maintainer | None |
docs_url | None |
author | 4teamwork AG |
requires_python | <4,>=3.12 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# django-features
A collection of fearures used in our Django-based web applications
[Changelog](CHANGELOG.md)
## Installation
``` bash
pip install ftw-django-features
```
## Usage
Add desired app to `INSTALLED_APPS` in your Django project.
Available apps:
```
django_features.system_message
```
## Configuration
If you want to use `django_features`, your base configuration class should inherit from `django_features.settings.BaseConfiguration`.
```
from django_features.settings import BaseConfiguration
class Base(BaseConfiguration):
...
```
### System Message
If you want to use `django_features.system_message`, your base configuration class should inherit from `django_features.system_message.settings.SystemMessageConfigurationMixin`.
Then call the super property:
```
@property
def CONSTANCE_CONFIG(self) -> dict:
config = super().CONSTANCE_CONFIG
return {**config, ...}
@property
def CONSTANCE_CONFIG_FIELDSETS(self) -> dict:
config = super().CONSTANCE_CONFIG_FIELDSETS
return {
**config,
...
}
```
Add the `django_features.system_message.routers.system_message_router` to your `ROOT_URLCONF`. For example:
```
path("api/", include(system_message_router.urls)),
```
## Development
Installing dependencies, assuming you have poetry installed:
``` bash
poetry install
```
## Release
This package uses towncrier to manage the changelog, and to introduce new changes, a file with a concise title and a brief explanation of what the change accomplishes should be created in the `changes` directory, with a suffix indicating whether the change is a feature, bugfix, or other.
To make a release and publish it to PyPI, the following command can be executed:
``` bash
./bin/release
```
This script utilizes zest.releaser and towncrier to create the release, build the wheel, and publish it to PyPI.
Before running the release command, it is necessary to configure poetry with an access token for PyPI by executing the following command and inserting the token stored in 1password:
``` bash
poetry config pypi-token.pypi <token>
```
The `version` attribute in the `pyproject.toml` file should be updated to the new version before running the release command, because this version will be published to PyPI.
Raw data
{
"_id": null,
"home_page": null,
"name": "ftw-django-features",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "4teamwork AG",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/35/31/4f3fe438df1e072c1c0d113b55e90f80f28775319defd27da81247ae2a80/ftw_django_features-2025.3.1.tar.gz",
"platform": null,
"description": "# django-features\nA collection of fearures used in our Django-based web applications\n\n[Changelog](CHANGELOG.md)\n\n## Installation\n\n``` bash\npip install ftw-django-features\n```\n\n## Usage\n\nAdd desired app to `INSTALLED_APPS` in your Django project.\n\nAvailable apps:\n```\ndjango_features.system_message\n```\n\n## Configuration\n\nIf you want to use `django_features`, your base configuration class should inherit from `django_features.settings.BaseConfiguration`.\n\n```\nfrom django_features.settings import BaseConfiguration\n\n\nclass Base(BaseConfiguration):\n ...\n```\n\n\n### System Message\n\nIf you want to use `django_features.system_message`, your base configuration class should inherit from `django_features.system_message.settings.SystemMessageConfigurationMixin`.\n\nThen call the super property:\n\n```\n@property\ndef CONSTANCE_CONFIG(self) -> dict:\n config = super().CONSTANCE_CONFIG\n return {**config, ...}\n\n@property\ndef CONSTANCE_CONFIG_FIELDSETS(self) -> dict:\n config = super().CONSTANCE_CONFIG_FIELDSETS\n return {\n **config,\n ...\n }\n```\n\nAdd the `django_features.system_message.routers.system_message_router` to your `ROOT_URLCONF`. For example:\n\n```\npath(\"api/\", include(system_message_router.urls)),\n```\n\n## Development\n\nInstalling dependencies, assuming you have poetry installed:\n\n``` bash\npoetry install\n```\n\n## Release\n\nThis package uses towncrier to manage the changelog, and to introduce new changes, a file with a concise title and a brief explanation of what the change accomplishes should be created in the `changes` directory, with a suffix indicating whether the change is a feature, bugfix, or other.\n\nTo make a release and publish it to PyPI, the following command can be executed:\n\n``` bash\n./bin/release\n```\n\nThis script utilizes zest.releaser and towncrier to create the release, build the wheel, and publish it to PyPI.\n\nBefore running the release command, it is necessary to configure poetry with an access token for PyPI by executing the following command and inserting the token stored in 1password:\n\n``` bash\npoetry config pypi-token.pypi <token>\n```\n\nThe `version` attribute in the `pyproject.toml` file should be updated to the new version before running the release command, because this version will be published to PyPI.\n",
"bugtrack_url": null,
"license": null,
"summary": "A collection of features used in our Django-based web applications.",
"version": "2025.3.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "93e80daac43fcaaa7d5c269c4d90accfa5cc08c5df08d62bb7f758994ebf5be1",
"md5": "eab6e03f28ca3043230cf36afb8c0f98",
"sha256": "6a0918416b2ae1971e1934d43fa347c676bdf6de3a66d14140be0ee1fec9fec6"
},
"downloads": -1,
"filename": "ftw_django_features-2025.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eab6e03f28ca3043230cf36afb8c0f98",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.12",
"size": 17103,
"upload_time": "2025-10-10T05:52:23",
"upload_time_iso_8601": "2025-10-10T05:52:23.688346Z",
"url": "https://files.pythonhosted.org/packages/93/e8/0daac43fcaaa7d5c269c4d90accfa5cc08c5df08d62bb7f758994ebf5be1/ftw_django_features-2025.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "35314f3fe438df1e072c1c0d113b55e90f80f28775319defd27da81247ae2a80",
"md5": "b218d2e5fd90ed0e23bf7eed1731e7ca",
"sha256": "07cb51bb5f5b49261a4b5f0a4b162a8c53c88f009ee5e12be774efcd968e3393"
},
"downloads": -1,
"filename": "ftw_django_features-2025.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b218d2e5fd90ed0e23bf7eed1731e7ca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.12",
"size": 9483,
"upload_time": "2025-10-10T05:52:24",
"upload_time_iso_8601": "2025-10-10T05:52:24.540746Z",
"url": "https://files.pythonhosted.org/packages/35/31/4f3fe438df1e072c1c0d113b55e90f80f28775319defd27da81247ae2a80/ftw_django_features-2025.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-10 05:52:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ftw-django-features"
}