Scrub
A Python library for cleaning sensitive data for production and normalizing data for testing.
>>> from scrub import scrub_headers
>>> sensitive_headers = {
"x-api-key": "--key--",
"x-date": "--filtered--",
"Set-Cookie": "--filtered--",
}
>>> scrubber = scrub_headers(sensitive_headers)
>>> scrubber({
"x-api-key": "3faf",
"x-date": "Oct 18 2001",
"Set-Cookie": "secret=3faf00",
"Accept": "application/json",
})
{
'Accept': 'application/json',
'Set-Cookie': '--filtered--',
'x-api-key': '--key--',
'x-date': '--filtered--'
}
>>>
Quick Start
Install using pip/pipenv/etc. (we recommend poetry for sane dependency management):
$ poetry add --dev scrub
Import a scrubber that you need:
from scrub import scrub_headers scrub_body, scrub_request
Available Scrubbers
scrub_headers
Scrubs HTTP headers, or more generally a plain python dict. Initialize with a key replacements dict:
{
"x-api-key": "--key--",
"x-date": "--filtered--",
"Set-Cookie": "--filtered--",
}
scrub_body
Scrubs HTTP body, or more generally any piece of text. Initialize with content matching replacement dict:
{
"<Secret>.*</Secret>": "<Secret>{}</Secret>".format(
base64.b64encode(b"--filtered--").decode()
),
"{.*}": "{}",
}
scrub_request
Scrubs a requests request. Give it headers and body scrubbers, or identity function if you don't want to replace anything there.
from scrub import scrub_request
scrubber = scrub_request(headerscrubber, lambda x: x)
scrubber(req)
Thanks:
To all Contributors - you make this happen, thanks!
Copyright
Copyright (c) 2018 @jondot. See LICENSE for further details.
Metadata
Release files for scrub 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scrub-0.1.2.tar.gz | 2.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scrub-0.1.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 5.7 kB
Release files / scrub-0.1.2.tar.gz
| Download URL | scrub-0.1.2.tar.gz |
|---|---|
| Size | 2.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22ea8b5400b3db78da78c3c3323c44d68373786322dfb2b12608b2652f993657
|
|
BLAKE2b-256 checksum How to use checksums |
114bb8b531376040f4ebe9b301cb833ab5d7b1781510ff2bc3556941fe057c64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.5 CPython/3.7.0 Darwin/17.5.0
|
Release files / scrub-0.1.2-py2.py3-none-any.whl
| Download URL | scrub-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 3.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
c7ba8e0bd8c331da7eae4d36446f4eceafaae998f4bc3dc59ece86e9a7e26945
|
|
BLAKE2b-256 checksum How to use checksums |
d9940f14f878435766786bc5c987cfe804c9b748c1b1a059963141c4272b029a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.5 CPython/3.7.0 Darwin/17.5.0
|