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.1a2.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.1a2-cp314-cp314-musllinux_1_2_x86_64.whl (692.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (693.7 kB view details)

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

secretsweeper-0.0.1a2-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.1a2-cp314-cp314-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

secretsweeper-0.0.1a2-cp313-cp313-musllinux_1_2_x86_64.whl (692.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (693.4 kB view details)

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

secretsweeper-0.0.1a2-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.1a2-cp313-cp313-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

secretsweeper-0.0.1a2-cp312-cp312-musllinux_1_2_x86_64.whl (692.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (693.4 kB view details)

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

secretsweeper-0.0.1a2-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.1a2-cp312-cp312-macosx_15_0_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

secretsweeper-0.0.1a2-cp311-cp311-musllinux_1_2_x86_64.whl (693.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secretsweeper-0.0.1a2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (694.3 kB view details)

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

secretsweeper-0.0.1a2-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.1a2-cp311-cp311-macosx_15_0_x86_64.whl (148.8 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

secretsweeper-0.0.1a2-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.1a2.tar.gz.

File metadata

  • Download URL: secretsweeper-0.0.1a2.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.1a2.tar.gz
Algorithm Hash digest
SHA256 408e241db4ddc39c2b7b3f1ba8e5e874363bc204c2ac578c9222b4cb2f9f0183
MD5 6dfd84c326b308f8c35659f4bb045f7b
BLAKE2b-256 dad948babf66a05abd859781b73d0c98598bba9ab11fb46929b501bbc3f537d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dacfde90be31c5bf45e2b77ef45fb6eae36b150fdd5568466ffccc744deb637d
MD5 5c49f039077b7130ea9dfd55ddde9242
BLAKE2b-256 596ef47828737ec970003e02452925ad384e81d628384d526ca98720833a6fee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 50756ed0de51fee8d416b0fcf91f68a25fb54c6b9c026f9aead431efb47c0bb0
MD5 fc68ff141e4cc21745cd316e748c3a68
BLAKE2b-256 dae5bbc152efc709e2e27bc3943cff58e1f16589003c94448f7b63090c25363d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dbaa3a67d65f02302cf125f25ab69457d5eae6dfad4e020baecf7c00e49506f6
MD5 b667303df5e29d05420e911483d0f516
BLAKE2b-256 9551f5cb6e9a38c6ea4b615f70aa4d1c2f34d9c9998060b5f06ead403ce90b30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e17f39e7bcbabdcf106c34e9d597ad587566d16d92297f5461aa3d1515c360cc
MD5 856e39e6ae92869177421a5c1539deb4
BLAKE2b-256 0a1daf994d08aac8234a6f78d4db496d7a998caf84ab36706545bf518c227afd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 90aaddd3dc699def84eb962952c9f66ff3b5f34caa5af4bb7782a03aa35cf2d5
MD5 cb8f2a537be46305c16d9bea06473355
BLAKE2b-256 213fd920179c44057c0e1960fb126321a74fcd088b57467a741004e9c6f49be5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 99f1b97edfdaf971f1ec02ea11c07db776e4d8631cddcb821ccfb60f18ce097d
MD5 0178f9dc7310daffcad5afedf3ada52f
BLAKE2b-256 6319513f0fc85e55b11478960d5de52af6e611326bef303052b9aec367408081

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a8999839fdfc1ac57c235267f7e68c929430db4cc5443ed960255a7953e9b448
MD5 2dfa4b291c767ab0a7a689f94d6110fa
BLAKE2b-256 4702684c4168eec408e02fa16b0fff8aabc646dadb1a659175407064134919bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d02a0bc0c436e5a7aac7b9d825634f771ec5b1bce35b53d4bde05c149624f0d1
MD5 7b12a6fa22ee5be645a5ecb86436267a
BLAKE2b-256 66bf0b5c22de089dbb5f752d98d1f134d916f47752e1ab4ca3602a0e5b1c144f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8da0b6e9e89aee90c57db7e5ef39c3ad04d69f8ba4d401129957ac3e236e3abe
MD5 07efcd6818c732980df6584996a99452
BLAKE2b-256 ab4ed97bee7093a3cf04d606a5b07aa5395cf7210696243c44e2ff693ba8c737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c9e281bd05f4df5ee48f0f9860abee815fbe7c8654c42653b7ee1040d8823eca
MD5 4e1fb1d05ec28b8e89e525746045d023
BLAKE2b-256 7e7df6abf584611190cd50aea7d43a65bd72047421ebd07a05c310fd1bb6beea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 aaca2d748979854087ac9d5664851ceb4b8317bc61b8ccf07216e3520053bb4d
MD5 2309a4df404497713b8843dff4b28c9f
BLAKE2b-256 2dd290252221e2b06aedd8c18ddc4398261d3bd2e3710358a74167ea74655c8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1266dcd493a3f9fada2bc2a6e0a7bab0584f10bb96527d87f1ff32600da76d4e
MD5 d79e4fe304bcb2fad9bc882c64c47bb0
BLAKE2b-256 bc5e909c11b71c2f6ec3999dacdba795908c865f26fc9505ff4aede189a83e23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8abb5ce1274b50608bca4d9dd298ce5707454253a8d0ebbc4f4d5107a776acc6
MD5 cb256a6f76a11160020aee9d98e7f795
BLAKE2b-256 e5239ffebde0c71de140a756e5793d68532e8942f55fc0478e9f97a9a86923ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2b47ee1f453ace6be05e21b21d95537496fb7ab5089a23e8f183ac9723376396
MD5 7fc586106d9b59c5596cc7907bc68e59
BLAKE2b-256 418afd23820466f3a65729b9f020d6673d8c83ad79479ffdc4295c42c8193578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de39b0f6dbfbcd84e4eccdf8c4701977c9381e9bcd9e0749c90e9e5cbba2caa1
MD5 ba6f635731e20375880ffd59ec4a509a
BLAKE2b-256 99dc0988f0f15e758dd5ced60f815895a3ee449bdd2f4c3c2b84e84f09f2bfce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe34c3d6f0c410b978b63568062c306b2795022efc1120281dea91993d5f288e
MD5 308a72500f7673257802db145c13fa02
BLAKE2b-256 20c18f0e239778010ca59baf9b1ef92d7475fbc585a339ad67fae1012e387a0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4e08081f112d1e33e30288c1332d05d25dcf0b468532832cf6219b45aed68103
MD5 e188f4649d5080dcf71df003885ccf67
BLAKE2b-256 7d2beb58d769136a66117adbb11b5100d164f063d3f34aad4cbceb0c646ec9c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bab94366309e6204f0f18c6d2c38776eb01abff275623e6706d0d83359b87475
MD5 b02c8ed350a13d3c7890eaaa42e6a984
BLAKE2b-256 a59e3aaebfa4c84ec980f196c98f30609f518e830eab80b0178c738f5e7b3cc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d4fa967fc229754942fff2a408750e403e1b12a3ca237850706b392e2ded896
MD5 43b14c86941ac64c4fa5fbaedc725f17
BLAKE2b-256 420da744b815eeaf258f710b53b49a727710a60ce5991de0630aa0d802c6ded1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d92039098667e13283eedda630e0d62f62e22cba96718a1aa12fa7d25d55ca33
MD5 2b88f3f727cc4451cddcb7c5ecd92f82
BLAKE2b-256 62bc9326acdef12e560e965e93c3713b03e400c4b53f28954cb77a9e0f62e7bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7ccbf3d7605c417b9b385a061fa71cc90dc89fad02b6cc4d264fc9658d20431
MD5 27cf6e08d5195b1092ec67d134230423
BLAKE2b-256 e6ba2ba2e8b138d4741683de44e1d884d865c66e8f8772fc0015939e984dc7a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a84a22e6b46d9eb2e37136d8bb5a38759ac92760db1667c9a77ed982a586a691
MD5 3363f4cad44e0360bebc5e5180ba89c6
BLAKE2b-256 349a96b91518534752a41cf1a6132cd6a15119a26583449841b1c734363a97bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 66bb5fb2b6ce3e4c83eeff795ad2906c219de5d6d5b0de2a307d40354482d595
MD5 b29f83d3eba09ad580b07d63248d2915
BLAKE2b-256 b2689fe7fb2548b7f27e0e3774cb273a31f4d7d6e9ed79904e340b33cbbd0b73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for secretsweeper-0.0.1a2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ba1390c501ea762a83a3e85fb84237e3711766660caba1b17cdd03cfca90387
MD5 db95666a93c6a1e78c5631b8d939c394
BLAKE2b-256 477c9abff3b821d7980df5c950d2a53685e9e9e4ce6445853bfed3a526e3edd0

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