Skip to main content

🔥 CharMinder

A character encoding detective for text files and URLs - catch encoding issues before they evolve into problems!

PyPI version CI/CD Pipeline codecov Python 3.11+ License: Apache 2.0 Ruff uv

CharMinder is a powerful encoding validation tool that detects character encoding issues in text files with precise, character-level reporting. It supports both local files and remote URLs (including GitHub).

✨ Features

  • 🕵️ Precise Detection: Character-level reporting with exact line/column positions
  • 🌐 URL Support: Works with HTTP/HTTPS URLs and GitHub blob URLs
  • 🎯 Multiple Encodings: UTF-8, UTF-16, UTF-32, ASCII validation
  • 📊 Detailed Reports: Unicode codepoints, context, and confidence levels
  • 🔄 GitHub Integration: Automatic blob-to-raw URL conversion
  • ⚡ Fast & Reliable: Built on charset_normalizer for accurate detection

🚀 Quick Start

Installation

pip install charminder

Basic Usage

# Check a local file
charminder -f myfile.txt -e UTF8

# Check a remote URL
charminder -f https://example.com/data.csv -e ASCII

# Check a GitHub file (blob URL auto-converted)
charminder -f https://github.com/user/repo/blob/main/data.json -e UTF8

📖 Usage Examples

Valid File

$ charminder -f clean_file.txt -e UTF8
✓ clean_file.txt: Valid UTF8 encoding

File with Issues

$ charminder -f problematic_file.txt -e UTF8
✗ problematic_file.txt: Invalid UTF8 encoding
  • Invalid character '—' (U+2014) at line 15, column 23
    Context: ...Hello — this is...
  • Invalid character '©' (U+00A9) at line 20, column 5
    Context: ...© 2024 Company...

🛠️ Development

CharMinder is built with:

  • charset_normalizer for encoding detection
  • click for the CLI interface
  • urllib for URL handling

📝 License

Apache License, Version 2.0, (LICENSE)

🤝 Contributing

Contributions welcome! Please read our Contributing Guide first.


CharMinder - I choose you! 🔥⚡

Metadata

Release files for charminder 0.1.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 charminder 0.1.0
File Size Uploaded
charminder-0.1.0.tar.gz 46.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for charminder 0.1.0
File Interpreter ABI Platform
charminder-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.0 kB

Release files / charminder-0.1.0.tar.gz

Download URL charminder-0.1.0.tar.gz
Size 46.0 kB
Tags Source
SHA-256 checksum
How to use checksums
99a72b341ff3acde8c9a3d7c98f008df4e8a430f977ac2b60047883f6c0aebe9
BLAKE2b-256 checksum
How to use checksums
987005353e5ba68ec089ea032611a045435e1014a66ef737644f804dc4caf422
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 4, 2025.

Transparency log

Release files / charminder-0.1.0-py3-none-any.whl

Download URL charminder-0.1.0-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d88150a0bc30fd4acfbe5f38ba6048e50d1067ad45a9bf12cb915381473b023
BLAKE2b-256 checksum
How to use checksums
f7d3f812bd7b2438b66f1a8eb5edfdb6f7a4a3bdc9e11230eb780e3592acec1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 4, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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