nside-wefa


Namenside-wefa JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryDjango library with Legal Consent compliance utilities and reusable apps
upload_time2025-11-04 14:34:39
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseApache-2.0
keywords api compliance django gdpr web
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # WeFa Django Toolkit

WeFa (Web Factory) delivers a set of modular Django apps that cover recurring web platform concerns such as authentication bootstrapping and legal consent management. The toolkit focuses on convention-over-configuration so new projects can enable production-grade defaults with minimal setup.

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Included Apps](#included-apps)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Requirements](#requirements)
- [Local Development](#local-development)
- [Contributing](#contributing)
- [License](#license)
- [Project Status](#project-status)

## Features

- Shared utilities that power the higher-level apps (`nside_wefa.common`)
- Plug-and-play Django REST Framework authentication configuration (token and JWT) (`nside_wefa.authentication`)
- Legal consent tracking with automatic user onboarding and templated documents (`nside_wefa.legal_consent`)
- System checks and sensible defaults so configuration mistakes surface early

## Installation

Install the package from PyPI:

```bash
pip install nside-wefa
```

Or add it to your dependency file (e.g. `requirements.txt`):

```
nside-wefa>=0.2.0
```

## Included Apps

### Common

Foundational helpers shared across the toolkit. You rarely interact with it directly, but it must be installed before the other apps.

### Authentication

Automatically wires Django REST Framework authentication classes, URLs, and dependency checks. See `nside_wefa/authentication/README.md` for the full guide.

### Legal Consent

Tracks acceptance of privacy and terms documents with templating support and REST endpoints. See `nside_wefa/legal_consent/README.md` for details.

## Quick Start

1. Install the package.
2. Add the apps to `INSTALLED_APPS` (order matters):

   ```python
   INSTALLED_APPS = [
       # Django + DRF dependencies...
       "rest_framework",
       "rest_framework.authtoken",  # For token auth
       "rest_framework_simplejwt",  # For JWT auth
       "nside_wefa.common",
       "nside_wefa.authentication",
       "nside_wefa.legal_consent",
   ]
   ```

3. Apply migrations:

   ```bash
   python manage.py migrate
   ```

4. Expose the URLs you need:

   ```python
   from django.urls import include, path

   urlpatterns = [
       # ...your URLs
       path("auth/", include("nside_wefa.authentication.urls")),
       path("legal-consent/", include("nside_wefa.legal_consent.urls")),
   ]
   ```

## Configuration

The toolkit reads from a namespaced settings dictionary. Start with the minimal configuration below and extend it as needed:

```python
# settings.py
NSIDE_WEFA = {
    "APP_NAME": "My Product",  # Used in legal consent templates
    "AUTHENTICATION": {
        "TYPES": ["TOKEN", "JWT"],  # Enable the authentication flows you need
    },
    "LEGAL_CONSENT": {
        "VERSION": 1,
        "EXPIRY_LIMIT": 365,  # days
        # "TEMPLATES": BASE_DIR / "templates/legal_consent",  # Optional overrides
    },
}
```

Validation happens through Django system checks. Run `python manage.py check` to surface configuration issues early.

## Requirements

- Python >= 3.12
- Django >= 5.2.6
- Django REST Framework >= 3.14.0
- djangorestframework-simplejwt >= 5.5.1 (if you enable JWT support)

## Local Development

Clone the repository and install the development extras:

```bash
cd django
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
```

Run the demo project:

```bash
python manage.py migrate
python manage.py runserver
```

Execute the test suite and linters:

```bash
pytest
```

## Contributing

We welcome feature ideas, bug reports, and pull requests. Check [CONTRIBUTE](CONTRIBUTE.md) for the current workflow (it will be merged with the repo-wide guidelines soon). Please include documentation updates and tests when relevant.
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nside-wefa",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "api, compliance, django, gdpr, web",
    "author": null,
    "author_email": "N-SIDE <fso@n-side.com>",
    "download_url": "https://files.pythonhosted.org/packages/52/b5/17e8028e0aa3145793c43e4ccd75cf67b9bbdce7b7058537f3261153a54a/nside_wefa-0.2.0.tar.gz",
    "platform": null,
    "description": "# WeFa Django Toolkit\n\nWeFa (Web Factory) delivers a set of modular Django apps that cover recurring web platform concerns such as authentication bootstrapping and legal consent management. The toolkit focuses on convention-over-configuration so new projects can enable production-grade defaults with minimal setup.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Included Apps](#included-apps)\n- [Quick Start](#quick-start)\n- [Configuration](#configuration)\n- [Requirements](#requirements)\n- [Local Development](#local-development)\n- [Contributing](#contributing)\n- [License](#license)\n- [Project Status](#project-status)\n\n## Features\n\n- Shared utilities that power the higher-level apps (`nside_wefa.common`)\n- Plug-and-play Django REST Framework authentication configuration (token and JWT) (`nside_wefa.authentication`)\n- Legal consent tracking with automatic user onboarding and templated documents (`nside_wefa.legal_consent`)\n- System checks and sensible defaults so configuration mistakes surface early\n\n## Installation\n\nInstall the package from PyPI:\n\n```bash\npip install nside-wefa\n```\n\nOr add it to your dependency file (e.g. `requirements.txt`):\n\n```\nnside-wefa>=0.2.0\n```\n\n## Included Apps\n\n### Common\n\nFoundational helpers shared across the toolkit. You rarely interact with it directly, but it must be installed before the other apps.\n\n### Authentication\n\nAutomatically wires Django REST Framework authentication classes, URLs, and dependency checks. See `nside_wefa/authentication/README.md` for the full guide.\n\n### Legal Consent\n\nTracks acceptance of privacy and terms documents with templating support and REST endpoints. See `nside_wefa/legal_consent/README.md` for details.\n\n## Quick Start\n\n1. Install the package.\n2. Add the apps to `INSTALLED_APPS` (order matters):\n\n   ```python\n   INSTALLED_APPS = [\n       # Django + DRF dependencies...\n       \"rest_framework\",\n       \"rest_framework.authtoken\",  # For token auth\n       \"rest_framework_simplejwt\",  # For JWT auth\n       \"nside_wefa.common\",\n       \"nside_wefa.authentication\",\n       \"nside_wefa.legal_consent\",\n   ]\n   ```\n\n3. Apply migrations:\n\n   ```bash\n   python manage.py migrate\n   ```\n\n4. Expose the URLs you need:\n\n   ```python\n   from django.urls import include, path\n\n   urlpatterns = [\n       # ...your URLs\n       path(\"auth/\", include(\"nside_wefa.authentication.urls\")),\n       path(\"legal-consent/\", include(\"nside_wefa.legal_consent.urls\")),\n   ]\n   ```\n\n## Configuration\n\nThe toolkit reads from a namespaced settings dictionary. Start with the minimal configuration below and extend it as needed:\n\n```python\n# settings.py\nNSIDE_WEFA = {\n    \"APP_NAME\": \"My Product\",  # Used in legal consent templates\n    \"AUTHENTICATION\": {\n        \"TYPES\": [\"TOKEN\", \"JWT\"],  # Enable the authentication flows you need\n    },\n    \"LEGAL_CONSENT\": {\n        \"VERSION\": 1,\n        \"EXPIRY_LIMIT\": 365,  # days\n        # \"TEMPLATES\": BASE_DIR / \"templates/legal_consent\",  # Optional overrides\n    },\n}\n```\n\nValidation happens through Django system checks. Run `python manage.py check` to surface configuration issues early.\n\n## Requirements\n\n- Python >= 3.12\n- Django >= 5.2.6\n- Django REST Framework >= 3.14.0\n- djangorestframework-simplejwt >= 5.5.1 (if you enable JWT support)\n\n## Local Development\n\nClone the repository and install the development extras:\n\n```bash\ncd django\npython -m venv .venv\nsource .venv/bin/activate\npip install -e .[dev]\n```\n\nRun the demo project:\n\n```bash\npython manage.py migrate\npython manage.py runserver\n```\n\nExecute the test suite and linters:\n\n```bash\npytest\n```\n\n## Contributing\n\nWe welcome feature ideas, bug reports, and pull requests. Check [CONTRIBUTE](CONTRIBUTE.md) for the current workflow (it will be merged with the repo-wide guidelines soon). Please include documentation updates and tests when relevant.",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Django library with Legal Consent compliance utilities and reusable apps",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://github.com/n-side-dev/wefa#readme",
        "Homepage": "https://github.com/n-side-dev/wefa",
        "Issues": "https://github.com/n-side-dev/wefa/issues",
        "Repository": "https://github.com/n-side-dev/wefa"
    },
    "split_keywords": [
        "api",
        " compliance",
        " django",
        " gdpr",
        " web"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "794e5697dd5215f6fea713af485894dc3a353eb23c3d91e9de850a835b2458df",
                "md5": "a8bfe5524cc71b3f7db40ce5ee5ea449",
                "sha256": "aada8a99cf384ab856f929c6e54d438a0c6216ac207ff7cc691a272254a13fdc"
            },
            "downloads": -1,
            "filename": "nside_wefa-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a8bfe5524cc71b3f7db40ce5ee5ea449",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 54855,
            "upload_time": "2025-11-04T14:34:38",
            "upload_time_iso_8601": "2025-11-04T14:34:38.095469Z",
            "url": "https://files.pythonhosted.org/packages/79/4e/5697dd5215f6fea713af485894dc3a353eb23c3d91e9de850a835b2458df/nside_wefa-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52b517e8028e0aa3145793c43e4ccd75cf67b9bbdce7b7058537f3261153a54a",
                "md5": "2dd4098e27a1213c1c34aaf999e55449",
                "sha256": "8bae537cfee7dd3690d2b222b01f86d948c1154795300c621faf1b5f0bcc055c"
            },
            "downloads": -1,
            "filename": "nside_wefa-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2dd4098e27a1213c1c34aaf999e55449",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 86322,
            "upload_time": "2025-11-04T14:34:39",
            "upload_time_iso_8601": "2025-11-04T14:34:39.894540Z",
            "url": "https://files.pythonhosted.org/packages/52/b5/17e8028e0aa3145793c43e4ccd75cf67b9bbdce7b7058537f3261153a54a/nside_wefa-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-04 14:34:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "n-side-dev",
    "github_project": "wefa#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nside-wefa"
}
        
Elapsed time: 2.21165s