mxm-refdata 0.3.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.
- mxm/refdata/__init__.py +1 -0
- mxm/refdata/api/__init__.py +1 -0
- mxm/refdata/api/ref_data_api.py +607 -0
- mxm/refdata/cli.py +218 -0
- mxm/refdata/data/first_day_of_interest_rule.json +88 -0
- mxm/refdata/data/futures_products.csv +6 -0
- mxm/refdata/data/last_trading_rule.json +34 -0
- mxm/refdata/database/__init__.py +1 -0
- mxm/refdata/database/sql_session_manager.py +135 -0
- mxm/refdata/mappings/__init__.py +31 -0
- mxm/refdata/mappings/futures_contract_vs_orm.py +51 -0
- mxm/refdata/mappings/futures_product_vs_orm.py +56 -0
- mxm/refdata/mappings/period_cycles_vs_orm.py +102 -0
- mxm/refdata/mappings/period_vs_orm.py +40 -0
- mxm/refdata/models/__init__.py +31 -0
- mxm/refdata/models/contracts/__init__.py +0 -0
- mxm/refdata/models/contracts/futures_contract.py +22 -0
- mxm/refdata/models/currencies.py +24 -0
- mxm/refdata/models/months.py +72 -0
- mxm/refdata/models/orm/__init__.py +16 -0
- mxm/refdata/models/orm/base.py +3 -0
- mxm/refdata/models/orm/futures_contracts.py +53 -0
- mxm/refdata/models/orm/futures_products.py +61 -0
- mxm/refdata/models/orm/period_cycles.py +84 -0
- mxm/refdata/models/orm/periods.py +30 -0
- mxm/refdata/models/period_cycles.py +73 -0
- mxm/refdata/models/periods.py +64 -0
- mxm/refdata/models/products/__init__.py +1 -0
- mxm/refdata/models/products/futures_product.py +38 -0
- mxm/refdata/models/products/settlement.py +10 -0
- mxm/refdata/models/reference_events.py +9 -0
- mxm/refdata/models/units.py +28 -0
- mxm/refdata/models/weekdays.py +66 -0
- mxm/refdata/parsing/__init__.py +1 -0
- mxm/refdata/parsing/futures_products_from_csv.py +76 -0
- mxm/refdata/py.typed +0 -0
- mxm/refdata/scripts/__init__.py +1 -0
- mxm/refdata/scripts/db_utils.py +61 -0
- mxm/refdata/scripts/manage_static_ref_data.py +73 -0
- mxm/refdata/services/__init__.py +0 -0
- mxm/refdata/services/bootstrap.py +84 -0
- mxm/refdata/services/futures_contract_factory.py +127 -0
- mxm/refdata/services/futures_product_factory.py +132 -0
- mxm/refdata/services/period_factory.py +315 -0
- mxm/refdata/services/ref_data_service.py +322 -0
- mxm/refdata/services/smokecheck.py +326 -0
- mxm/refdata/trading_calendars/__init__.py +0 -0
- mxm/refdata/trading_calendars/first_day_of_interest.py +74 -0
- mxm/refdata/trading_calendars/last_trading_day.py +117 -0
- mxm/refdata/trading_calendars/nth_business_day.py +52 -0
- mxm/refdata/trading_calendars/nth_calendar_day_of_period.py +43 -0
- mxm/refdata/trading_calendars/nth_weekday_of_period.py +50 -0
- mxm/refdata/trading_calendars/trading_calendar.py +186 -0
- mxm/refdata/utils/__init__.py +1 -0
- mxm/refdata/utils/cache_manager.py +33 -0
- mxm/refdata/utils/config.py +32 -0
- mxm/refdata/utils/period_types_codec.py +16 -0
- mxm/refdata/utils/regex_patterns.py +18 -0
- mxm/refdata/utils/resources.py +29 -0
- mxm_refdata-0.3.0.dist-info/METADATA +228 -0
- mxm_refdata-0.3.0.dist-info/RECORD +64 -0
- mxm_refdata-0.3.0.dist-info/WHEEL +4 -0
- mxm_refdata-0.3.0.dist-info/entry_points.txt +3 -0
- mxm_refdata-0.3.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mxm-refdata
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Canonical reference data for Money Ex Machina.
|
|
5
|
+
License: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Author: mxm
|
|
8
|
+
Author-email: contact@moneyexmachina.com
|
|
9
|
+
Requires-Python: >=3.13,<4.0
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
+
Requires-Dist: cachetools (>=7.1.1,<8.0.0)
|
|
15
|
+
Requires-Dist: exchange-calendars (>=4.11.1,<5.0.0)
|
|
16
|
+
Requires-Dist: pandas (>=2.3.3,<3.0.0)
|
|
17
|
+
Requires-Dist: pydantic-settings (>=2.14.1,<3.0.0)
|
|
18
|
+
Requires-Dist: rich (>=15.0.0,<16.0.0)
|
|
19
|
+
Requires-Dist: sqlalchemy (>=2.0.43,<3.0.0)
|
|
20
|
+
Requires-Dist: typer (>=0.25.1,<0.26.0)
|
|
21
|
+
Project-URL: Homepage, https://github.com/moneyexmachina/mxm-refdata
|
|
22
|
+
Project-URL: Issues, https://github.com/moneyexmachina/mxm-refdata/issues
|
|
23
|
+
Project-URL: Repository, https://github.com/moneyexmachina/mxm-refdata
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# mxm-refdata
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+

|
|
30
|
+

|
|
31
|
+
[](https://microsoft.github.io/pyright/)
|
|
32
|
+
|
|
33
|
+
Reference data and contract ontology for the Money Ex Machina (MXM) ecosystem.
|
|
34
|
+
|
|
35
|
+
`mxm-refdata` provides canonical, programmatic definitions of financial instruments and trading structures, currently focused on:
|
|
36
|
+
|
|
37
|
+
- futures products,
|
|
38
|
+
- futures contracts,
|
|
39
|
+
- lifecycle rules,
|
|
40
|
+
- trading calendars,
|
|
41
|
+
- periods and period cycles,
|
|
42
|
+
- and deterministic contract generation.
|
|
43
|
+
|
|
44
|
+
The package acts as the ontological reference layer for MXM systems such as `mxm-v1`.
|
|
45
|
+
|
|
46
|
+
## Purpose
|
|
47
|
+
|
|
48
|
+
`mxm-refdata` defines *what financial reference objects exist* and *how they are constructed*.
|
|
49
|
+
|
|
50
|
+
For example, a futures contract such as:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
cme_gbp_futures.Mar-2032
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
is treated as a deterministic construct derived from:
|
|
57
|
+
|
|
58
|
+
- product specifications,
|
|
59
|
+
- listing rules,
|
|
60
|
+
- period systems,
|
|
61
|
+
- and trading-calendar semantics.
|
|
62
|
+
|
|
63
|
+
This allows MXM systems to reason about financial structures independently of any specific market-data provider.
|
|
64
|
+
|
|
65
|
+
`mxm-refdata` therefore models the constructive ontology of financial instruments, while observed prices, trades, quotes, and exchange events belong to the separate market-observation layer (`mxm-marketdata`).
|
|
66
|
+
|
|
67
|
+
## Architecture
|
|
68
|
+
|
|
69
|
+
`mxm-refdata` consists of four main layers:
|
|
70
|
+
|
|
71
|
+
1. **Reference specifications**
|
|
72
|
+
Human-authored product and lifecycle specifications bundled with the package.
|
|
73
|
+
|
|
74
|
+
2. **Deterministic generation**
|
|
75
|
+
Services that construct contracts, periods, lifecycle dates, and calendar relationships.
|
|
76
|
+
|
|
77
|
+
3. **Materialised reference store**
|
|
78
|
+
SQLite database containing generated products, contracts, periods, cycles, and lifecycle state.
|
|
79
|
+
|
|
80
|
+
4. **Query and inspection interfaces**
|
|
81
|
+
Typed Python API and operational CLI.
|
|
82
|
+
|
|
83
|
+
## Installation
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git clone https://github.com/moneyexmachina/mxm-refdata.git
|
|
87
|
+
cd mxm-refdata
|
|
88
|
+
poetry install
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Usage
|
|
92
|
+
|
|
93
|
+
Build the local reference database:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
mxm-refdata build
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Rebuild from scratch:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
mxm-refdata rebuild
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Inspect products:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
mxm-refdata products
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Inspect contract coverage:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
mxm-refdata coverage
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Run operational smoke checks:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
mxm-refdata smokecheck
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Python API
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from datetime import date
|
|
127
|
+
|
|
128
|
+
from mxm.refdata.api.ref_data_api import RefDataAPI
|
|
129
|
+
|
|
130
|
+
api = RefDataAPI()
|
|
131
|
+
|
|
132
|
+
products = api.get_all_products()
|
|
133
|
+
|
|
134
|
+
contracts = api.get_contracts_for_product(
|
|
135
|
+
"comex_gold_futures"
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
active_contracts = api.get_active_contracts(
|
|
139
|
+
as_of_date=date(2026, 5, 1),
|
|
140
|
+
)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Operating Modes
|
|
144
|
+
|
|
145
|
+
### Buildable mode
|
|
146
|
+
|
|
147
|
+
In buildable mode, the reference database is treated as deterministic derived state.
|
|
148
|
+
|
|
149
|
+
If missing or empty, the package may automatically:
|
|
150
|
+
|
|
151
|
+
- create the schema,
|
|
152
|
+
- generate contracts,
|
|
153
|
+
- and materialise the reference universe.
|
|
154
|
+
|
|
155
|
+
This mode supports:
|
|
156
|
+
|
|
157
|
+
- development,
|
|
158
|
+
- CI,
|
|
159
|
+
- local experimentation,
|
|
160
|
+
- and early-stage deployments.
|
|
161
|
+
|
|
162
|
+
### Managed mode
|
|
163
|
+
|
|
164
|
+
Managed mode treats the reference database as governed operational state.
|
|
165
|
+
|
|
166
|
+
Updates occur explicitly through controlled management and reconciliation workflows.
|
|
167
|
+
|
|
168
|
+
## Development
|
|
169
|
+
|
|
170
|
+
`mxm-refdata` is maintained as an `mxm-foundry` compliant package.
|
|
171
|
+
|
|
172
|
+
Primary development gate:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
make check
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Validate repository compliance:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
mxm-foundry check .
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Setup:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
poetry install
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Documentation
|
|
191
|
+
|
|
192
|
+
- `docs/design.md`
|
|
193
|
+
|
|
194
|
+
## Roadmap
|
|
195
|
+
|
|
196
|
+
### v0
|
|
197
|
+
|
|
198
|
+
- Futures product specifications
|
|
199
|
+
- Deterministic futures contract generation
|
|
200
|
+
- Trading calendar integration
|
|
201
|
+
- Period and period-cycle models
|
|
202
|
+
- Materialised SQLite reference store
|
|
203
|
+
- Typed query API
|
|
204
|
+
- Operational CLI and smoke checks
|
|
205
|
+
- `mxm-foundry` compliance
|
|
206
|
+
|
|
207
|
+
### v1
|
|
208
|
+
|
|
209
|
+
- Broader futures product coverage
|
|
210
|
+
- Stronger typed lifecycle-rule models
|
|
211
|
+
- Explicit `TradingCalendarId` abstractions
|
|
212
|
+
- Improved CLI inspection and filtering
|
|
213
|
+
- Clearer ontology boundaries and documentation
|
|
214
|
+
|
|
215
|
+
### v2
|
|
216
|
+
|
|
217
|
+
- ETF and FX product support
|
|
218
|
+
- Managed reference governance
|
|
219
|
+
- Historical exchange rule evolution
|
|
220
|
+
- External reconciliation workflows
|
|
221
|
+
- Expanded multi-venue ontology
|
|
222
|
+
- Integration boundaries with `mxm-marketdata`
|
|
223
|
+
- Integration boundaries with future `mxm-calendar`
|
|
224
|
+
|
|
225
|
+
## License
|
|
226
|
+
|
|
227
|
+
MIT License. See [LICENSE](LICENSE).
|
|
228
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
mxm/refdata/__init__.py,sha256=wJwt_MY4SwmNCetfEEGaObbC5KTTyrA6z6FlN30r_Zw,56
|
|
2
|
+
mxm/refdata/api/__init__.py,sha256=2RrQXV815YAX5hsIFKVBLLDQURar1cFBf1vxs8cxkiA,60
|
|
3
|
+
mxm/refdata/api/ref_data_api.py,sha256=70BbjEXDqk8QLEwb_2cuGDp6qbsv1Ivqjm-ve-eeym8,22021
|
|
4
|
+
mxm/refdata/cli.py,sha256=hGO5vFP0xJUmZ1f0fs_7hNrIXnbungS3uD2ACSPX9lw,6586
|
|
5
|
+
mxm/refdata/data/first_day_of_interest_rule.json,sha256=NDgsMT08AxJhP_lvTo-FKeWDoe8hSM2YzgJgxXVm-3g,1929
|
|
6
|
+
mxm/refdata/data/futures_products.csv,sha256=LE3dZCtWw2Qxum3vFeTken-Y5R3gx5mpkHgPuCGzU-w,2792
|
|
7
|
+
mxm/refdata/data/last_trading_rule.json,sha256=ElEIR6xVdRqXBbxr1SSGVLER2KARwfNrOccwrY4IckY,944
|
|
8
|
+
mxm/refdata/database/__init__.py,sha256=Dt4fslEjG1djbQxEmBOx7DKbcfeyIUCbm5EK1cGnbko,40
|
|
9
|
+
mxm/refdata/database/sql_session_manager.py,sha256=kfIsZP4E-QaS14FaQCqTyIm5XjkC0nukR4_60QsRMxk,4344
|
|
10
|
+
mxm/refdata/mappings/__init__.py,sha256=htjE6ZgOqOC3kP-hd90aqvfhaQ8onIV6RiAJKxHtktc,833
|
|
11
|
+
mxm/refdata/mappings/futures_contract_vs_orm.py,sha256=uOkdYMZM2SljCTf8mNLsQUpetNLG_arJc7hM9DRrceQ,1885
|
|
12
|
+
mxm/refdata/mappings/futures_product_vs_orm.py,sha256=gyxPfaKvjNihPRLHxSdi1Q1Hp4DgO3S1_loMPFjjoi4,2320
|
|
13
|
+
mxm/refdata/mappings/period_cycles_vs_orm.py,sha256=gRiGpPAstEhq05LgUPM_CGDzPzY5YYNRSgRl9bXChi8,3053
|
|
14
|
+
mxm/refdata/mappings/period_vs_orm.py,sha256=Ut_XYb-Wb2RJcF-r0ZKT6tlzwAukzT0IZQNo7I5TSTk,1049
|
|
15
|
+
mxm/refdata/models/__init__.py,sha256=Jag4lLBdAmx5eMdivA4UyviwdFi_I1_Fqm7zkaZbxrg,849
|
|
16
|
+
mxm/refdata/models/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
mxm/refdata/models/contracts/futures_contract.py,sha256=ltDc3u3VknHK4B6fxzzjB4kojETQ0EiWoOdvif1OMfs,868
|
|
18
|
+
mxm/refdata/models/currencies.py,sha256=lxqlv4h9-ZsF7YBoilA780rG834m4--lW7udvzdEfhA,584
|
|
19
|
+
mxm/refdata/models/months.py,sha256=67ojVaXltnwuHEePLqdJO7d2FtDJICOlopcsZK4Ipvk,1680
|
|
20
|
+
mxm/refdata/models/orm/__init__.py,sha256=cecb7mZ3zQ9N_-3YVKGFlE2beHyfZzma_Z40tIaLEE0,407
|
|
21
|
+
mxm/refdata/models/orm/base.py,sha256=kha9xmklzhuQAK8QEkNBn-mAHq8dUKbOM-3abaBpWmQ,71
|
|
22
|
+
mxm/refdata/models/orm/futures_contracts.py,sha256=4soOTxLvWcHu-sDtAUxNc47BgxDXivXtqv7XZb3FvzQ,1721
|
|
23
|
+
mxm/refdata/models/orm/futures_products.py,sha256=oaP5humP6yxfcsNmSCoKduOwVDzcWMpq3kGXjZKw_CU,2162
|
|
24
|
+
mxm/refdata/models/orm/period_cycles.py,sha256=Zf3bNpSfrzKMZoelTn0IOkNuaVxfQ-l_TanAs1FWFSs,2493
|
|
25
|
+
mxm/refdata/models/orm/periods.py,sha256=oXnfiqPahsbxhqX1c7eh5eSoZQQU3Gu43yFtJlAmxK8,948
|
|
26
|
+
mxm/refdata/models/period_cycles.py,sha256=AWvNVnHjXK3H7G4H7ygkMwf6Nx89_o_6ras3qo53Ak4,2241
|
|
27
|
+
mxm/refdata/models/periods.py,sha256=4zhtvHQf2nGZrdqwTQUQ2lSU7cWRTTnj5J-xovYXsnc,1964
|
|
28
|
+
mxm/refdata/models/products/__init__.py,sha256=tyYvLLfha6vFgCbCDb425F8IZnL9MGhKmDte5Xuaq9w,37
|
|
29
|
+
mxm/refdata/models/products/futures_product.py,sha256=9gFxypYB6HY4JXqp1yKaI-GlLa0O_kITjQS7XPbtL2U,1719
|
|
30
|
+
mxm/refdata/models/products/settlement.py,sha256=4cP1HXMAKvg5K8HpAdcppclHjF2DUk1PAIS74vA0V8I,197
|
|
31
|
+
mxm/refdata/models/reference_events.py,sha256=6O2zlecF2kJ7DeSDImHHm2KSYq298Hv_Ddm40YsCXZY,291
|
|
32
|
+
mxm/refdata/models/units.py,sha256=TC9HTLvKKlk_WfEM7DEjutjIdHKpiazlYC4m2jhHAeE,1506
|
|
33
|
+
mxm/refdata/models/weekdays.py,sha256=cNLCMWvaw12BxFsP5Nasc-sWPlVeR08kZBjfU7NcqmQ,1753
|
|
34
|
+
mxm/refdata/parsing/__init__.py,sha256=f0PX8E2FU_zMNbvok2yV8I-cpv7MGMo43kAMpMxRlDE,71
|
|
35
|
+
mxm/refdata/parsing/futures_products_from_csv.py,sha256=Asnvmx5GYlllSR4mNVDR7usv2E6JTCMu-0E5LSZTkqM,2822
|
|
36
|
+
mxm/refdata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
mxm/refdata/scripts/__init__.py,sha256=4V3G8NG1JHx9RKTqs2WVQLWySiVjv5203Usa5bYHGA0,43
|
|
38
|
+
mxm/refdata/scripts/db_utils.py,sha256=1tKdPhEO4TaOMieI341_P5fKNKPuxSvgpbRG-Kl33hY,1813
|
|
39
|
+
mxm/refdata/scripts/manage_static_ref_data.py,sha256=b8-SRf5KAyWAwpzxEP-lOYpttIx1ugv-Ehk_GlcGxN4,2407
|
|
40
|
+
mxm/refdata/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
mxm/refdata/services/bootstrap.py,sha256=7wIDzlNF-Lvn6FwcWBqdIkyvtZTRA669Zi6wQCgsHcw,2608
|
|
42
|
+
mxm/refdata/services/futures_contract_factory.py,sha256=meO886Jg-rSXzUV9UQzcMGwyzAJFLp5JGamQEJlygs0,4766
|
|
43
|
+
mxm/refdata/services/futures_product_factory.py,sha256=atoZlBksnFyWXs7vJzH_P-aveIDgfn7PXN6mAjp31Uw,4449
|
|
44
|
+
mxm/refdata/services/period_factory.py,sha256=p_686VSmTQvLcMAZpTXj7bUqcGvGRFthwi2FRjt_izk,12227
|
|
45
|
+
mxm/refdata/services/ref_data_service.py,sha256=UDkdud7ZAHhoMUu8tIRrACOZGnXKp2mOCcANXUsaEGc,12603
|
|
46
|
+
mxm/refdata/services/smokecheck.py,sha256=jeQRqy9IC4dj-hqYmY7su5wGCmHjpd_mPjKl2Jpm4Hc,10279
|
|
47
|
+
mxm/refdata/trading_calendars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
+
mxm/refdata/trading_calendars/first_day_of_interest.py,sha256=8ytalqoN_z9A0DHVboMLvEac66rHqPgdsc_TN3hVTlY,2807
|
|
49
|
+
mxm/refdata/trading_calendars/last_trading_day.py,sha256=Rii58_1R1F7dzv2pEbUPBmka2iws4O6ni-URZVCZ7O8,3463
|
|
50
|
+
mxm/refdata/trading_calendars/nth_business_day.py,sha256=_ORVFAzISY0cyXgOJExHJ4qx9WQA3w1XBfMXuxlSP9M,1940
|
|
51
|
+
mxm/refdata/trading_calendars/nth_calendar_day_of_period.py,sha256=sxonbgZs3MK37h73kIATzXxiHjFXvttugTIMn3J7i2g,1545
|
|
52
|
+
mxm/refdata/trading_calendars/nth_weekday_of_period.py,sha256=vv0iB5obyRgkGrKgRqDkvAKxyH1SjAPz7hO8vViG5ls,1738
|
|
53
|
+
mxm/refdata/trading_calendars/trading_calendar.py,sha256=gVZit-AB5WGnmEAOypo5swJ1eAxv-X946pw1XQmGj5Y,6608
|
|
54
|
+
mxm/refdata/utils/__init__.py,sha256=xPj5Al870MXouESHpYo8ZawzIeTfkd51Z618mnGHNYk,49
|
|
55
|
+
mxm/refdata/utils/cache_manager.py,sha256=UIPc2D54azTuxcq5NCLPDbxqIt61iyeaBoL4rqKONro,960
|
|
56
|
+
mxm/refdata/utils/config.py,sha256=-r4l7-GpKAM-oDoqUGf3ILDDxdi_a3spRENL6XE8jik,912
|
|
57
|
+
mxm/refdata/utils/period_types_codec.py,sha256=iB0wr4yf1qM_W9XuJy-XaYmuBkf5oJOkRZ2qRHM8q9c,553
|
|
58
|
+
mxm/refdata/utils/regex_patterns.py,sha256=ggL_qfV4yGO7oj4r6V_zL1qsiK0dJTyz96sGozwJpaE,568
|
|
59
|
+
mxm/refdata/utils/resources.py,sha256=3D5aELWqmNQnBj5JvBdsq9fxvweLdse2oXLeNcqwy-0,872
|
|
60
|
+
mxm_refdata-0.3.0.dist-info/METADATA,sha256=Nl9rIX-Pc2T5DtktpBwdIGstN63G5OUcJDEraMi4az0,5373
|
|
61
|
+
mxm_refdata-0.3.0.dist-info/WHEEL,sha256=EGEvSphFYqXKs23-kQBeyNoJP1nrT8ZJKQoi5p5DYL8,88
|
|
62
|
+
mxm_refdata-0.3.0.dist-info/entry_points.txt,sha256=CUOylXOtFIIghauVETtZsza1_ShDyz9wZ8Y4Sr_sseI,51
|
|
63
|
+
mxm_refdata-0.3.0.dist-info/licenses/LICENSE,sha256=4_iKgf-rYcWbqm27b61H2XDN_22u7YUfPbrLYJMKHjc,1106
|
|
64
|
+
mxm_refdata-0.3.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Money Ex Machina
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|