Skip to main content

charsetrs

A fast Python library with Rust bindings for detecting file character encodings and normalizing files.

Features

  • Simple API: Just two functions - analyse() and normalize()
  • Fast encoding detection using Rust
  • Newline detection: Detects LF, CRLF, or CR newline styles
  • File normalization: Convert encoding and newlines in-place using streaming
  • Memory efficient: Constant memory usage (~56KB) for files of any size
  • Supports large files: Process 10GB+ files on 512MB RAM systems
  • Supports multiple encodings: UTF-8, Latin-1, Windows-1252, UTF-16, ASCII, Arabic, Korean, and more
  • Configurable sample size: Control memory usage vs accuracy trade-off

Installation

Development Installation

# Install dependencies
uv sync

# Build and install in development mode
uv run maturin develop

Production Build

uv run maturin build --release

Usage

Basic Usage

import charsetrs

# Analyse file encoding and newline style
result = charsetrs.analyse("file.txt")
print(f"Encoding: {result.encoding}")  # e.g., 'utf_8'
print(f"Newlines: {result.newlines}")  # e.g., 'LF', 'CRLF', or 'CR'

# Normalize file to UTF-8 with LF newlines (in-place modification)
charsetrs.normalize(
    "file.txt",
    encoding="utf-8",
    newlines="LF"
)

Working with Large Files

The library uses streaming with strategic sampling to efficiently handle files of any size with constant memory usage (~56KB):

import charsetrs

# Default sampling: 10% of file with 1MB minimum
result = charsetrs.analyse("large_file.txt")

# Use only 5% of file for faster detection
result = charsetrs.analyse("large_file.txt", percentage_sample_size=0.05)

# Cap maximum sample size to 2MB
result = charsetrs.analyse("large_file.txt", max_sample_size=2*1024*1024)

# Adjust minimum sample size for better accuracy on smaller files
result = charsetrs.analyse("medium_file.txt", min_sample_size=512*1024)

# Normalize large file with custom sampling
# Memory usage: ~56KB regardless of file size (10GB+ files supported)
charsetrs.normalize(
    "large_file.txt",
    encoding="utf-8",
    newlines="LF",
    percentage_sample_size=0.05,
    max_sample_size=2*1024*1024
)

Strategic Sampling:

  • Reads 35% from the beginning of the file
  • Reads 15% from the end of the file
  • Reads 50% distributed in chunks throughout the middle
  • Never loads the entire file into memory
  • Ideal for 10GB+ files on 512MB RAM systems

Newline Normalization

Convert between different newline styles (in-place modification):

import charsetrs

# Convert Windows-style (CRLF) to Unix-style (LF)
charsetrs.normalize("windows.txt", encoding="utf-8", newlines="LF")

# Convert to Windows-style (CRLF)
charsetrs.normalize("unix.txt", encoding="utf-8", newlines="CRLF")

# Convert to old Mac-style (CR)
charsetrs.normalize("file.txt", encoding="utf-8", newlines="CR")

Supported Encodings

  • UTF-8, UTF-16 (LE/BE), UTF-32
  • ISO-8859-1 (Latin-1)
  • Windows code pages: 1252, 1256 (Arabic), 1255 (Hebrew), 1253 (Greek), 1251 (Cyrillic), 1254 (Turkish), 1250 (Central European)
  • CP949 (Korean), EUC-KR
  • Shift_JIS, EUC-JP (Japanese)
  • Big5, GBK, GB2312 (Chinese)
  • KOI8-R, KOI8-U (Cyrillic)
  • Mac encodings (Roman, Cyrillic)
  • ASCII

API Reference

charsetrs.analyse(file_path, min_sample_size=1024*1024, percentage_sample_size=0.1, max_sample_size=None)

Analyse the encoding and newline style of a file using strategic sampling.

Parameters:

  • file_path (str or Path): Path to the file
  • min_sample_size (int, optional): Minimum bytes to sample. Default: 1MB (1024*1024). For files smaller than this, the entire file is sampled.
  • percentage_sample_size (float, optional): Percentage of file to sample (0.0 to 1.0). Default: 0.1 (10% of file).
  • max_sample_size (int, optional): Maximum bytes to sample. Default: None (no limit). Use to cap memory usage for very large files.

Returns:

  • AnalysisResult: Object with encoding and newlines attributes

Sampling Strategy: The function reads samples strategically from the file without loading it entirely:

  • 35% from the beginning of the file
  • 15% from the end of the file
  • 50% distributed uniformly in chunks throughout the middle

Example:

result = charsetrs.analyse("file.txt")
print(result.encoding)  # 'utf_8'
print(result.newlines)  # 'LF'

# Custom sampling for large files
result = charsetrs.analyse("large.txt", 
                          min_sample_size=2*1024*1024,
                          percentage_sample_size=0.05,
                          max_sample_size=10*1024*1024)

charsetrs.normalize(file_path, encoding="utf-8", newlines="LF", min_sample_size=1024*1024, percentage_sample_size=0.1, max_sample_size=None)

Normalize a file by converting its encoding and newline style in-place using streaming.

This function modifies the file in-place with constant memory usage (~56KB), making it suitable for very large files (10GB+) on memory-constrained systems (512MB RAM).

Parameters:

  • file_path (str or Path): Path to the file to normalize
  • encoding (str, optional): Target encoding (default: 'utf-8')
  • newlines (str, optional): Target newline style - 'LF', 'CRLF', or 'CR' (default: 'LF')
  • min_sample_size (int, optional): Minimum bytes to sample. Default: 1MB.
  • percentage_sample_size (float, optional): Percentage of file to sample. Default: 0.1 (10%).
  • max_sample_size (int, optional): Maximum bytes to sample. Default: None.

Raises:

  • ValueError: If encoding conversion fails or invalid newlines value
  • IOError: If file cannot be read or written
  • LookupError: If target encoding is invalid

Example:

charsetrs.normalize(
    "input.txt",
    encoding="utf-8",
    newlines="LF"
)

AnalysisResult

A frozen dataclass containing analysis results:

@dataclass(frozen=True)
class AnalysisResult:
    encoding: str                        # e.g., 'utf_8', 'cp1252'
    newlines: Literal["LF", "CRLF", "CR"]  # Detected newline style

Testing

Run the test suite:

uv run pytest tests/

Run specific tests:

# Test new API
uv run pytest tests/test_charsetrs_api.py -v

# Test with sample files
uv run pytest tests/test_full_detection.py -v

Development Tasks

The project uses taskipy for common development tasks:

# Run tests
uv run task test

# Format all code (Python + Rust)
uv run task format

# Check formatting and linting (Python + Rust)
uv run task lint

# Format only Rust code
uv run task format_rust

# Lint only Rust code (formatting + clippy)
uv run task lint_rust

Project Structure

.
├── src/
│   ├── charsetrs/         # Python package
│   │   └── __init__.py    # Python API
│   └── charsetrs_core/        # Rust source code
│       └── lib.rs         # Rust encoding detection
├── tests/                 # Test suite
│   ├── test_charsetrs_api.py
│   ├── test_full_detection.py
│   └── data/              # Sample files in various encodings
├── pyproject.toml         # Python project configuration
└── Cargo.toml             # Rust project configuration

Performance

The library uses streaming with strategic sampling to efficiently handle large files:

  • Constant memory usage: ~56KB regardless of file size
  • Suitable for large files: Process 10GB+ files on 512MB RAM systems
  • Smart sampling: Reads from beginning (35%), end (15%), and middle (50% distributed)
  • Default detection: Samples 10% of file with 1MB minimum
  • Configurable: Adjust min_sample_size, percentage_sample_size, and max_sample_size based on your needs
  • Single-pass processing: Linear time complexity O(n) for normalization

For more details, see MEMORY_EFFICIENCY.md

License

MIT

Metadata

Release files for charsetrs 0.2.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 charsetrs 0.2.0
File Size Uploaded Provenance
charsetrs-0.2.0.tar.gz 85.4 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for charsetrs 0.2.0
File
charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details
charsetrs-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64 Details
charsetrs-0.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
charsetrs-0.2.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
charsetrs-0.2.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
charsetrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
charsetrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
charsetrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
charsetrs-0.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
charsetrs-0.2.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
charsetrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
charsetrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
charsetrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
charsetrs-0.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
charsetrs-0.2.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
charsetrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
charsetrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
charsetrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
charsetrs-0.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
charsetrs-0.2.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
charsetrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details

Total release size: 11.2 MB

Release files / charsetrs-0.2.0.tar.gz

Download URL charsetrs-0.2.0.tar.gz
Size 85.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9682db46befbc441ddf4986edeae9525daa231e3c76735399f3712d90ea8f0e3
BLAKE2b-256 checksum
How to use checksums
7d658edc7fab2849b740ab5926beae46aee5abdbd1ad2daa703e03ae4619c2da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 554.8 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
df02af16249a18ac84c30a5d33d8ae2dc2867151b861d564dcf66f5d4c6fcd7a
BLAKE2b-256 checksum
How to use checksums
a605554d566b6836368bafc59927d3ce5cc157d4968bab8694278c73de8707ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 553.4 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
2fc6b4fe931c8dc32fe6693c462e27f19f69ed51e4e6dbe743d00946103a42d4
BLAKE2b-256 checksum
How to use checksums
951876e1e70304c395f751e2b3f6621d1132d23273ef0251b64bb655b752920e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 550.7 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
62a712fac889680a578c8f7d5ec53981c3a695dad0ee82ee8c478feca2cd9149
BLAKE2b-256 checksum
How to use checksums
61f20addef26101c1a9b818decbc27af27be2a430a5f652e7a8f900ce9e42033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-win_amd64.whl

Download URL charsetrs-0.2.0-cp313-cp313-win_amd64.whl
Size 395.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d292d5c863f59664cf12df445dd5b8fa36f3e8721b0adff6f94c8476ad41ef1c
BLAKE2b-256 checksum
How to use checksums
9a83629bb02fac2d6988f80a1587598645bbf28b2cf6dfccfa3e1914bf0b42a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-win32.whl

Download URL charsetrs-0.2.0-cp313-cp313-win32.whl
Size 384.6 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
63b3e7a94c07a6cf0759bfb85294ca6167bc2924dd959dc79b38aaf7639bbe30
BLAKE2b-256 checksum
How to use checksums
f08023c2254d5dc56ef177bb9adcece90927eb9b5713a9830621dfc20961fb21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL charsetrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 551.5 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8b9f2ca6ceb19aa585be7ce9d37a434eb27b016710f8ae2d4e68f56ff84bb2b6
BLAKE2b-256 checksum
How to use checksums
ce6db1a7f07992e39b75e9d1ec9a7e19fc6ab58b9e50208463859e8d7e82b2e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 550.6 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b8378d2072a2819c67d5ada13bb79675f6b4ec4249933e2052b20a77c76ca543
BLAKE2b-256 checksum
How to use checksums
08c01a86cd67bf24bb037cae52fc5b34f6b45cb130b7891d3c3fdcd60f9c78a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL charsetrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 507.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d59c4b2e7a71cdbceec768c1ae6452bbf370bb978217706cdf16bcb2a19ea530
BLAKE2b-256 checksum
How to use checksums
881a361c940b1cdd8f5cd40ffcb60b9bfa5cffe77c7156ac71175489353f3f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL charsetrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 510.8 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9e266c8e0205957b61cb02dd24d6c6c82d2bc8c6aff6b00021930cefc7170817
BLAKE2b-256 checksum
How to use checksums
750b7f99ac727338a9b39843bd204efa050e98770604949bebe05b237c017351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp312-cp312-win_amd64.whl

Download URL charsetrs-0.2.0-cp312-cp312-win_amd64.whl
Size 395.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b319fda90e4e805861ec7913450950ad6546a10f8e3c4c0fb6df0b9439b6acf4
BLAKE2b-256 checksum
How to use checksums
73d111f7695e7ac5b87c0f33860b429844de846f546b6173e236c99fc6e25273
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL charsetrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 552.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9299cda595f5b6face855be420e96e2f9e2d623693dfb80f438d8a15a1f928e5
BLAKE2b-256 checksum
How to use checksums
c3c397cc375ef01be16db399878992eb77a5b6587e6277ad936ea985d050ccb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 550.8 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1f41405e157f28ba73802fdc4fcbd81a8f0f915472c4f5ee7c4b62c377205cfa
BLAKE2b-256 checksum
How to use checksums
0b5d11dc108acd01ab37e843ec0ecc90b99f50f3422d60a54901d4f5c4a332bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL charsetrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 507.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d3704635f8a6e48449cd50edec1d7baa6ae76a1380e8cd99928b9588c6e60a3
BLAKE2b-256 checksum
How to use checksums
09f7100e59a1a5bb8ebf0020a79e751a1221b8521151711bb26eb13ab8a0a5ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL charsetrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 510.5 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
be129a66d453d9a15290d9b71210977ac3b66cb30e8e1c72e6a6279aada4ad9b
BLAKE2b-256 checksum
How to use checksums
7ebddc6e3eb381612ceda0071414f2d0731ba3c63c9db03b9d786629954813fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp311-cp311-win_amd64.whl

Download URL charsetrs-0.2.0-cp311-cp311-win_amd64.whl
Size 396.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1bd6188e9e1738412b6d2597c761f174a5ca6147008e3c5dd70119a0903fbd26
BLAKE2b-256 checksum
How to use checksums
9f12a066685cbb0a2273d394b516be5168964a4ba55894917976eb8a0e980952
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL charsetrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 554.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bf8a77cd4c862fa6cb8214a5c66b62cf9dbd2cba90ede6658de4e057f17d7113
BLAKE2b-256 checksum
How to use checksums
21860e5edf8fe9aea12c83a608bf417a75c42028d4fc633d207cd4059e7ea0b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 552.6 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
34455539b79448631057fd481488f5b19590415f44bb5571e929a9d4af71fb2a
BLAKE2b-256 checksum
How to use checksums
39110176c12ac262be4b4221fb8aa0c3b4a8eb36d4499db9f12ea37e73892836
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL charsetrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 508.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1f3a6e97fcfa1b189fe7c4ea3d87ba255fa54f6c59adb58063830a636085d737
BLAKE2b-256 checksum
How to use checksums
dfc53fa0d216f5cb00df147366d2f564948b8f9572091f1a7a3e922936bd3e3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL charsetrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 512.5 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7571530a849bc44aef96e12a7b3bbd6ae4cf23751f2f6a87327d913915a987cf
BLAKE2b-256 checksum
How to use checksums
9e61ed0012e14c6d94a2e91d73ded370f4ff05a420a124c80bfaaf870a83fc26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp310-cp310-win_amd64.whl

Download URL charsetrs-0.2.0-cp310-cp310-win_amd64.whl
Size 396.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
eabc29917a01934046d5ae7e503501a3122bc99d1e5f42b983ea5f9279c91dff
BLAKE2b-256 checksum
How to use checksums
8a0f7458bbda923b6a9827f602d08359333360473148ba8ad653dc4c8c4e111f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL charsetrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 554.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
47842f075249bce4e8d3dade4d9417bf57cc3b8f041708578f1508e7ed0b213b
BLAKE2b-256 checksum
How to use checksums
f903f9e924575b8206ea97c1e53c113d2bb4dd8feb19bc5fa7a2521462cc1fbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Release files / charsetrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL charsetrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 552.8 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
61a95a9f6fd4009c7c310461d737c2efb5d3fa16b34350f7ab4ab00a3ed0405e
BLAKE2b-256 checksum
How to use checksums
6ff15f293efb9431ceeaba06626dc9bb153365d0843a161dec2ae105ff3cfa76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.11.5

Security for charsetrs 0.2.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

23 release files No provenance

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