mfx-sdk 0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mfx/__init__.py +6 -0
- mfx/py.typed +0 -0
- mfx_sdk-0.0.0.dist-info/METADATA +39 -0
- mfx_sdk-0.0.0.dist-info/RECORD +5 -0
- mfx_sdk-0.0.0.dist-info/WHEEL +4 -0
mfx/__init__.py
ADDED
mfx/py.typed
ADDED
|
File without changes
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: mfx-sdk
|
|
3
|
+
Version: 0.0.0
|
|
4
|
+
Summary: Typed client for the MFX API — the only way a tenant talks to MFX (MFX-CLAUDE §9.6)
|
|
5
|
+
License: Proprietary
|
|
6
|
+
Keywords: market-data,mfx,mt5,trading
|
|
7
|
+
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: anyio>=4.6
|
|
9
|
+
Requires-Dist: httpx>=0.28
|
|
10
|
+
Requires-Dist: pydantic>=2.9
|
|
11
|
+
Requires-Dist: structlog>=24.4
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
|
|
14
|
+
# mfx-sdk-python
|
|
15
|
+
|
|
16
|
+
The typed Python client for the MFX v1 API. **This is the contract** — FabricX and every other
|
|
17
|
+
tenant consume MFX only through this library.
|
|
18
|
+
|
|
19
|
+
> **MFX is hard-isolated from FabricX (ADR-02).** No code here imports or references anything
|
|
20
|
+
> named `fabricx*`. FabricX is Tenant 0 and consumes the public API like any other tenant.
|
|
21
|
+
> Governance: [`mfx-docs/MFX-CLAUDE.md`](https://github.com/mfx-platform/mfx-docs/blob/develop/MFX-CLAUDE.md)
|
|
22
|
+
|
|
23
|
+
## Design rules (MFX-CLAUDE.md §9.6 — binding)
|
|
24
|
+
|
|
25
|
+
1. Total coverage of §9.1 — if a tenant needs `httpx` to call MFX, the SDK is incomplete.
|
|
26
|
+
2. **Execution methods never raise.** Transport faults, timeouts and broker rejections are all *results*.
|
|
27
|
+
3. Granular MT5 reasons, not buckets — `{mt5_retcode, retcode_text, reason, comment_raw}`.
|
|
28
|
+
4. Structured JSON logging; credentials unloggable by type.
|
|
29
|
+
5. `idempotency_key` is mandatory on every write — no silent defaults.
|
|
30
|
+
6. `broker_latency_ms` and `agent_latency_ms` reported separately, always.
|
|
31
|
+
7. Pydantic v2, `py.typed`, mypy --strict, generated from `openapi.yaml`.
|
|
32
|
+
8. Async-first; thin sync facade for scripts only.
|
|
33
|
+
9. SDK semver independent of API version.
|
|
34
|
+
10. The conformance suite is the spec.
|
|
35
|
+
|
|
36
|
+
## Completeness gate
|
|
37
|
+
|
|
38
|
+
`MFX-MetaAPI-Consumption-Inventory.md` §2 — every row needs a typed method before G1.
|
|
39
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
mfx/__init__.py,sha256=ivLaJ8a3wBOq0zGbwTiGlIfgYOrTENZ0PslxDUikAfs,200
|
|
2
|
+
mfx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
mfx_sdk-0.0.0.dist-info/METADATA,sha256=sH5Y5sdMSoGj1iyUynezVVhHhPYKzDYvCf7mmSaArto,1712
|
|
4
|
+
mfx_sdk-0.0.0.dist-info/WHEEL,sha256=THafob7ofN-NsuMN7Mg4qZyHaQI7KkD-QlcQatYhXPo,87
|
|
5
|
+
mfx_sdk-0.0.0.dist-info/RECORD,,
|