Skip to content

Releases: PxA-Labs/ReliaDL

v0.2.1 - PyPI Package Namespace Mapping Fix

Choose a tag to compare

@purvanshjoshi purvanshjoshi released this 13 Sep 18:56
7ab851e

ReliaDL v0.2.1 - Package Namespace Fix Release

Release v0.2.1 resolves the PyPI package namespace mapping in pyproject.toml, ensuring import reliadl works directly upon installation via pip install reliadl.


Key Changes & Fixes

  • Package Namespace Mapping:
    • Mapped reliadl namespace in pyproject.toml (tool.setuptools.package-dir) to map reliadl -> src.
    • Configured setuptools to package both reliadl and src top-level modules in the wheel artifact.
    • Ensures import reliadl works out of the box after running pip install reliadl.

Installation

pip install --upgrade reliadl

What's Changed

  • fix(packaging): map reliadl package namespace in pyproject.toml by @purvanshjoshi in #95

Full Changelog: v0.2.0...v0.2.1

v0.2.0 - Telemetry Catalog, HTTP Exporter & Packaging Fixes

Choose a tag to compare

@github-actions github-actions released this 13 Sep 18:17

ReliaDL v0.2.0 - Telemetry & Packaging Enhancement Release

Release v0.2.0 introduces a full Prometheus metrics telemetry subsystem, fixes package data installation for default_config.yaml, ships PEP 561 typing markers (py.typed), and includes 949 passing unit tests.


Key Changes & Features

  • Prometheus Telemetry Catalog (src/telemetry/):
    • Implemented 6 core metric types (Counter, Gauge, Histogram).
    • Native text exposition format generator with cumulative histogram buckets and label escaping.
    • Background HTTP metrics server (MetricsServer) exposing /metrics for Prometheus scrapers.
  • Package Data & PEP 561 Compliance:
    • Relocated default_config.yaml to src/default_config.yaml to ensure installed wheels include default configurations.
    • Added src/py.typed PEP 561 marker so external type checkers (MyPy/Pyright) recognize ReliaDL's type annotations.
    • Declared [tool.setuptools.package-data] in pyproject.toml.
  • CI Workflow Fixes:
    • Fixed YAML parsing condition syntax in .github/workflows/auto_changelog.yml.
    • Fixed action name in .github/workflows/publish.yml to pypa/gh-action-pypi-publish@release/v1.
  • PyPI Trusted Publisher (OIDC):
    • Automated deployment pipeline publishing reliadl 0.2.0 to PyPI.

Installation

pip install --upgrade reliadl

v0.1.0 - Production-Grade Parallel Download Engine & Hashing Core

Choose a tag to compare

@purvanshjoshi purvanshjoshi released this 13 Sep 16:19
9e93162

ReliaDL v0.1.0 - Production Release

Initial official release of ReliaDL: a production-grade, fault-tolerant parallel file download engine featuring SHA-256 cryptographic verification, dynamic chunk planning, corporate proxy tunneling, async bandwidth rate limiting, and Prometheus metrics telemetry.


Core Architecture & Features

  • Per-Chunk Cryptographic Hashing: Per-chunk SHA-256 validation ensuring zero data corruption during parallel streaming.
  • Proxy Tunneling Adapter: Support for SOCKS5 (RFC 1928 / 1929) and HTTP CONNECT proxy tunneling (src/adapters/proxy_adapter.py) with strict destination TLS verification.
  • Async Token Bucket Rate Limiter: Single-threaded reservation pacing (src/rate_limiter.py) providing throughput clamping accuracy within +/-0.3% error bounds.
  • Prometheus Telemetry Catalog: Full exposition text parser and HTTP metrics server (src/telemetry/) for scrapers.
  • Resilience & Mirror Management: Automatic mirror fallback, retry backoff strategies, and sparse file writing.
  • PyPI & OIDC Packaging: PEP 517/518 packaging configuration (pyproject.toml) and automated OpenID Connect trusted publishing pipeline.

Installation

pip install reliadl

What's Changed

  • chore: switch license to Apache 2.0 by @purvanshjoshi in #1
  • docs: polish README to enterprise technical standard by @purvanshjoshi in #2
  • chore: set @purvanshjoshi and @archittmittal as codeowners by @purvanshjoshi in #3
  • Research Refactor: ReliaDL Documentation & Novel Algorithms by @purvanshjoshi in #48
  • docs(specs): verify documentation and add manifest, cloud, and observability specifications by @archittmittal in #4
  • docs(readme): add OpenSSF Scorecard badges and security compliance card by @archittmittal in #5
  • docs: add Mermaid architectural and algorithmic diagrams for research paper by @archittmittal in #49
  • feat(core): implement core domain dataclasses and type definitions by @archittmittal in #50
  • feat(core): implement structured custom exception taxonomy and error models by @archittmittal in #51
  • feat(core): implement YAML configuration parser with environment overrides by @archittmittal in #52
  • feat(core): implement structlog structured JSON logging with credential redaction by @archittmittal in #53
  • feat(storage): implement streaming SHA-256 verifier with constant-time comparison by @archittmittal in #54
  • feat(storage): implement crash-resilient atomic state manager with fsync protocol by @archittmittal in #55
  • feat(storage): implement sequential chunk file assembler and integrity re-verifier by @archittmittal in #56
  • feat(storage): implement zero-assembly direct sparse file pre-allocation and positional writer by @archittmittal in #57
  • feat(manifest): implement .cgmanifest JSON schema parser, validator, and model bindings by @archittmittal in #58
  • feat(manifest): implement Ed25519 and RSA-PSS cryptographic manifest signing and verification by @archittmittal in #59
  • feat(manifest): implement binary Merkle tree engine and 64KB sub-block streaming verification by @archittmittal in #60
  • feat(algo): implement real-time network metrics collector and EWMA estimators for RTT and throughput by @archittmittal in #61
  • feat(algo): implement BL-DCS closed-loop chunk sizing mathematical controller by @archittmittal in #62
  • feat(algo): implement dynamic chunk boundary planner with in-flight chunk generation by @archittmittal in #63
  • feat(adapters): implement AWS S3 SigV4 authenticated range request adapter by @archittmittal in #70
  • feat(adapters): implement Google Cloud Storage and Azure Blob Storage range adapters by @archittmittal in #71
  • feat(algo): implement Chase-Lev lock-free double-ended worker task deques by @archittmittal in #64
  • feat(algo): implement real-time straggler detection monitor with TTC estimation by @archittmittal in #65
  • feat(algo): implement cooperative in-flight byte-range bisection and work-stealing protocol by @archittmittal in #66
  • feat(algo): implement EXP3 probability distribution and exponential weight update engine by @archittmittal in #67
  • feat(algo): implement multi-mirror health checker and normalized throughput reward calculator by @archittmittal in #68
  • feat(algo): implement worker request dispatch pipeline integration for mirror selection by @archittmittal in #69
  • ci: configure professional CI/CD pipeline matrix, release automation, and docs validation by @purvanshjoshi in #72
  • chore: define CODEOWNERS for @purvanshjoshi and @archittmittal by @purvanshjoshi in #75
  • ci: configure CodeQL security analysis and Dependabot automated updates by @purvanshjoshi in #77
  • feat(adapters): implement SOCKS5 and HTTP CONNECT corporate proxy tunneling by @archittmittal in #73
  • feat(engine): implement async token bucket bandwidth rate limiter by @archittmittal in #74
  • chore(deps): update cryptography requirement from >=41.0.0 to >=50.0.1 by @dependabot[bot] in #78
  • chore(deps): update pyyaml requirement from >=6.0 to >=6.0.3 by @dependabot[bot] in #79
  • chore(deps): update jsonschema requirement from >=4.0.0 to >=4.26.0 by @dependabot[bot] in #80
  • chore(deps): update pydantic requirement from >=2.0.0 to >=2.13.5 by @dependabot[bot] in #81
  • chore(deps): update structlog requirement from >=23.0.0 to >=26.1.0 by @dependabot[bot] in #82
  • feat(infra): configure PyPI packaging metadata and automated OIDC publishing workflow by @purvanshjoshi in #89

New Contributors

Full Changelog: https://github.com/PxA-Labs/ReliaDL/commits/v0.1.0