EPS Python SDK
Backend-only Python client for Eko Platform Services APIs — DMT, AePS, BBPS, KYC and verification — with HMAC request signing built in.
pip install eps-sdk
from eps_sdk import EpsClient
client = EpsClient(
developer_key="<your_developer_key>",
access_key="<your_access_key>",
environment="sandbox", # or "production"
initiator_id="9962981729", # registered mobile of the API user
user_code="20810200", # retailer/agent code
)
sender = client.call("dmt-get-sender", {"customer_id": "9123456789"})
One generic call(slug, params) covers every endpoint. The slug list, each
endpoint's params and which of them are required all come from the same
generated API surface the docs are built from, so the client validates your
input before it signs and sends anything.
Backend only
access_key signs every request. Never run this in anything a browser can
reach — a leaked access key lets anyone transact as you.
What it does for you
- Signs the request —
secret-key,secret-key-timestampanddeveloper_keyheaders on every call. - Validates first — missing required params and wrong types raise
EpsErrorbefore a request goes out. - Routes the params — path tokens, query string, JSON body, or
multipart/form-datafor file-upload endpoints, per the endpoint's spec. - Fails loudly — a non-2xx response raises
EpsHttpError(with the decoded envelope on.body); a non-JSON body raises rather than returning{}.
Files can be a path or an in-memory pair:
client.call("activate-aeps-fingpay", {
"pan_card": "/path/to/pan.jpg",
"aadhar_front": ("aadhar.jpg", image_bytes),
# ...
})
Zero dependencies
Standard library only (urllib, hmac, json). Nothing to keep patched.
Development
The runtime asset data/sdk-surface.json is generated from the API specs, not
committed. From the repo root:
npm run build # bakes data/sdk-surface.json
cd packages/sdk-python
PYTHONPATH=src python3 -m unittest discover -s tests
The test suite is the cross-language conformance suite described in
docs/sdk-golden-vector.md — the same cases the Node.js and PHP SDKs must pass.
MIT licensed.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 eps_sdk-1.0.0.tar.gz.
File metadata
- Download URL: eps_sdk-1.0.0.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bc360c48f6214ec836614c6bd7ae1f4059f237bd987647b189b1dd819d70cd7
|
|
| MD5 |
0928b43b2b23b8251e6aef6e88569595
|
|
| BLAKE2b-256 |
ae5ecce59d6e39b952bd4d755011c53df23bb86ab0ea65bfa6da327c46f15c7d
|
Provenance
The following attestation bundles were made for eps_sdk-1.0.0.tar.gz:
Publisher:
release.yml on ekoindia/eps-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eps_sdk-1.0.0.tar.gz -
Subject digest:
8bc360c48f6214ec836614c6bd7ae1f4059f237bd987647b189b1dd819d70cd7 - Sigstore transparency entry: 2673544587
- Sigstore integration time:
-
Permalink:
ekoindia/eps-platform@1b6fc849b948172657cb013b979ae0c5563fac19 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ekoindia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b6fc849b948172657cb013b979ae0c5563fac19 -
Trigger Event:
push
-
Statement type:
File details
Details for the file eps_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: eps_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e5e7fb0793dfb6d736ca6b54fd7d90bb2b92fdf8352e9e6bd55fc9c4dc715db
|
|
| MD5 |
6e998e27e892c78b2af118576cee1767
|
|
| BLAKE2b-256 |
e4908881a1184c58c70dc9c098d69384f4f065b4a52fc5bf3be649ea93a76f8a
|
Provenance
The following attestation bundles were made for eps_sdk-1.0.0-py3-none-any.whl:
Publisher:
release.yml on ekoindia/eps-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eps_sdk-1.0.0-py3-none-any.whl -
Subject digest:
4e5e7fb0793dfb6d736ca6b54fd7d90bb2b92fdf8352e9e6bd55fc9c4dc715db - Sigstore transparency entry: 2673544624
- Sigstore integration time:
-
Permalink:
ekoindia/eps-platform@1b6fc849b948172657cb013b979ae0c5563fac19 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ekoindia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b6fc849b948172657cb013b979ae0c5563fac19 -
Trigger Event:
push
-
Statement type: