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 ADDED
@@ -0,0 +1,6 @@
1
+ """MFX client library — the only way a tenant talks to MFX (MFX-CLAUDE §9.6).
2
+
3
+ Execution methods never raise across the boundary; read methods raise the typed hierarchy.
4
+ """
5
+
6
+ __version__ = "0.1.0"
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,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.3
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any