Skip to main content

Fast, in-memory secret-sanitizing CPython module written in Zig, designed for speed.

Project description

SecretSweeper

 

CI License PyPI Version Compatiable Python versions

SecretSweeper is a ⚡ fast, in-memory secret-sanitizing Python module written in Zig, designed for 🚀 speed.


About

💡 Just want to remove all secret variables from the terraform plan output or any large file? SecretSweeper is here to help!

SecretSweeper is a Python library that can mask or remove known secrets from byte literals, files, or any file-like objects (io.BinaryIO).

  • Written in Zig with no third-party dependencies. Leverages the stability of the Python Limited C API to create a single binary extension.
  • Can wrap a file descriptor to read and sanitize data directly from the stream.
  • Works well with multi-line secrets.

Installation

pip install secretsweeper 

Examples

✨ To mask secrets from the bytes literal:

» python          
import secretsweeper
print(secretsweeper.mask(b"Hello, Secret Sweeper!", (b'Secret', b'Sweeper')))
b'Hello, ****** *******!' 

Secrets may be completely removed by providing a third argument, limit=0, which specifies the maximum number of masking characters:

» python          
import secretsweeper
print(secretsweeper.mask(b"Moby Dick!", [b" Dick"], limit=0))
b'Moby!' 

To effectively mask all secrets in a large text:

import urllib.request
import secretsweeper

url = "https://raw.githubusercontent.com/annotation/mobydick/main/txt/plain.txt"

with urllib.request.urlopen(url) as src, open("sanitized.txt", "wb") as dest:
    stream = secretsweeper.StreamWrapper(
        src, (b"Dick", b"savage", b"cannibal", b"harpooner")
    )
    for line in stream:
        dest.write(line)

More examples are in tests.

Getting involved

🌱 Contributions are always welcome — whether it’s a bug report, a small fix, or a big idea. If something here sparks your curiosity, jump in and help shape it. Open an issue or a pull request — even small contributions make a difference.

License

🪪 This is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided in LICENSE.

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

secretsweeper-0.0.1a3.tar.gz (9.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_x86_64.whl (693.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_aarch64.whl (458.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (694.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (461.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

secretsweeper-0.0.1a3-cp314-cp314-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

secretsweeper-0.0.1a3-cp314-cp314-macosx_14_0_arm64.whl (134.8 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_x86_64.whl (693.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_aarch64.whl (458.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (694.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (461.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

secretsweeper-0.0.1a3-cp313-cp313-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

secretsweeper-0.0.1a3-cp313-cp313-macosx_14_0_arm64.whl (134.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_x86_64.whl (693.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_aarch64.whl (458.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (694.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (461.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

secretsweeper-0.0.1a3-cp312-cp312-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

secretsweeper-0.0.1a3-cp312-cp312-macosx_14_0_arm64.whl (134.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_x86_64.whl (693.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_aarch64.whl (458.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (695.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (461.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

secretsweeper-0.0.1a3-cp311-cp311-macosx_15_0_x86_64.whl (148.8 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

secretsweeper-0.0.1a3-cp311-cp311-macosx_14_0_arm64.whl (134.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

File details

Details for the file secretsweeper-0.0.1a3.tar.gz.

File metadata

  • Download URL: secretsweeper-0.0.1a3.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for secretsweeper-0.0.1a3.tar.gz
Algorithm Hash digest
SHA256 f253ab92fac51ab1cb6c1c47c5e12e6942ddf8d48a2ff7f3f0593128bc138da3
MD5 6787fd9fac9be7d4f416dc0b22033576
BLAKE2b-256 529c97f8502d560bda5f36ba0b06b10c11443a4992a84588fae11dbf9f8dc6ed

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6714eaf18990510e53708bbcdafae051844776b557f3319340cd9110a5c68430
MD5 f2213ac037dbba31df17bed9cad1463f
BLAKE2b-256 c574d59286f9ef1a4d2f82ab7ffb80f4e4e01d30db4253e8c04244816f52805c

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 753c27ce0bdf6324580b8529e66600a0dd3c6ef81f65aaf50e9c6dc4c4c0f12c
MD5 56d39d59930f7a450da19a0edb6eb000
BLAKE2b-256 8a87bde177d3f148e257bddd4736a852d9f6dc293404987caf0f59553013fea3

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5216a398a271261bcb166c1f266ee342b51f54a5d9b3f553f7dd93fd65a059c
MD5 4a91e5c65f956087cba1def738df05e2
BLAKE2b-256 7553194e5243b914f52e5206a8a95b232eae6adfcb4583326ac335838b745fa3

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 91ae14e0e07ed86461df06ed831b1a7bef58874bf175ad8642dfc198225057cf
MD5 046cb9e7a501380aa0c1f4b1113602e0
BLAKE2b-256 c09e81007807b01b61f296352ea1e3a4343d5cff8f2a4c4d255132c078370fe3

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 563c83cb2becce99b248d991eda607be23bb2492fa9942ce507519077c22a201
MD5 3e9ab5c7dc7817101b4a6575db2d4b1a
BLAKE2b-256 6b1f8d010ef198ee501cbd6b579e67448e179e5890f75555ddb875b7e100aba4

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0b46f0e4a92974874eb1651bbc10ac45cce0e49ed3af26b954721f5d53da58fd
MD5 62356ff9d40a62f434f71e71a772239d
BLAKE2b-256 09f8d85dab06d1dcb99fe3b5975b5bdc054f6c1ed82edc9501d32d711af8c3ee

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b79d05a844313ac034b19179714da31b4aa063df5f5a8e56fa3e924a0afeeb01
MD5 2e317435ee31fc810e3560add985024f
BLAKE2b-256 c858e62257b205a4f0720b51b9eb7c5f649b9565c4ec39c38ab0eb0694d48adc

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d126e60a57e57761b060c6262c7dd9a10ad4270c260946095daa2121466d7025
MD5 1e273972b58230e888c4abc7da41a32a
BLAKE2b-256 447607534fd53691e9ac8a7e79eda1d558c0c5f3ac55286cf6bfbd65ef1f17d2

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbd259f91b991a0ccae828bc78ad018d1e2a2ca200576f661812de0fb19babf7
MD5 6cb85c60ca8d3bbdca61fb56d8057043
BLAKE2b-256 593f62eaa06438c8f6d17fb841eff3df3c928c05b99eccc780eaac4732bb64fe

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b03afd78008ac0ca21e76df17b4274fcdbb4851f3f9342fd6a3cf37a160fa1ff
MD5 37c62656b7869f7bb276ce4b6113a074
BLAKE2b-256 8c94dba0069a3274afb597c8cc1a5e2ade5163a6af465df4cd41360e246b477c

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6c585ba676c2b30b06db4612b71b3efd752e6ae8bf1d40d4541c8657ac1037e6
MD5 c38f798792059b980855887458685fd9
BLAKE2b-256 938ac5ef74d17285457a345ae5ae28fcee871e67484a20f04e0868019e008c77

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 53ed9a29e4a576b006ab48a4996c6b807102ef3bd2fcb77af86c60bd8e56c4a7
MD5 9566f966ead11793c596b57217bd63f7
BLAKE2b-256 c6c3eaaeb3bb97efbc44d65d478d2045a5da0291994187c1c799cd188b27ea64

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fdfa04e8300173602a148ef21f048c55dfa66e0f8513d0fb3956ce4f43c0f89
MD5 7e85165970ded0f2422d1c7ee3ed1ad1
BLAKE2b-256 ca4385ea7cdc81b8a3ecd24826131514aedb5a7447bdece70d635338b8a86c04

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 de01063132f5939462fad29db1c81eedcf7ab65682785ca1a91289faca40d018
MD5 28f65b5cad45cfbf23cf151e60287e60
BLAKE2b-256 13a19ff8b399142afb60216415033b2a75e62cd46710b51b70c3bdd2ef339aa2

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25ce224c780928dff57044191c97c6a0c99bbdc5e8d13f76e69b536c93212290
MD5 b8bd527bd8ef3a9554e72b9445e2d10f
BLAKE2b-256 032b82e12d1ae6801b3e949a4b8c88eb052d5ffb4e4d0400c75cb385a4be75bf

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c32a334ca783d2c3d4a5918804637f1dd45b58ad96a953eb75ceca05d601cb96
MD5 561c53e11aecd8e485de951a54bafbfe
BLAKE2b-256 cbe200a4263fe464d5b567093d51c076666101b36b7aa884095335e4b609dea8

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 2fd15063489406f9be6bb6443a68ca39233d707af4d481add2af31a8db8c2eec
MD5 be0a978ca50f707f7b57bdb06868d057
BLAKE2b-256 c5c5276e4e64b6a52c8be6c250ca9eec7b285e6ad86e0c366c5abeae6b2f326c

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4cc3f5293e658b3842d3697aa53c9add5fe7dd942280e49ff3f6559824eaab53
MD5 be0933f37acd555f79b7e4c4ac88cc48
BLAKE2b-256 dc27c2d560d7fc9072531f1c450bee353e6534f64e370b848dd7d5b008b1e34b

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87b50fe2bf61ebcde755594c31cab38b1f8961b6c26696836dae9cb9d1e2cad7
MD5 00c51832da29f1e0c57326368c498544
BLAKE2b-256 0544d3adaf3dcaebdc6fcc068a15506e22c883f089136f97c3779df2b05ab2b5

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e6d560726abc15ac3e3c3c9958d4070820f5d63f63ede2329a4b84909bc1129
MD5 7bc742f359521749975b245df8751b88
BLAKE2b-256 5def1807c9ffd15e130991e55ca6d1858bf28101c64f74c6f6f684b967510ea6

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d7736177cda4994b81a1875e4ecd654c27e9926b5d13417dec3122531518cea
MD5 bf92f3e39938478ac4b84301a54f8d21
BLAKE2b-256 8233a8abd31fb428687a9dd83c4addc5e84cad30add98144847f435c4f17dded

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 75ec666152efc83ca45c200edc551684041878623a02571408919ccb17b2c52d
MD5 1f44ccc075bebf6a2a459f3fc0fc907a
BLAKE2b-256 06b069858aafb26c5e8d279b2182e084a08a66e7c7097078ddb53a88451c82a3

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3e9c2f74d7021d6161c9e78170fbc3439fe20fc4524b17fa33bfddfcdd15a3dc
MD5 d954de380c782d9e643b5b08702e78df
BLAKE2b-256 e616ce698e402719b4718059f309c523448a61d2c43c8a6d0ba7c4badcb6555a

See more details on using hashes here.

File details

Details for the file secretsweeper-0.0.1a3-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for secretsweeper-0.0.1a3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a20d1eb8777f7cde9521449356463909853e74d9b35f577fc40553af042b883e
MD5 2c893ccf356b2572646852e7a8c96db7
BLAKE2b-256 97e6f4b5b16477abd5402131319c0ffc13d8322087494b2bff65f6b8a8426fec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page