Skip to content

Releases: Cerberus-Soluciones/cerberus-sdk-python

v0.1.0-rc1 — first release candidate

Pre-release

Choose a tag to compare

@l0rdbarcsacs l0rdbarcsacs released this 24 Apr 02:56
39164ec

cerberus-compliance v0.1.0-rc1

First release candidate of the official Python SDK for the Cerberus Compliance API (Chile RegTech).

Built in parallel across 4 Claude Code instances (foundation A + resources B + resources C + DX D), plus a 3-auditor review pass and a consolidated post-audit hardening PR, in a single session.

Install (pre-release)

Once the TEST_PYPI_API_TOKEN GitHub Actions secret is configured and the release workflow is re-run:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ cerberus-compliance==0.1.0

In the meantime, install directly from the wheel attached to this release:

pip install https://github.com/l0rdbarcsacs/cerberus-sdk-python/releases/download/v0.1.0-rc1/cerberus_compliance-0.1.0-py3-none-any.whl

What ships

  • CerberusClient / AsyncCerberusClient — sync + async mirror.
  • CerberusAPIError hierarchy with RFC 7807 parsing.
  • RetryConfig with exponential backoff + jitter, Retry-After honoring.
  • ApiKeyAuth (Bearer, CERBERUS_API_KEY env fallback).
  • Six typed sub-resources: entities, persons, material_events, sanctions, registries, regulations.
  • Three CLI examples + one Jupyter notebook.
  • Four Mintlify-ready docs guides (quickstart, auth, errors, pagination).

Gates on this tag

  • 349 tests passing (pytest on Python 3.10 / 3.11 / 3.12).
  • 99.88% branch coverage (project floor: 95%).
  • ruff check + ruff format --check + mypy --strict — all clean.

Security

  • BaseResource._get / AsyncBaseResource._get percent-encode identifiers with urllib.parse.quote(safe=""). Raw "../admin" can no longer escape the sub-resource prefix.

Behavior notes

  • material_events rejects naive datetime filters with ValueError — all timestamps crossing the API boundary must be timezone-aware (America/Santiago or UTC).

Follow-ups tracked as issues

  • #5 RUT module-11 check-digit validation
  • #6 sort / offset / since / until on remaining listing endpoints
  • #7 422 Unprocessable Entity test coverage across all six resource suites
  • #8 Unify private _build_params / _normalise_filters / _drop_none helpers
  • #9 Port examples/webhook_handler.py to the FastAPI lifespan= pattern

Operator note

The Release workflow ran this tag and successfully built + metadata-checked the wheel and sdist; the Upload to TestPyPI step failed with 403 Forbidden because the repository secret TEST_PYPI_API_TOKEN is not yet configured. Configure it in Settings → Secrets and variables → Actions and re-run the workflow (gh run rerun 24869794132 --failed) to publish to TestPyPI.