Skip to main content

Modern, type-safe, and extensible library for parsing, transforming, and analyzing HAR (HTTP Archive) files.

Project description

Hario Core — Type-safe HAR Model & Transform

PyPI version Build Status Code style: black codecov

A modern, extensible, and type-safe Python library for parsing, transforming, and analyzing HAR (HTTP Archive) files. Built on Pydantic, Hario-Core provides robust validation, flexible transformation, and easy extension for custom HAR formats.

Features

  • Type-Safe Parsing: Validates HAR files using Pydantic models, catching errors early.
  • Transformers: Apply built-in or custom transformations to each HAR entry (e.g., flattening, normalization).
  • Normalization: Ensures all numeric fields (sizes, timings) are non-negative, so you can safely sum, aggregate, and analyze data without errors from negative values. This is crucial for analytics and reporting.
  • Deterministic & Random IDs: Generate unique or deterministic IDs for each entry. Deterministic IDs ensure that the same request always gets the same ID—useful for deduplication, comparison, and building analytics pipelines.
  • Extensible: Register your own entry models to support browser-specific or proprietary HAR extensions (e.g., Chrome DevTools, Safari).
  • Composable Pipelines: Chain any number of transformers and ID strategies for flexible data processing.

Installation

pip install hario-core

Quickstart

from hario_core import parse, Pipeline, by_field, normalize_sizes, flatten

# Build a processing pipeline: deterministic ID, normalization, flattening
pipeline = Pipeline(
    id_fn=by_field(["request.url", "startedDateTime"]),
    transformers=[normalize_sizes(), flatten()],
)

# Parse your HAR file (from path, bytes, or file-like object)
model = parse("example.har")
result_dict = pipeline.process(model)

for entry in result_dict:
    print(entry["id"], entry["request"]["url"])

Documentation

License

MIT License. See LICENSE.

Supported Python Versions

  • Python 3.10+

Project details


Download files

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

Source Distribution

hario_core-0.3.1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

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

hario_core-0.3.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file hario_core-0.3.1.tar.gz.

File metadata

  • Download URL: hario_core-0.3.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.18 Darwin/23.6.0

File hashes

Hashes for hario_core-0.3.1.tar.gz
Algorithm Hash digest
SHA256 9660e79b3eb9bb42d65ad210e641e02ce02d2d4fe96c7697fd42bc379a355e1f
MD5 cfdfe473c547dd50bfa94d739734462a
BLAKE2b-256 6657ab5dfabcfee4e63d3e4b0477c378012383250ff1a4a5ff9bfba483ac35ac

See more details on using hashes here.

File details

Details for the file hario_core-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: hario_core-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.18 Darwin/23.6.0

File hashes

Hashes for hario_core-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5fbf9b1588e2a5eb3f7c224664860577d335a5e9c802d9a7b9b9b47f5c444d21
MD5 6ee92de41e2282e2664d9e452b396e4f
BLAKE2b-256 f0c019a1305590243524e75c135567de996f7bd7c67ad4acdaa664e44b18cedc

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