This project has been quarantined by PyPI admins. It cannot be installed or modified until a security review is complete.
caracas4check
Python client library for the 4check caracas API — the signature-auth
surface exactly as published to customers at /<customer_id>/doc/openapi.yaml
(source: perl/frontend →
docker/perl-apache/frontend/perl/_templates/doc/openapi.yaml.tpl).
This README is for the infrastructure / release team — the people who build this package and wire it into the deploy. End-user documentation lives in
docs/(built by CI as a MkDocs site and hosted on a separate docs server). Don't put usage docs here.
GitLab
| Project | python3/caracas4check |
project_id |
113 |
| Import name | caracas4check |
| Distribution | caracas4check (wheel caracas4check-<ver>-py3-none-any.whl) |
| Release tag format | 1.1.0 — the tag is exactly pyproject.toml version (e.g. 1.1.0); CI fails the build on a mismatch |
Repo layout
caracas4check/ the package (client, ping, checker, account, errors)
caracas4check/example.py interactive teaching CLI (ships inside the wheel)
tests/ unittest suite (unit + env-gated integration)
docs/ MkDocs source = the END-USER docs (hosted elsewhere)
pyproject.toml name/version/deps + console-script entry point
.gitlab-ci.yml build + publish pipeline
mkdocs.yml docs site config
Runtime dependency: requests[socks] (resolved from PyPI at install time — it is
not vendored). The package also installs a console command
caracas4check-example (entry point caracas4check.example:cli).
Build & publish (CI)
Pipeline runs on a tag 1.1.0. CI checks that the tag equals
pyproject.toml version, then builds and publishes:
- wheel + sdist (
python -m build) → uploaded withtwineto the project's GitLab PyPI registry (.../projects/113/packages/pypi). - Generic package
caracas-release→caracas4check-release/1.1.0with:caracas4check-1.1.0-py3-none-any.whlcaracas4check-1.1.0.tar.gzindex.html(rendered MkDocs landing page)
- A GitLab Release for the tag, with asset links to the three files above.
(test stage runs the unittest suite on main / dev; it needs the env vars
listed under Tests.)
How it reaches the infrastructure
The wheel is not served from this repo. Two downstream repos place and serve it (same pattern as the captcha set):
| Repo | Role |
|---|---|
docker-compose/frontend3 |
Fetches the generic package caracas4check-release from projects/113, pinned by CARACAS4CHECK_VERSION, and rsyncs the wheel + sdist into the openresty volume volumes/frontend-openresty/frontend/pypi/caracas4check/. |
docker/frontend-openresty |
Serves that directory at /pypi/caracas4check/ (nginx autoindex = a pip-readable PEP 503 index). |
End users then install with:
pip install --extra-index-url https://<host>/pypi/ caracas4check
--extra-index-url (not --index-url): our host carries only the caracas4check
wheel; dependencies (requests, …) come from PyPI as usual.
Version coupling:
CARACAS4CHECK_VERSIONindocker-compose/frontend3/.gitlab/images-versions.envmust equal this repo'spyproject.tomlversion— the wheel/sdist filenames derive from it. Bump them in lockstep.
Release procedure
- Bump
versioninpyproject.toml(semver, e.g.1.0.1). - Commit.
git tag 1.1.0(must equal the newversionexactly) and push the tag.- CI builds and publishes (PyPI registry + generic package + release).
- In
docker-compose/frontend3, setCARACAS4CHECK_VERSION="1.1.0"in.gitlab/images-versions.env(and.env.example) and deploy.
Old versions stay published — downstream pins an exact version, so never re-tag a released version with different contents.
Tests
python -m unittest discover -s tests -v
- Unit tests run with no network.
- Integration tests are skipped unless these env vars are set:
CARACAS4CHECK_ENDPOINT— full customer endpoint, e.g.https://<host>/<customer_id>/caracas/CARACAS4CHECK_API_KEY_HEX- optional
SOCKS5H_HOST/SOCKS5H_PORTfor proxied runs
API surface
Signature-auth client mirroring the public customer spec
(/<customer_id>/doc/openapi.yaml) — 1:1, all 8 actions:
ping.pong(),ping.signature_pong()checker.simple(items),checker.authorize(items),checker.results(sig),checker.abort(sig),checker.history(...)account.checks()
Card items support the optional cardholder field (ISO/IEC 7813 Track 1 Name).
For usage, examples and the full reference see docs/.
Release files for caracas4check 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caracas4check-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / caracas4check-1.1.1-py3-none-any.whl
| Download URL | caracas4check-1.1.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85f434209d1aefabf3807363909d8a8918a36acddcbf55a5b3cb415b40ea9ab0
|
|
BLAKE2b-256 checksum How to use checksums |
77a41dd50d83b29a1f863fd58312c5b26f431848d23335f221f09ef867d44b41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|