SeqPulse SDK for metrics endpoint instrumentation and HMAC validation
Project description
seqpulse (Python SDK)
SeqPulse Python SDK couvre deux usages:
- Runtime application: instrumentation HTTP + endpoint metrics + validation HMAC v2
- CI/CD integration: client
trigger/finishpour orchestrer un deployment SeqPulse
Install
pip install seqpulse
Runtime (FastAPI)
from fastapi import FastAPI
from seqpulse import SeqPulse
app = FastAPI()
seqpulse = SeqPulse(
endpoint="/seqpulse-metrics",
hmac_enabled=True,
hmac_secret="hmac_xxx",
)
# Note: hmac_enabled accepte aussi des strings ("true"/"false").
app.middleware("http")(seqpulse.middleware())
GET /seqpulse-metrics returns:
{
"metrics": {
"requests_per_sec": 0.25,
"latency_p95": 31.221,
"error_rate": 0,
"cpu_usage": 0.42,
"memory_usage": 0.18
}
}
CI/CD client (trigger/finish)
from seqpulse import create_ci_client
client = create_ci_client(
base_url="https://api.seqpulse.dev",
api_key="sp_xxx",
metrics_endpoint="https://your-app.example.com/seqpulse-metrics",
env="prod",
non_blocking=True,
)
trigger = client.trigger(branch="main")
# Deploy your app here...
deploy_succeeded = True
if trigger.get("ok") and trigger.get("deployment_id"):
client.finish(
deployment_id=trigger["deployment_id"],
result="success" if deploy_succeeded else "failed",
)
CI behavior
non_blocking=True(default): retourne un resultat skipped/error, sans lever d'exception.non_blocking=False: leve une exception sur erreur API/config.- helpers inclus:
build_ci_idempotency_key(),infer_result_from_pipeline_status().
Compatibility note
Cette evolution n'ecrase pas le SDK runtime actuel:
- l'endpoint
/seqpulse-metricsreste le meme - la logique HMAC runtime reste la meme
- le client CI est ajoute en couche supplementaire
Local smoke test
python scripts/smoke.py
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
seqpulse-0.4.1.tar.gz
(8.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seqpulse-0.4.1.tar.gz.
File metadata
- Download URL: seqpulse-0.4.1.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ef098a4ec6f732620473c2ed2b85605339a96ebd77eaf046083f0101ba98d1b
|
|
| MD5 |
1dcf4a62816827213b99676726fa85a1
|
|
| BLAKE2b-256 |
ddeeaa9d6e2eb19f3c421890c10742112dda376db4e6a001229471548208726c
|
File details
Details for the file seqpulse-0.4.1-py3-none-any.whl.
File metadata
- Download URL: seqpulse-0.4.1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48a8c170cf0ad2f2974ef59f51378dc11aede9a685fde2cac865e3713a2e2406
|
|
| MD5 |
da1cd8e80cee81056244d6d52eadafe6
|
|
| BLAKE2b-256 |
74a2283720897403c6f4204948928d1007d83f677f570d95e15deaeab60c6077
|