Simple Djanngo module to anonymize production data for safe usage on none production environments
Project description
django-anonymous
Simple Django module to anonymize production data for safe usage on non-production environments.
Installation
pip install django-anonymous
Usage
In your app create a file anon.py
:
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
# You can give any callable, Faker is a small wrapper around the `faker` library.
email = Faker("email", unique=True)
# You can also use any static value
first_name = "Anon"
Run the anonymizer
python manage.py anonymize
Custom QuerySet
You can set a custom QuerySet to filter out some objects
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
email = Faker("email", unique=True)
def get_queryset(self):
return super().get_queryset().filter(is_staff=True)
Faker seed
Default it will use the object id as seed, to generate the same data for every run.
You can disable this by overriding the get_object_seed
and return falsy value.
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
email = Faker("email", unique=True)
def get_object_seed(self, obj):
return None
Settings for Anonymizer
Per Anonymizer you can set the select chunk size and update batch size. Default it will not anonymize a field that has no value.
from django_anonymous import Anonymizer, Faker, register
from .model import YourModel
@register(YourModel)
class YourModelAnonymizer(Anonymizer):
SELECT_CHUNK_SIZE = 100
UPDATE_BATCH_SIZE = 25
ANONYMIZE_EMPTY_FIELD = False
email = Faker("email", unique=True)
Inspired by
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-anonymous-0.4.0.tar.gz
.
File metadata
- Download URL: django-anonymous-0.4.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc652560497be7f429ba1930b8a4afd1f4686c7f0d0d96b56e8f4d186ea48bdb |
|
MD5 | c421f76b0a242fee8362e585263a33f2 |
|
BLAKE2b-256 | 77d38b3ebd295cdd40464cd13749acfa96de6b1776da63c95491e3fd0490f542 |
File details
Details for the file django_anonymous-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: django_anonymous-0.4.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a3b330d8a0e5b5b483b67b1758283f6119276c9689657c92e20a28810c80c65 |
|
MD5 | 4f27574604ba0fcecd27f2ee58eedae2 |
|
BLAKE2b-256 | 7f4551253872cfe0823861cc7cbbdbe159374c9ca566f4f7cd898dbbe5d95e27 |