syntheticcfo - Python client
Generate forensic-grade synthetic ERP data (SAP ECC, SAP S/4HANA, Oracle Cloud) from a script or notebook. Every dataset ships with a complete labelled fraud answer key, articulated financial statements and a reproducibility certificate: the same seed and configuration reproduce the package byte for byte. No language model ever generates the numbers.
The client is one file with no dependencies beyond the standard library. Use it directly:
curl -O https://app.syntheticcfo.com/sdk/syntheticcfo.py
or install it as a package from this directory:
pip install .
Quickstart
Create an API key at https://app.syntheticcfo.com under Account, API access. The key carries your plan and monthly allowance. It cannot manage your account, read your chats or create more keys.
from syntheticcfo import Client
c = Client(api_key="scfo_...") # or set the SCFO_API_KEY env var
print(c.me()["plan"]) # your plan and remaining generations
job = c.generate(
platform="ORACLE", # SAP_ECC | SAP_S4HANA | ORACLE
industry="RETAIL", # TMT PHARMA MANUFACTURING FINANCIAL_SERVICES RETAIL
fraud="high", # none | low | medium | high
rows=600,
modules=["P2P", "O2C"], # subset of P2P O2C CE R2R HR MM FA
jurisdiction="ZA",
seed=42,
wait=True, # poll until the package is built
)
package = job.download("out/") # the four-layer audit package (zip)
lab = job.lab_export("out/") # JSONL tables + answer_key.jsonl + dataset card
print(job.insights()) # what was planted, by control
For model evaluation, add evaluation_mode=True: the shipped database then
withholds the ground-truth marker columns so nothing in the data betrays the
answer key, while the labels still ship separately in 01_Audit_Evidence.
Notes
- Plan limits apply exactly as in the app: over-plan requests are refused with an honest message, and row counts above your plan are clamped with a note in the package, never silently.
- A failed or interrupted generation refunds the metered credit automatically.
- Free-plan datasets and the public sample may not be redistributed, resold, or used to train or evaluate a competing product (see the Terms in the app).
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 syntheticcfo-0.1.0.tar.gz.
File metadata
- Download URL: syntheticcfo-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
803719d571814ef6d96c8a99c3d345e838da522494b94c6cb5685fe2fcf4f485
|
|
| MD5 |
1a202b10865b1cda98c37bc0743f7b36
|
|
| BLAKE2b-256 |
2b135d8f9b8166ab8fa4246c35bb9d8ed5ccce12911e2f528024b3ff3e5ad78b
|
Provenance
The following attestation bundles were made for syntheticcfo-0.1.0.tar.gz:
Publisher:
publish-sdk.yml on syntheticcfo/synthetic-cfo-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
syntheticcfo-0.1.0.tar.gz -
Subject digest:
803719d571814ef6d96c8a99c3d345e838da522494b94c6cb5685fe2fcf4f485 - Sigstore transparency entry: 2581877109
- Sigstore integration time:
-
Permalink:
syntheticcfo/synthetic-cfo-platform@96898b04e0bc3a427837de8cc41fa500d4875702 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/syntheticcfo
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-sdk.yml@96898b04e0bc3a427837de8cc41fa500d4875702 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file syntheticcfo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: syntheticcfo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.7 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 |
3f2553f91661f73e2dcb8f7dc396b5c8f19a7cf43f608208b85601cfc50b23e0
|
|
| MD5 |
86ee18db73980b98253d19123c957b8c
|
|
| BLAKE2b-256 |
203468e82a882bb475be2e262df0e25c7df7f9f62776cb543e9a29983ffabda7
|
Provenance
The following attestation bundles were made for syntheticcfo-0.1.0-py3-none-any.whl:
Publisher:
publish-sdk.yml on syntheticcfo/synthetic-cfo-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
syntheticcfo-0.1.0-py3-none-any.whl -
Subject digest:
3f2553f91661f73e2dcb8f7dc396b5c8f19a7cf43f608208b85601cfc50b23e0 - Sigstore transparency entry: 2581877121
- Sigstore integration time:
-
Permalink:
syntheticcfo/synthetic-cfo-platform@96898b04e0bc3a427837de8cc41fa500d4875702 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/syntheticcfo
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-sdk.yml@96898b04e0bc3a427837de8cc41fa500d4875702 -
Trigger Event:
workflow_dispatch
-
Statement type: