Metadata-Version: 2.4
Name: huscy.data_protection
Version: 0.4.0a10
Project-URL: Homepage, https://bitbucket.org/huscy/data_protection
Author-email: Stefan Bunde <stefanbunde+git@posteo.de>
License-Expression: AGPL-3.0-or-later
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
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-Dist: django>=4.2
Requires-Dist: djangorestframework>=3.14
Provides-Extra: development
Requires-Dist: psycopg2-binary; extra == 'development'
Provides-Extra: testing
Requires-Dist: tox; extra == 'testing'
Requires-Dist: watchdog; extra == 'testing'
Description-Content-Type: text/markdown

# huscy.data_protection

## Requirements

- Python >= 3.10
- Django >= 4.2
- DRF >= 3.15


## Installation

1. Activate your python venv and simply run:
```bash
pip install huscy.data_protection
```

2. Add ```data_protection``` and further required apps to ```INSTALLED_APPS``` in your settings module:
```python
# settings.py
INSTALLED_APPS = [
    ...
    'guardian',
    'rest_framework',

    'huscy.data_protection',
    ...
]
```

3. Add Django Guardian ObjectPermissionBackend to AUTHENTICATION_BACKENDS
```python
AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'guardian.backends.ObjectPermissionBackend',
)
```

4. Add the urls from ```huscy.data_protection``` to the central urls.py of the Django project:
```python
urlpatterns = [
    ...
    path('/api/', include('huscy.data_protection.urls')),
]
```


5. Create ```huscy.data_protection``` database tables by running:
```bash 
python manage.py makemigrations
```
and 
```bash 
python manage.py migrate
```


## API-Endpoints

You'll find the documentation about the endpoints here --> [docs: api_endpoints](docs/api_endpoints.md)



## Automatically remove older Requests

Older Requests are automatically removed. For timeframe and configuration purposes read the documentation --> [docs: scheduled jobs](docs/scheduled_jobs.md)
