Skip to main content

PyO3 bindings for formatparse

Project description

formatparse

PyPI version Python 3.8+ License: MIT Rust Documentation

A high-performance, Rust-backed implementation of the parse library for Python. formatparse provides the same API as the original parse library but with significant performance improvements (up to 80x faster) thanks to Rust's zero-cost abstractions and optimized regex engine.

📖 Documentation

Full documentation is available at https://formatparse.readthedocs.io/

The documentation includes:

  • Getting Started Guide - Quick introduction and basic usage
  • User Guides - Comprehensive guides on patterns, datetime parsing, custom types, and bidirectional patterns
  • API Reference - Complete API documentation for all functions and classes
  • Examples & Cookbook - Practical examples and common use cases
  • Changelog - Release history in CHANGELOG.md in the repository

Features

  • 🚀 Blazing Fast: Up to 80x faster than the original Python implementation
  • 🔄 Drop-in Replacement: Compatible API with the original parse library
  • 🎯 Type-Safe: Rust backend ensures reliability and correctness
  • 🔍 Advanced Pattern Matching: Support for named fields, positional fields, and custom types
  • 📅 DateTime Parsing: Built-in support for various datetime formats (ISO 8601, RFC 2822, HTTP dates, etc.)
  • 🎨 Flexible: Case-sensitive and case-insensitive matching options
  • 💾 Optimized: Pattern caching, lazy evaluation, and batch operations for maximum performance

Installation

From PyPI

pip install formatparse

From Source

# Clone the repository
git clone https://github.com/eddiethedean/formatparse.git
cd formatparse

# Install maturin (build tool)
pip install "maturin>=1.13.3,<2.0"

# Build and install in development mode
maturin develop --manifest-path formatparse-pyo3/Cargo.toml --release

Quick Start

from formatparse import parse, search, findall

# Basic parsing with named fields
result = parse("{name}: {age:d}", "Alice: 30")
print(result.named['name'])  # 'Alice'
print(result.named['age'])   # 30

# Search for patterns in text
result = search("age: {age:d}", "Name: Alice, age: 30, City: NYC")
if result:
    print(result.named['age'])  # 30

# Find all matches
results = findall("ID:{id:d}", "ID:1 ID:2 ID:3")
for result in results:
    print(result.named['id'])
# Output: 1, 2, 3

For more examples and detailed usage, see the documentation.

Malformed patterns: parse vs compile

For some invalid patterns (for example a missing } after a field), parse returns None while compile raises PatternParseMismatch, a subclass of ValueError. Other syntax errors may still raise plain ValueError from both APIs. This matches the behavior of the original parse package.

Custom types (extra_types)

Map format-specifier names in your pattern to Python callables with the @with_pattern decorator. The type name after the colon in the field (for example Number in {:Number}) must match a key in the extra_types dict.

from formatparse import parse, with_pattern

@with_pattern(r"\d+")
def parse_int(text: str) -> int:
    return int(text)

result = parse("n={:Number}", "n=42", extra_types={"Number": parse_int})
assert result.fixed[0] == 42

If your regex uses capturing parentheses, set regex_group_count on @with_pattern so the engine can align groups correctly. Full examples, search / findall usage, and pitfalls are in the Custom types user guide.

Caching: parse, search, findall, and compile share an internal LRU cache keyed by the pattern string and a fingerprint of extra_types (each converter’s pattern and regex_group_count). Two dicts with the same keys and equivalent converters reuse the same compiled regex; changing a converter’s pattern without changing the dict identity can still reuse a stale cache entry—use a fresh dict or restart the process if you change patterns at runtime. See issue #29.

Pickling: A pickled FormatParser stores only the pattern string. After pickle.loads, pass extra_types again when calling parse / search / findall if your pattern uses custom types.

Performance

formatparse is significantly faster than the original Python parse library, with speedups ranging from 3x to 80x depending on the use case. The Rust backend provides:

  • Pattern caching to eliminate regex compilation overhead
  • Optimized type conversion paths for common types
  • Efficient memory management with pre-allocated data structures
  • Reduced Python GIL overhead through batched operations

For detailed benchmark results and performance analysis, see the documentation.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

For detailed contribution guidelines, including testing requirements and development setup, see CONTRIBUTING.md.

Testing

The project includes comprehensive test coverage:

  • Unit tests: 691 Python tests collected (pytest tests/ --collect-only) and 133 Rust tests (cargo test --workspace, formatparse-core + formatparse-pyo3)
  • Property-based tests: Hypothesis in tests/test_property.py and tests/test_fuzz.py
  • Performance Benchmarks: Automated regression testing
  • Stress Tests: Large input and scalability testing
  • Fuzz Tests: Crash-free input testing
  • Coverage: >90% code coverage target

Run tests with:

# All tests
pytest tests/

# With coverage
pytest tests/ --cov=formatparse --cov-report=html

# Benchmarks
pytest tests/test_performance.py --benchmark-only

See CONTRIBUTING.md for more testing information.

License

MIT License - see LICENSE file for details

Credits

Based on the parse library by Richard Jones.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

formatparse_pyo3-0.8.0-cp314-cp314-win_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows ARM64

formatparse_pyo3-0.8.0-cp314-cp314-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.14Windows x86-64

formatparse_pyo3-0.8.0-cp314-cp314-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp314-cp314-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp313-cp313-win_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows ARM64

formatparse_pyo3-0.8.0-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

formatparse_pyo3-0.8.0-cp313-cp313-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp312-cp312-win_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows ARM64

formatparse_pyo3-0.8.0-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

formatparse_pyo3-0.8.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp311-cp311-win_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows ARM64

formatparse_pyo3-0.8.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

formatparse_pyo3-0.8.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

formatparse_pyo3-0.8.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

formatparse_pyo3-0.8.0-cp39-cp39-manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

formatparse_pyo3-0.8.0-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

formatparse_pyo3-0.8.0-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8Windows x86-64

formatparse_pyo3-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

formatparse_pyo3-0.8.0-cp38-cp38-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

formatparse_pyo3-0.8.0-cp38-cp38-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file formatparse_pyo3-0.8.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 a2099978b0243eebd84a45c86f58580725961796cd2b3cd80991212794294906
MD5 ee927f0be927b2d3fa63ef957ba67f35
BLAKE2b-256 85baf35a75d6e307a3c635f5aa3c0c8954ab3c0ece17c7cd76a7dff44ba6f7e9

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c58a456b9ede3ef71d6151befdd80f2055772cb008721fca7e57c41ee5a4639d
MD5 a2d4275fe3f255b81312d68b2e776190
BLAKE2b-256 e5082f967130892e97ecd0b6a958e43783947a6742bf6126560305aa2d2ad612

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac2e5a4d0a5db0b14e086d8348fb954391164346b1c97c406eba009eea60e653
MD5 cb0c2445b0b4cc2c66d065fe957c9fe4
BLAKE2b-256 b1d9e534b472f3964a156f57cf27f6830350d1d12fa43ad67b791dd4e7799275

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb37f7853fab5a21ef21b117ed5f4230f90398c66c76341b752d1816e7abed2f
MD5 e6429b34135c89a0a5074b7229db7043
BLAKE2b-256 3daf17e7d8918f9b1071f6d2e2b5255ac2fc581975358cb6cdba7bf7f241cebf

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6612e86624ffb2ea3e1367fa4ea94b996692e45a1345ddb7fc2003e446c32a1a
MD5 c037726b771256c5b356967731bfd752
BLAKE2b-256 d810de61e47a5c85420017c9aebbe88197a919e586435c4046c5240201c77aa8

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 52e7c1e238b090b27558295754f8f5541aa588066816db0de9346b4adc400428
MD5 728fc0aac7d7b983d201def6546326c4
BLAKE2b-256 aade512d323c9ae964e5958918bee2c59dfd810e4cfa22f89af20542a15c93ce

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9dd10b32c8011e3cbcb0750e4e1b7236089d4c2b3615af206c9972e52d649b0d
MD5 b3a00de5eb9837d1224491e924d97cd6
BLAKE2b-256 843a0ed37db4f392b3cff7a532e19bc3b377d6f1a7422e3b75a5d7dcdc7947eb

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52fc80fa90cb3d252a6cfe4545b77f35556729f543bd988e318660845e5d2fa7
MD5 646db4c0fae02b3ec4d8862e10018ad1
BLAKE2b-256 191a02249d84ef8481b5181d655ee2fb18ab30d251be674f2c7690902d337854

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ceb9376c8e92e84017e06008f205e793351d23d5bb953c5ee337e3ca666c66fe
MD5 f471563b0bab57f6df58ec9cf8cfc5af
BLAKE2b-256 648fbcc54b98fe90cf3bcd08cacc4a8c05eedc4c91ccf3976e28e3145dffd374

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7fc9d06a1abe82f140d728a95a2cc67f44d636d1e5bd1e33f54c9f8966196fda
MD5 c7edad8208407d81759f211714a01cb4
BLAKE2b-256 6da0af0aa90620174ce2337f999859a56930079325a83467976ce9639f378d43

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 b30a692baff4cd926a103a3a3f58691f31c5d5c32b686adcd0080494d220a2fa
MD5 7428230ba36348300a6de4ddcee7da5e
BLAKE2b-256 307be481aa3e3290b70f432c30bb3abd9ca7d1f1ac8928a7f3a849079b0c5e68

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5fff05ad3bf3da82281af4f9eec94b3f5e5e0e4f83e565fdcdfebc1b5f1af5be
MD5 4f8636f8e0bfb3d3231f94297553d49a
BLAKE2b-256 724236b376609ca452622728da16939aefd66cc171da4c5079ebaa611381079e

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13bcf1978fffe59fdf43cff12ef0f750eac5e7d01948dde17901b958bd0f6365
MD5 483d802e597ca489bebb348e4ee8b488
BLAKE2b-256 8fc845af88df50b8420ede1db33f1860f12cf4cb80fc92bb0cdc3fce77e13e16

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 084dcf356f21d2161ca1e34b696741320ae780859ec80472791c0cd47879f8ad
MD5 a76b6aacca042233508fb6880b4cf6ef
BLAKE2b-256 40ef8fb71130e925a1585780674bf8f7f303cbb7954b8bfe7abb03b6f266a857

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 da613edd09d5bae3dceb8b55e3204f1131b7237749be19653322d498b3f79f8f
MD5 4ba90daf51ccfecc10fed1175633953b
BLAKE2b-256 44ac1722c03bc9c278e99ba6af96544851a1fbb24ace1bb005d1f068226c7d42

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 6a99711efcfa5d4c9d52c53528984312cade27ddfb54d87522fb100b73f70abc
MD5 c24bf403e98d7cb21dcb1f8acea83475
BLAKE2b-256 e7ef4d8cbfe75db1b4dcf469154d945faab9e412c31a0f2288884aefbe2df7ae

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5866de5c7d26ca5e0ae0f920bbc8d53e48bee0ab8f6e6b779d5a262af76dee6b
MD5 612051ae6f2503c115883355be9ee903
BLAKE2b-256 c2cc109ee242804fffeae9e4285adfb132322cdb6493ea9574cd9b915f4d286f

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5de479873bd46d191bbb446e4793147820b91103723990bd555bab524a2b791f
MD5 49befa58061ef8057152baf8630a3245
BLAKE2b-256 8a94ab416bc960cabd36f7b0d1dfb44a74036afb8fa93af5b854b107a5507e65

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75c4c0966103307ba229d6a343a2ff3a1e4c0cc93f2833a67b74b1eb2a840616
MD5 bf0127f7161982cf0eef658b6f64e3e6
BLAKE2b-256 21ec17f1fae4ba6d674eebd1a206295253c87181ffc180404f0f31ebc7500e39

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 058f5639506313283b058717671b7f5e64e97224a6571a0a6ffe295fe292d67a
MD5 5981fb52341cffea7ddc549d599a8514
BLAKE2b-256 e35b73cdc08cfd693b778fb249a3097ac4d90906da6e3b049992c92dbcc7e5ca

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3c9198befca4be1859c0d1ef66f2a3f32bd219340b8aaeacf5ed618d79bf3470
MD5 def43c2b5e80df156f4439b34c28e286
BLAKE2b-256 fb004d3ab74129799baa75b0efb93862587b0088c9093485d26d4d9ae41b0600

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 edff609b668e0093f3bd8f55744b1672d819c24a9a48aa7455697657a6e85732
MD5 b8102c7d6fc1df1ec0a01269776cd141
BLAKE2b-256 d87cf1271c02ba7494896d1dce876d2635dd524e3279f4fb9be724322c999f3b

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4869dc2b71d4454a280897676e52c73306a44eac5fa6424a2a7b3f04958228ec
MD5 ad90373827cb30c2bb0d1d3b61acf01d
BLAKE2b-256 119630cd40033445379abc331ea0dfc5e28570373dbd6ef3e40db0a74c1586cd

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0114df050a39a859dc87d67baa1bd94ead9e60561073149e3d8fbd1999109638
MD5 892fd689881634a37d61bac82201381c
BLAKE2b-256 d4b54ee7276383ab197957b2674941e0030d38185fd748fe175b92abdf527b1d

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b49fd3a92820956240bcf0eb8b3fdc3180d7531d990d9d4440837a950983f6d3
MD5 12267067992417bdfa5ade783d7466df
BLAKE2b-256 b126e99104557fc026d66e00c26dc1454056b54ea6449cb892ead1b908556474

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3cce437fcced682c57a62541ec846c4de020222761b15b9ab327ee29f4ebba31
MD5 3e0e28d4f4d7c491a00d00ec3db6c74d
BLAKE2b-256 613520c7f07bac5066c25754061fef7053beff4b51a88cea0729f175c7b8b8dd

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ba1f5fb997904436ed360ec652352f6d579bbefc8e08ec18b394ef6c4875ead
MD5 62783ccc24c3642ecd4b0ab67e1ee87a
BLAKE2b-256 881ebf144744436c4ff3cf518869f707181a6f80ed6c5267f8a6e249a6c8a064

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2bf4a2313412a8f425260519a0a99ac119e459382ef404ba43c7424c76ac729b
MD5 ca68a4f5644ceb7853e20edd165ff92b
BLAKE2b-256 cbe11890e70d4dbc8cd525114944ad274625f32a21106c3540c28a9dcc327256

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a794d8279b165a8ebc4b5cdf033ab23c37025f88261673f43852e0f0e59b5f7b
MD5 2985639ebbe520e94a50aa6f0116816a
BLAKE2b-256 3e24e62522eadb5ad6bbcea7c8e5cc6726d7fb5fa23c472f79bc9ad4738701bf

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d57b1aaf9a5e13dad01959f35d76146628139e561e248be7edab6d8356290c4c
MD5 dc36523dc45de796627551df01ae7561
BLAKE2b-256 bbfd3889e1027f6d494f3e3480592658d72c29a559c34a9cd0dc99eccc5a4794

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6eae6867f510eea85aa8fcc387a24588f440fed2be9a49957c3e262650955e18
MD5 41526cec02611852e1c9f2e40781df37
BLAKE2b-256 e8c699714a9946ab2bb0caa30e26f98a31dbc15e4f1e690bad119889c4d5d9a2

See more details on using hashes here.

File details

Details for the file formatparse_pyo3-0.8.0-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for formatparse_pyo3-0.8.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cdec689d15947957e894ba3a1e18b72d874ddc68ad56fac03b07da7cd8107e17
MD5 d5bb9f465825893d2c4b808abdd0f645
BLAKE2b-256 988b3c976cfd503f097f13e89c109cf9ce385e5dddab4d423a852cf4571dadf6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page