Skip to main content

PIICleaner

A fast, Rust-powered Python library for detecting and cleaning Personal Identifiable Information (PII) from text data, with seamless Polars and Pandas integration.

Features

  • Fast PII Detection: Rust-based regex engine for high-performance text processing
  • Case-Insensitive Matching: Detects PII regardless of case by default, with optional case-sensitive mode
  • Multiple PII Types: Detects emails, phone numbers, postcodes, National Insurance numbers, addresses, and more
  • Flexible Cleaning: Replace or redact detected PII with customisable strategies
  • Semantic Redaction: Replace PII with meaningful labels like [email-redacted] instead of generic dashes
  • Custom Replacement Strings: Define your own replacement text for the "replace" cleaning method
  • PII Type Detection: Get detailed information about what type of PII was detected
  • Polars Integration: Native support for cleaning DataFrames and Series
  • Pandas Integration: Native support for cleaning DataFrames and Series
  • Easy to Use: Simple API for both single strings and batch processing

Installation

# Using uv
uv add piicleaner
# With Polars support
uv add 'piicleaner[polars]'
# With Pandas support
uv add 'piicleaner[pandas]'

# Using  pip
pip install piicleaner
# With Polars support
pip install 'piicleaner[polars]'
# With Pandas support
pip install 'piicleaner[pandas]'

Platform Support

PIICleaner provides pre-built wheels for:

  • Windows: x86_64 (Intel/AMD 64-bit)
  • macOS: x86_64 (Intel) and arm64 (Apple Silicon)
  • Linux: x86_64 (Intel/AMD 64-bit)

Note: Linux ARM64 (aarch) wheels are not currently provides. Users on ARM64 Linux systems (e.g. Raspberry Pi, AWS Graviton) will need to build from source. See Building from Source below.

Building from Source

For platforms without pre-built wheels you'll need:

  • Rust toolchain (1.70 or newer), install from rustup.rs
  • Python development headers
# Using uv
uv add piicleaner --no-binary piicleaner

# Using pip
pip install piicleaner --no-binary piicleaner

Quick Start

Basic Usage

from piicleaner import Cleaner

# Instantiate a cleaner
cleaner = Cleaner()

# Clean a single string (case-insensitive by default)
text = "Contact John at JOHN@EXAMPLE.COM or call +44 20 7946 0958"
cleaned = cleaner.clean_pii(text, "redact")
print(cleaned)  # "Contact John at [email-redacted] or call [telephone-redacted]"

# Detect PII locations with type information
matches = cleaner.detect_pii(text)
print(matches)  
# [{'start': 16, 'end': 32, 'text': 'JOHN@EXAMPLE.COM', 'type': 'email'}, 
#  {'start': 41, 'end': 58, 'text': '+44 20 7946 0958', 'type': 'telephone'}]

# Case-sensitive detection
matches_sensitive = cleaner.detect_pii("nino: ab123456c", ignore_case=False)
print(matches_sensitive)  # [] - no match because NINO pattern expects uppercase

matches_insensitive = cleaner.detect_pii("nino: ab123456c", ignore_case=True)
print(matches_insensitive)  # [{'start': 6, 'end': 15, 'text': 'ab123456c', 'type': 'nino'}]

Polars Integration

import polars as pl
from piicleaner import Cleaner

# Create DataFrame with PII
df = pl.DataFrame({
    "text": [
        "Email: alice@company.com",
        "NINO: AB123456C", 
        "Phone: +44 20 7946 0958"
    ],
    "id": [1, 2, 3]
})

cleaner = Cleaner()

# Clean PII in DataFrame
cleaned_df = cleaner.clean_dataframe(df, "text", "redact", "cleaned_text")
print(cleaned_df)

# Detect PII in DataFrame  
pii_df = cleaner.detect_dataframe(df, "text")
print(pii_df)

# Using namespace API
result = df.with_columns(
    pl.col("text").pii.clean_pii("redact").alias("cleaned")
)

Pandas Integration

import pandas as pd
from piicleaner import Cleaner

# Create DataFrame with PII
df = pd.DataFrame({
    "text": [
        "Email: alice@company.com",
        "NINO: AB123456C", 
        "Phone: +44 20 7946 0958"
    ],
    "id": [1, 2, 3]
})

cleaner = Cleaner()

# Clean PII in DataFrame
cleaned_df = cleaner.clean_pandas_dataframe(df, "text", "redact", "cleaned_text")
print(cleaned_df)

# Detect PII in DataFrame  
pii_df = cleaner.detect_pandas_dataframe(df, "text")
print(pii_df)

# Using Series accessor API
df["cleaned"] = df["text"].pii.clean_pii("redact")
df["pii_detected"] = df["text"].pii.detect_pii()

Specific PII Types and Custom Replacement

# Use specific cleaners
email_cleaner = Cleaner(cleaners=["email"])
phone_cleaner = Cleaner(cleaners=["telephone", "postcode"])

# Case-insensitive cleaning with specific cleaners
text = "EMAIL: JOHN@EXAMPLE.COM"
cleaned = email_cleaner.clean_pii(text, "redact", ignore_case=True)
print(cleaned)  # "EMAIL: [email-redacted]"

# Custom replacement string
custom_cleaner = Cleaner(replace_string="[CONFIDENTIAL]")
text = "Contact john@example.com"
replaced = custom_cleaner.clean_pii(text, "replace")
print(replaced)  # "[CONFIDENTIAL]"

# See available cleaners
print(Cleaner.get_available_cleaners())
# ['address', 'case-id', 'cash-amount', 'email', 'ip_address', 'nino', 'postcode', 'tag', 'telephone']

Supported PII Types

Type Description Example
email Email addresses john@example.com
telephone UK phone numbers +44 20 7946 0958
postcode UK postcodes SW1A 1AA
nino National Insurance numbers AB123456C
address Street addresses 123 High Street
cash-amount Currency amounts £1,500, $2000
case-id Case/reference IDs UUIDs, reference numbers
tag HTML/XML tags <script>, <div>

Cleaning Methods

  • "redact": Redact the PII, replacing it with semantic labels like [email-redacted], [telephone-redacted]. Where matches from different cleaners overlap, the whole overlapping region is redacted and labelled with the highest-priority cleaner, in the order returned by piicleaner.get_available_cleaners(). The same input always produces the same output.
  • "replace": Replace the entire string if any PII is detected (uses custom replacement string if provided)

Case Sensitivity

By default, PIICleaner performs case-insensitive matching to catch PII regardless of how it's formatted:

  • ignore_case=True (default): Detects ab123456c, AB123456C, and Ab123456C as valid NINOs
  • ignore_case=False: Only detects patterns matching the exact case defined in regex patterns

This ensures maximum PII detection while allowing precise control when needed.

API Reference

Cleaner Class

class Cleaner(cleaners="all")

Parameters:

  • cleaners (str | list[str]): PII types to detect. Use "all" for all types or specify a list like ["email", "telephone"]
  • replace_string (str | None): Custom replacement string for "replace" cleaning method

Methods:

  • detect_pii(text, ignore_case=True): Detect PII and return match locations with type information
  • detect_pii_list(texts, ignore_case=True): Detect PII in list of strings
  • clean_pii(text, cleaning, ignore_case=True): Clean PII from text
  • clean_pii_list(texts, cleaning, ignore_case=True): Clean list of strings
  • clean_dataframe(df, column, cleaning, new_column_name=None): Clean Polars DataFrame
  • detect_dataframe(df, column): Detect PII in Polars DataFrame
  • clean_pandas_dataframe(df, column, cleaning, new_column_name=None): Clean Pandas DataFrame
  • detect_pandas_dataframe(df, column): Detect PII in Pandas DataFrame
  • get_available_cleaners(): Get list of available PII types

DataFrame Integration Features:

  • Polars: Native .pii.clean_pii() and .pii.detect_pii() expression namespace
  • Pandas: Series accessor .pii.clean_pii() and .pii.detect_pii() methods
  • Null Handling: Both integrations properly handle null/missing values
  • Vectorized Processing: Efficient batch processing for large datasets

Performance

PIICleaner is built with Rust for maximum performance:

  • Compiled regex patterns for fast matching
  • Efficient string processing
  • Minimal Python overhead
  • Scales well with large datasets

Requirements

  • Python ≥ 3.10
  • Polars ≥ 1.0.0 (optional, for Polars DataFrame support)
  • Pandas ≥ 2.0.0 (optional, for Pandas DataFrame support)

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Please see the GitHub repository for development setup and guidelines.

Metadata

Release files for piicleaner 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for piicleaner 0.5.0
File Size Uploaded
piicleaner-0.5.0.tar.gz 122.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for piicleaner 0.5.0
File
piicleaner-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
piicleaner-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
piicleaner-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
piicleaner-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
piicleaner-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
piicleaner-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
piicleaner-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
piicleaner-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
piicleaner-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
piicleaner-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
piicleaner-0.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
piicleaner-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
piicleaner-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
piicleaner-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
piicleaner-0.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
piicleaner-0.5.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

Total release size: 14.5 MB

Release files / piicleaner-0.5.0.tar.gz

Download URL piicleaner-0.5.0.tar.gz
Size 122.9 kB
Tags Source
SHA-256 checksum
How to use checksums
36314e00168a745d938d6b84f62b94d38b4369370fa2cd643fba0a6490e9414e
BLAKE2b-256 checksum
How to use checksums
ea35be3ab00ca4503b1faf744c29217ebc83531484c68558b69885fe359b3c46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp313-cp313-win_amd64.whl

Download URL piicleaner-0.5.0-cp313-cp313-win_amd64.whl
Size 781.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
456898d1d150602febc75af5a2061d30312da2d2262e6f6f221d9479d34a6bf7
BLAKE2b-256 checksum
How to use checksums
bdf31d994c28925db4768f4031edbd2fc9d022333db2b6d2af7568c9f5acab86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL piicleaner-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.0 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ae1325464c08f42775b371c60c21b108241e8ebe70cb18ece5c7eb57ff7149a6
BLAKE2b-256 checksum
How to use checksums
724e817f228552427a2cdad941dff167afb62183aadbb9d514f50b052b4a5286
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL piicleaner-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 873.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1806234978424658e6d7e5f9fb6c782d44181a83bab7f0e574695f0d7c13806b
BLAKE2b-256 checksum
How to use checksums
6dad2ef983c7257673450875d7a3d1772825473314dd0c8bb94e5bc52016bd3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL piicleaner-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 916.7 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
54161a7805e9903f02f2ef500321932108f36172d094ea6a287ec7e72eac4ceb
BLAKE2b-256 checksum
How to use checksums
65e801fb0bae4868f4c16c112e376b5ce5e5c13939e121fee3afb9d5387671ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp312-cp312-win_amd64.whl

Download URL piicleaner-0.5.0-cp312-cp312-win_amd64.whl
Size 781.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
91268b34d50da09b0ae9b1c29ddeda9c78e757d535b8832a84b77fc6987aaa47
BLAKE2b-256 checksum
How to use checksums
a7cd532da231337935524465760e4c4d81c181bf461d494a2c61bbd414f5621c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL piicleaner-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f03a84a96bf1412c6c99744adb8b8797db15c1f0fb3c1917e5e4fc509022fdb6
BLAKE2b-256 checksum
How to use checksums
4992fa81163b5e6d0ba6d07d347b2a2ed56f3f791592b28fc8820f77284dffff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL piicleaner-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 874.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
637afc0a14456412b7d3749a36a6fea0b59b3cf0209f469f3066063cb7e08441
BLAKE2b-256 checksum
How to use checksums
562dd41b174ec05214204ac0e5c615fff3b77bcf4a15d4a1c2813c680bbfe3fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL piicleaner-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 916.9 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
69a197d3566daa4022efa0e7604d58bc0cd8e07e4909446fd845a9d3b9a6cb7e
BLAKE2b-256 checksum
How to use checksums
b5518875210c7ecf5900a1cfc8c56e518b698778822c0374b7082d8079b3a59b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp311-cp311-win_amd64.whl

Download URL piicleaner-0.5.0-cp311-cp311-win_amd64.whl
Size 782.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
750e92b88667fd342653e148d7498ca657711ca13a4ed6c91efba8128aa1ab9e
BLAKE2b-256 checksum
How to use checksums
84ccfe6277549ae8927dbec9a2033967204d742bebfe77e030ab310ed87ad04c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL piicleaner-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
60b54ce56d43a92364b589966e05de26a40059cb22f9aff8690273f3b2ea36e9
BLAKE2b-256 checksum
How to use checksums
7c4aa56ac7df8d03bdad368b9e0f25940a902d3eccfa48d441a6b6fa29b6cb2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL piicleaner-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 876.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b121b0e6e57cbc92122e597a423245ff7cb3da94fb7feda88c9cd5b6689a1964
BLAKE2b-256 checksum
How to use checksums
4f15b22b9017789662e5ac059114148b049f4a1d6169e82067dc7e9bebfe7e7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL piicleaner-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 920.1 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c8ebbf889842567ec080bceffcee8f25ba9c14578daa67df59d72c1607879298
BLAKE2b-256 checksum
How to use checksums
95da35c1a4223665302d5a8a1f12d8349ff0a11d952a176efcb309e4791b889c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp310-cp310-win_amd64.whl

Download URL piicleaner-0.5.0-cp310-cp310-win_amd64.whl
Size 782.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
599157f69dbaa0bc4878b815360ae976645145c192520b7a6bb95e480cd310e4
BLAKE2b-256 checksum
How to use checksums
591177a9a3162b0f3489cdbd4382017560173fa9f9961b0f83607ee373ea736a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL piicleaner-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5007236663092e84e5d9eb02385657006ccf084a936169e16a93129495a4b6fe
BLAKE2b-256 checksum
How to use checksums
ee740529aeef93942d155c7e4b07982ee6feb51bf11177517b9b7341a17e81ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL piicleaner-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 876.4 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ac592ebd6f948aa22c0fb52e817997cea2eb61ef82902d1aa03f1da85642156
BLAKE2b-256 checksum
How to use checksums
f93c6b8121928f97fe899ce3c126d0ccb448cb04909031184e06c354e9e3e747
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / piicleaner-0.5.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL piicleaner-0.5.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 920.0 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ece888ad1a645963154798683be6033bf1c4431bfccf73e8d37ed1876d511b5f
BLAKE2b-256 checksum
How to use checksums
2bc59dae499dbc69fcf4f5b63104fb5a714bca14b99285e3721e16716ec0fb55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

17 release files

0.5.1

17 release files

This release

0.5.0 This release

17 release files

0.4.2

17 release files

0.4.0

17 release files

0.3.0

17 release files

0.2.3

21 release files

0.2.2

21 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page