Metadata-Version: 2.5
Name: django-lasuite
Version: 1.0.0
Summary: Django La Suite - A Django library
Project-URL: Homepage, https://github.com/suitenumerique/django-lasuite
Project-URL: Bug Tracker, https://github.com/suitenumerique/django-lasuite/issues
Author-email: DINUM <dev@mail.numerique.gouv.fr>
License: MIT License
        
        Copyright (c) 2025 La Suite numérique
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Framework :: Django :: 6.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Requires-Dist: django>=5.2
Provides-Extra: all
Requires-Dist: celery>=5.0; extra == 'all'
Requires-Dist: cryptography>=42.0; extra == 'all'
Requires-Dist: django-configurations>=2.5.1; extra == 'all'
Requires-Dist: djangorestframework>=3.15.2; extra == 'all'
Requires-Dist: joserfc>=1.4.0; extra == 'all'
Requires-Dist: mozilla-django-oidc>=4.0.1; extra == 'all'
Requires-Dist: pyjwt>=2.9.0; extra == 'all'
Requires-Dist: python-icap>=0.1.2; extra == 'all'
Requires-Dist: requests-toolbelt>=1.0.0; extra == 'all'
Requires-Dist: requests>=2.32.3; extra == 'all'
Provides-Extra: build
Requires-Dist: setuptools; extra == 'build'
Requires-Dist: wheel; extra == 'build'
Provides-Extra: configuration
Requires-Dist: django-configurations>=2.5.1; extra == 'configuration'
Provides-Extra: dev
Requires-Dist: celery>=5.0; extra == 'dev'
Requires-Dist: cryptography>=42.0; extra == 'dev'
Requires-Dist: django-configurations>=2.5.1; extra == 'dev'
Requires-Dist: djangorestframework>=3.15.2; extra == 'dev'
Requires-Dist: factory-boy; extra == 'dev'
Requires-Dist: freezegun>=1.5.5; extra == 'dev'
Requires-Dist: joserfc>=1.4.0; extra == 'dev'
Requires-Dist: mozilla-django-oidc>=4.0.1; extra == 'dev'
Requires-Dist: pyjwt>=2.9.0; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-django; extra == 'dev'
Requires-Dist: python-icap>=0.1.2; extra == 'dev'
Requires-Dist: requests-toolbelt>=1.0.0; extra == 'dev'
Requires-Dist: requests>=2.32.3; extra == 'dev'
Requires-Dist: responses; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: drf
Requires-Dist: djangorestframework>=3.15.2; extra == 'drf'
Provides-Extra: malware-detection
Requires-Dist: celery>=5.0; extra == 'malware-detection'
Requires-Dist: cryptography>=42.0; extra == 'malware-detection'
Requires-Dist: pyjwt>=2.9.0; extra == 'malware-detection'
Requires-Dist: python-icap>=0.1.2; extra == 'malware-detection'
Requires-Dist: requests-toolbelt>=1.0.0; extra == 'malware-detection'
Requires-Dist: requests>=2.32.3; extra == 'malware-detection'
Provides-Extra: marketing
Requires-Dist: celery>=5.0; extra == 'marketing'
Requires-Dist: requests>=2.32.3; extra == 'marketing'
Provides-Extra: oidc-login
Requires-Dist: cryptography>=42.0; extra == 'oidc-login'
Requires-Dist: joserfc>=1.4.0; extra == 'oidc-login'
Requires-Dist: mozilla-django-oidc>=4.0.1; extra == 'oidc-login'
Requires-Dist: pyjwt>=2.9.0; extra == 'oidc-login'
Requires-Dist: requests>=2.32.3; extra == 'oidc-login'
Provides-Extra: oidc-resource-server
Requires-Dist: djangorestframework>=3.15.2; extra == 'oidc-resource-server'
Requires-Dist: joserfc>=1.4.0; extra == 'oidc-resource-server'
Requires-Dist: mozilla-django-oidc>=4.0.1; extra == 'oidc-resource-server'
Requires-Dist: requests>=2.32.3; extra == 'oidc-resource-server'
Description-Content-Type: text/markdown

# Django La Suite

A Django library for the common requirement for the "La Suite numérique" projects.

## Installation

The base package only depends on Django. Each application declares its own
dependencies as an extra, so you only install what you use:

| Application                      | Install command                                    |
|----------------------------------|----------------------------------------------------|
| `lasuite.admin`, `lasuite.tools` | `pip install django-lasuite`                       |
| `lasuite.configuration`          | `pip install django-lasuite[configuration]`        |
| `lasuite.drf`                    | `pip install django-lasuite[drf]`                  |
| `lasuite.malware_detection`      | `pip install django-lasuite[malware-detection]`    |
| `lasuite.marketing`              | `pip install django-lasuite[marketing]`            |
| `lasuite.oidc_login`             | `pip install django-lasuite[oidc-login]`           |
| `lasuite.oidc_resource_server`   | `pip install django-lasuite[oidc-resource-server]` |

Extras can be combined (`pip install "django-lasuite[oidc-login,marketing]"`),
and `django-lasuite[all]` installs every application's dependencies.

## Quick Start

To be documented with the first implementations.

## Development

### Requirements

For this project, we use `uv` Python package manager.
Please follow the installation guidelines on the [uv documentation](https://docs.astral.sh/uv/getting-started/installation/).

### Setup

```bash
# Clone the repository
git clone https://github.com/suitenumerique/django-lasuite.git
cd django-lasuite

# Install development dependencies
make install-dev
```

### Testing

```bash
make test
```

### Code Quality

```bash
make lint
```

## License

MIT License
