semvec/pypi-packages huggingface dataset:
django-gdpr-assist 1.4.2
GDPR tools for Django sites
License: BSD
Keywords: django gdpr

==================
django-GDPR-assist
==================

Tools to help manage your users' data in the age of GDPR

https://github.com/wildfish/django-gdpr-assist

.. image:: https://travis-ci.org/wildfish/django-gdpr-assist.svg?branch=master
    :target: https://travis-ci.org/wildfish/django-gdpr-assist

.. image:: https://coveralls.io/repos/wildfish/django-gdpr-assist/badge.svg?branch=master&service=github
    :target: https://coveralls.io/github/wildfish/django-gdpr-assist?branch=master

.. image:: https://readthedocs.org/projects/django-gdpr-assist/badge/?version=latest
    :target: https://django-gdpr-assist.readthedocs.io/en/latest/?badge=latest


Features
========

* Find, export and anonymise personal data to comply with GDPR requests
* Track anonymisation and deletion of personal data to replay after restoring
  backups
* Anonymise all models to sanitise working copies of a production database

Supports Django 2.2 to 4.0, on Python 3.6 to 3.10.

See the `full documentation <https://django-gdpr-assist.readthedocs.io>`_ for details
of how GDPR-assist works; in particular:

* `Installation <https://django-gdpr-assist.readthedocs.io/en/latest/installation.html>`_
  - how to install
* `Usage <https://django-gdpr-assist.readthedocs.io/en/latest/usage.html>`_
  - overview of how to use it with your project
* `Upgrading <https://django-gdpr-assist.readthedocs.io/en/latest/upgrading.html>`_
  - what has changed from previous versions and how to upgrade
* `Contributing <https://django-gdpr-assist.readthedocs.io/en/latest/contributing.html>`_
  - how to contribute to the project


Quickstart
==========

Install with ``pip install django-gdpr-assist``, add ``gdpr_assist`` to
Django's ``INSTALLED_APPS`` and add a ``gdpr_log`` definition to ``DATABASES``.

Then start adding privacy metadata to your models::

    class Comment(models.Model):
        name = models.CharField(max_length=255, blank=True)
        age = models.IntegerField(null=True, blank=True)
        message = models.TextField()

        class PrivacyMeta:
            fields = ['name', 'age']
            search_fields = ['name']
            export_fields = ['name', 'age', 'message']

This will allow you to anonymise and export data in this model using the
standard gdpr-assist admin tool. You can also configure anonymisation or
deletion of a related model to trigger anonymisation of your model, and can
manually register a ``PrivacyMeta`` for third-party models without modifying
their code.

Anonymisation and deletion events for models registered with gdpr-assist are
logged for replay after a backup restoration with the ``gdpr_rerun`` management
command. When you need to work with a copy of the production data, there is
also the ``anonymise_db`` command, which will anonymise the whole database.
django-date-extensions 3.1.2
This code adds a few small extensions to Django's DateField,to handle both approximate dates (e.g. 'March 1963') and default year dates(e.g. assume '24th June' is the most recent such).
License: BSD

django-date-extensions
by Matthew Somerville

This code adds a few small extensions to Django's DateField, to handle both
approximate dates (e.g. "March 1963") and default year dates (e.g. assume
"24th June" is the most recent such).

example contains a hopefully self-contained Django project that simply shows
off a form with these methods of entry.

Approximate dates
=================

A new object, ApproximateDate, is used to represent dates that might not have a
month or a day. ApproximateDateField is the model field used to represent these
objects in a Model, and ApproximateDateFormField is the field used in a Django
form. Everything should work seamlessly simply by specifying a model field as
ApproximateDateField rather than DateField.

Default year dates
==================

PrettyDateField is a form field to be used on DateField model fields. It takes
one argument, future, which is a nullable boolean. If True, a date input that
is missing a year will be taken to be the next possible occurrence of that date
- e.g. on 24th November 2009, entering 24th December will be taken to be
2009-12-24, whilst entering 3rd March will be taken to be 2010-03-03. If future
is False, the reverse occurs, with year-less dates being assumed to be the
closest occurrence of that date in the past.

If future is not set, then PrettyDateField acts the same as a DateField, only
allows suffixes on ordinals, and assumes D/M/Y rather than M/D/Y. 

Testing
=======
Run 'tox' with tox installed.

Todo
====

Improve date parsing to take more inputs like my traintimes.org.uk PHP, such as
"next Friday".


Any queries or comments, do get in touch. Something's probably broken, as I tried
to tidy up the code a little for public release :)

Matthew Somerville.