--- id: perky version: "0.10" license: unclear license_treatment: permissive maintenance: active --- # perky — A simple, Pythonic file format. Provides load, loads, dump, and License: permissive · Maintenance: active · Downloads: 166.3K/mo ## What it is and what it does Perky is a configuration file format and parser designed as an alternative to INI, TOML, and JSON files. It supports only three data types—strings, dicts (mappings), and lists (sequences)—deliberately leaving type inference to the caller. The parser is written in pure Python and achieves >450k lines per second throughput. Every string parsed via load() carries provenance metadata (file, line, column) through the big.string subclass, allowing your own error messages to point back into the config file with the same precision as Perky's parser errors. The format is line-oriented and minimal: no quotes required for simple values, optional leading whitespace, comments with #, and a pragma mechanism for extensibility. Perky supports Python 3.6+ and passes its test suite with 100% coverage. The implementation is roughly 1k lines of Python, reducing surface area for bugs. You handle all data transformation yourself—whether by hand, a library like Marshmallow, or custom validation—which aligns with the Zen of Python's principle of refusing to guess at types. Use it for: - Parse application configuration files where you want human-readable syntax without JSON's verbosity or TOML's complexity - Build error messages that point into config files by leveraging big.string provenance to show users exactly where validation failed - Store nested configuration hierarchies (dicts and lists) without committing to a rigid schema or type system upfront - Extend config file semantics with custom pragma handlers for domain-specific directives - Replace hand-rolled INI or simple text parsers in existing Python projects with a standardized, well-tested format ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Perky parses a minimal, human-friendly text file format for configuration and data, returning dicts, lists, and strings with optional provenance tracking via the big library. Yes. Perky is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a real problem—config file parsing—with a genuinely different philosophy (explicit type handling, provenance tracking). It's suitable for projects that value human-readable config and precise error reporting. Start with it if you're tired of JSON's noise or TOML's complexity and want strings with location metadata. Not a fit if you need automatic type coercion or a mature ecosystem of tooling. ## Install pip install perky uv add perky poetry add perky ## Installing perky Before you install: Low install friction; pure Python wheel. Active maintenance with recent release (29 days old). Single runtime dependency on big. License in practice: MIT license (permissive); no restrictions on use, modification, or distribution in proprietary or open-source projects. Quickstart: pip install perky import perky config = perky.load('config.pky') value = config['key'] Verify before relying: - Whether big.string provenance tracking adds meaningful overhead for large config files - Performance characteristics compared to standard JSON or TOML parsers on typical workloads - Stability guarantees before 1.0 release (deprecated transformation submodule removal timeline) ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 166.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags config file format parser, rcfile alternative to ini toml json, human readable configuration syntax, lightweight text data format, python config file loader, config-parsing, file-format, error-provenance [View on SkillFed](https://skillfed.io/packages/perky) · [View on PyPI](https://pypi.org/project/perky/)