mxm-types 0.2.1__tar.gz → 0.3.0__tar.gz
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.
- {mxm_types-0.2.1 → mxm_types-0.3.0}/PKG-INFO +2 -2
- {mxm_types-0.2.1 → mxm_types-0.3.0}/pyproject.toml +2 -2
- {mxm_types-0.2.1 → mxm_types-0.3.0}/src/mxm/types/__init__.py +24 -3
- mxm_types-0.3.0/src/mxm/types/runtime_identity.py +17 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/LICENSE +0 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/README.md +0 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/src/mxm/types/general.py +0 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/src/mxm/types/pandas_timestamps.py +0 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/src/mxm/types/py.typed +0 -0
- {mxm_types-0.2.1 → mxm_types-0.3.0}/src/mxm/types/timestamps.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mxm-types
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Shared foundational types and representation adapters for Money Ex Machina.
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
17
17
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
18
18
|
Classifier: Typing :: Typed
|
|
19
19
|
Requires-Dist: numpy (>=2.4.4,<3.0.0)
|
|
20
|
-
Requires-Dist: pandas (>=3.
|
|
20
|
+
Requires-Dist: pandas (>=2.3.3,<4.0.0)
|
|
21
21
|
Project-URL: Homepage, https://github.com/moneyexmachina/mxm-types
|
|
22
22
|
Project-URL: Issues, https://github.com/moneyexmachina/mxm-types/issues
|
|
23
23
|
Project-URL: Repository, https://github.com/moneyexmachina/mxm-types
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "mxm-types"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.3.0"
|
|
4
4
|
description = "Shared foundational types and representation adapters for Money Ex Machina."
|
|
5
5
|
authors = ["mxm <contact@moneyexmachina.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -37,7 +37,7 @@ include = [
|
|
|
37
37
|
[tool.poetry.dependencies]
|
|
38
38
|
python = ">=3.13,<3.15"
|
|
39
39
|
numpy = "^2.4.4"
|
|
40
|
-
pandas = "
|
|
40
|
+
pandas = ">=2.3.3,<4.0.0"
|
|
41
41
|
|
|
42
42
|
[tool.poetry.group.dev.dependencies]
|
|
43
43
|
ruff = "^0.14.3"
|
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Shared foundational types and
|
|
2
|
+
Shared foundational types and vocabulary for Money Ex Machina.
|
|
3
3
|
|
|
4
4
|
This package provides:
|
|
5
5
|
|
|
6
6
|
- general shared aliases and micro-protocols
|
|
7
7
|
- the canonical MXM timestamp substrate
|
|
8
8
|
- explicit pandas boundary adapters for the canonical timestamp model
|
|
9
|
+
- shared runtime and infrastructure vocabulary
|
|
9
10
|
|
|
10
|
-
The package is intentionally small, stable, and
|
|
11
|
-
|
|
11
|
+
The package is intentionally small, stable, and dependency-light.
|
|
12
|
+
|
|
13
|
+
mxm-types owns common representations and cross-package concepts that
|
|
14
|
+
must be shared consistently throughout the MXM ecosystem.
|
|
15
|
+
|
|
16
|
+
Business logic, storage adapters, configuration resolution, secret
|
|
17
|
+
management, and runtime construction belong elsewhere.
|
|
12
18
|
"""
|
|
13
19
|
|
|
14
20
|
from __future__ import annotations
|
|
15
21
|
|
|
22
|
+
from mxm.types.runtime_identity import (
|
|
23
|
+
AppId,
|
|
24
|
+
Environment,
|
|
25
|
+
MachineId,
|
|
26
|
+
RuntimeIdentity,
|
|
27
|
+
RuntimeRole,
|
|
28
|
+
RuntimeSubstrate,
|
|
29
|
+
)
|
|
30
|
+
|
|
16
31
|
from .general import (
|
|
17
32
|
CLIFormatOptions,
|
|
18
33
|
HeadersLike,
|
|
@@ -62,7 +77,9 @@ __all__ = [
|
|
|
62
77
|
"INT64_DTYPE",
|
|
63
78
|
"NAT_TS_NS",
|
|
64
79
|
"TS_NS_DTYPE",
|
|
80
|
+
"AppId",
|
|
65
81
|
"CLIFormatOptions",
|
|
82
|
+
"Environment",
|
|
66
83
|
"HeadersLike",
|
|
67
84
|
"Int64Array",
|
|
68
85
|
"JSONLike",
|
|
@@ -71,6 +88,10 @@ __all__ = [
|
|
|
71
88
|
"JSONScalar",
|
|
72
89
|
"JSONValue",
|
|
73
90
|
"KVReadable",
|
|
91
|
+
"MachineId",
|
|
92
|
+
"RuntimeIdentity",
|
|
93
|
+
"RuntimeRole",
|
|
94
|
+
"RuntimeSubstrate",
|
|
74
95
|
"StrPath",
|
|
75
96
|
"TSNSArray",
|
|
76
97
|
"TSNSScalar",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import NewType
|
|
3
|
+
|
|
4
|
+
AppId = NewType("AppId", str)
|
|
5
|
+
Environment = NewType("Environment", str)
|
|
6
|
+
MachineId = NewType("MachineId", str)
|
|
7
|
+
RuntimeSubstrate = NewType("RuntimeSubstrate", str)
|
|
8
|
+
RuntimeRole = NewType("RuntimeRole", str)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass(frozen=True, slots=True)
|
|
12
|
+
class RuntimeIdentity:
|
|
13
|
+
app: AppId
|
|
14
|
+
environment: Environment
|
|
15
|
+
machine: MachineId
|
|
16
|
+
substrate: RuntimeSubstrate
|
|
17
|
+
role: RuntimeRole
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|