$npx skillfedfor your agent

smartypants

Python with the SmartyPants

With conditionsPyPI FiltersReleased Jun 2025232.6K downloads / moBSD LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — smartypants-2.0.2-py2.py3-none-any.whl
v2.0.2 · released 2025-06-17

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.AI-flagged interpretation of the facts on this page — verify before relying

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 · maintenance · safety

BSD License (permissive) — BSD License (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

last release 2025-06-17 (423 days) · last repo commit 2025-06-17 · 44 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 232,590 downloads/mo, #9,062 on PyPI

Verify before relying

import smartypants

text = '"Hello" -- world\'s best'
result = smartypants.smartypants(text)
print(result)
  • 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
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

With conditions

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

smartypants on PyPI

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

LicenseBSD License permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAging 423 days since the last release
Last repo commit
First released
Downloads232,590 / month, #9,062 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Text Processing :: Filters

Evidence: smartypants-2.0.2-py2.py3-none-any.whl

Tags

Capabilities
smart quotes and dashestypography text processinghtml entity conversioncurly quotes em-dashtext punctuation formattingsmartypants typographytypographic text filter
Topics
typographyhtml-entitiestext-filter

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “smart quotes and dashes”

  • smartypantsConverts plain-text punctuation to typographically correct HTML…
  • pylint-quotesA Pylint plugin that enforces consistent use of single vs. double…
  • tokenizerTokenizes Icelandic text into words, punctuation, numbers, dates, and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Filters packages

Pygments Worth it
PyPI · Utilities · released Mar 2026

Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.

Install it if you need to display or transform source code.

BSD-2-Clausepure Python · 3.9+
1.3Bdownloads / mo
Markdown Worth it
PyPI · Python Modules · released Jul 2026

Converts Markdown text to HTML using a Python implementation of John Gruber's Markdown specification, with support for extensions.

Install it if you need to parse Markdown in Python.

BSD-3-Clausepure Python · 3.10+
121.7Mdownloads / mo
nltk Worth it
PyPI · Scientific/Engineering · released Aug 2026

NLTK is a Python library for natural language processing tasks including tokenization, parsing, tagging, and linguistic analysis, with built-in datasets and educational resources.

Install it if you need foundational NLP tools, linguistic datasets, or are learning the field; consider specialized libraries (spaCy, transformers) if you need…

Apache-2.0pure Python · 3.10+
74.1Mdownloads / mo
pandocfilters With conditions
PyPI · Filters · released Jan 2024

Provides Python utilities for writing pandoc filters that transform document ASTs by reading JSON from stdin, modifying the structure, and writing JSON to stdout.

BSD-3-Clausepure Pythonaging
60.8Mdownloads / mo
Unidecode Worth it
PyPI · Text Processing · released Apr 2025

Converts Unicode text to ASCII-safe representations by transliterating non-ASCII characters to their closest ASCII equivalents, useful for generating URL slugs, legacy system integration, and keyboard-friendly identifiers.

Install it if you need lossy Unicode-to-ASCII conversion and can accept GPLv2+ copyleft terms.

GPL-2.0-or-laterpure Python · 3.7+aging
32.8Mdownloads / mo
pymdown-extensions Worth it
PyPI · Python Modules · released Jul 2026

Pymdown Extensions provides a collection of additional extensions for Python Markdown that add syntax support for advanced formatting, including tabbed content, superfences with syntax highlighting, emoji, and other markup enhancements.

Install it if you need markdown features beyond the standard library.

MITpure Python · 3.10+
26.3Mdownloads / mo

See also markdown2 · tokenizer · fix-busted-json · normality · setuptools-markdown · multimark · match · cmarkgfm · ftfy · recognizers-text