--- id: smartypants version: "2.0.2" license: BSD License license_treatment: permissive maintenance: aging --- # smartypants — Python with the SmartyPants License: permissive · Maintenance: aging · Downloads: 232.6K/mo ## What it is and what it does smartypants is a Python port of the original SmartyPants text filter. It transforms plain-text punctuation into typographically correct HTML entities—converting straight quotes to curly quotes, replacing hyphens and double-hyphens with en-dashes and em-dashes, and handling other common typographic improvements. It works as both a Python module and a command-line tool, making it useful for preprocessing text before publishing to the web or for document generation pipelines. The package has no external dependencies and installs with low friction. It is classified as Production/Stable and has been maintained since 2008, though releases are infrequent. The repository remains active, indicating the project is mature and unlikely to break, but the aging maintenance status suggests it is not under active feature development. Use it for: - Preprocess blog post or article text before publishing to ensure professional typography in HTML output - Filter user-generated content in web applications to improve readability without requiring manual editing - Convert plain-text documentation or markdown to typographically correct HTML for static site generators - Clean up text in content management systems to standardize punctuation across published material - Process text files from legacy systems or plain-text sources before importing into publishing platforms ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts plain-text punctuation to typographically correct HTML entities—replacing straight quotes with curly quotes, hyphens with em-dashes, and similar transformations for improved typography in web and document output. Yes, if you need simple, dependency-free text punctuation normalization for web or document output. The permissive BSD License, zero runtime dependencies, and stable codebase make it a low-risk addition. The aging maintenance is not a concern for a mature, narrow-purpose tool, but verify that its punctuation rules match your typographic requirements before committing to it in a pipeline. ## Install pip install smartypants uv add smartypants poetry add smartypants ## Installing smartypants Before you install: Low install friction with no runtime dependencies. Maintenance is aging—last release was 423 days ago—but the repository remains active with a recent commit on 2025-06-17, suggesting the project is stable rather than abandoned. License in practice: BSD License (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects. Quickstart: import smartypants text = '"Hello" -- world\'s best' result = smartypants.smartypants(text) print(result) Verify before relying: - Whether Python 2 support is actively maintained or merely declared in classifiers - Performance characteristics on large text volumes or streaming input - Customization options for which punctuation transformations to apply - Specific HTML entity output format and which punctuation rules are applied ## Package facts - License: BSD License (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 232.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags smart quotes and dashes, typography text processing, html entity conversion, curly quotes em-dash, text punctuation formatting, smartypants typography, typographic text filter, typography, html-entities, text-filter [View on SkillFed](https://skillfed.io/packages/smartypants) · [View on PyPI](https://pypi.org/project/smartypants/)