stringparser
Easy to use pattern matching and information extraction
Decision gist · record as of 2026-08-14
Yes, if you need lightweight pattern matching on structured text and want to avoid regex complexity. The low install friction, permissive license, and stable API make it a reasonable choice for parsing tasks with known, simple formats. However, the dormant maintenance status means you should verify that the feature set covers your use case before committing to it, and be prepared to maintain a fork if critical issues arise.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low friction: pure Python wheel with a single runtime dependency (typing-extensions).
- Dormant maintenance status since last commit 2023-11-16, but no recent activity suggests stability rather than active development.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2023-11-16 (1002 days) · last repo commit 2023-11-16 · 42 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 193,248 downloads/mo, #9,852 on PyPI
Alternatives
Verify before relying
from stringparser import Parser
parser = Parser('The answer is {:d}')
result = parser('The answer is 42')
print(result) # Output: 42- Whether dormant maintenance status indicates ongoing stability or de facto abandonment risk.
- Performance characteristics compared to regex for large-scale parsing tasks.
- Whether all format string spec features needed for your use case are implemented (only type, sign, and # are currently supported).
What it is and what it does
stringparser provides a lightweight alternative to regular expressions for extracting structured data from strings. Instead of writing regex patterns, you write format strings using the familiar PEP 3101 syntax (the same format used by Python's str.format() method). The Parser class matches a string against a pattern and returns extracted values as scalars, lists, OrderedDicts, or nested objects depending on how you name and structure the fields.
The library is intentionally simpler than regex—it matches from beginning to end and supports only a subset of format string features (type specifiers, sign, and the # flag). This makes it ideal for parsing structured text with known layouts, such as log lines, configuration values, or simple tabular data, where regex would be overkill but string splitting is too fragile.
Use it for
- Parse log lines with a known format to extract timestamps, levels, or message content.
- Extract key-value pairs from structured text without writing regex patterns.
- Build reusable parsers for configuration files or data exports with consistent formatting.
- Extract and map fields into object attributes for lightweight data binding.
- Parse simple tabular or columnar text where format is predictable.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need lightweight pattern matching on structured text and want to avoid regex complexity.
The low install friction, permissive license, and stable API make it a reasonable choice for parsing tasks with known, simple formats. However, the dormant maintenance status means you should verify that the feature set covers your use case before committing to it, and be prepared to maintain a fork if critical issues arise.
Install
stringparser on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency (typing-extensions). Dormant maintenance status since last commit 2023-11-16, but no recent activity suggests stability rather than active development.
Requires Python 3.9 or later.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
from stringparser import Parser
parser = Parser('The answer is {:d}')
result = parser('The answer is 42')
print(result) # Output: 42
Verify before relying
- Whether dormant maintenance status indicates ongoing stability or de facto abandonment risk.
- Performance characteristics compared to regex for large-scale parsing tasks.
- Whether all format string spec features needed for your use case are implemented (only type, sign, and # are currently supported).
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Dormant 1,002 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 193,248 / month, #9,852 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Software Development :: LibrariesTopic :: Text Processing |
Evidence: stringparser-0.7-py3-none-any.whl
Tags
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 › “PEP 3101 format string parsing”
- stringparserExtracts values from strings using format-string patterns instead of…
- flake8-pep3101A flake8 plugin that detects and flags old-style string formatting…
- verlib2Provides standalone version comparison and parsing for PEP 386 and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also pygrok · nr-date · flake8-pep3101 · exrex · repath · commonregex · ttp · ripgrepy · objprint · FixedWidth