mopr 0.0.71.dev10__tar.gz → 0.0.98__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.
Files changed (381) hide show
  1. mopr-0.0.98/.clangd +11 -0
  2. {mopr-0.0.71.dev10 → mopr-0.0.98}/.editorconfig +1 -1
  3. {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitattributes +1 -1
  4. mopr-0.0.98/.githooks/commit-msg +60 -0
  5. mopr-0.0.98/.githooks/pre-commit +45 -0
  6. {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitignore +3 -16
  7. {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-default/settings.json +5 -2
  8. mopr-0.0.98/.vscode-macos/settings.json +15 -0
  9. mopr-0.0.98/.vscode-macos/tasks.json +36 -0
  10. mopr-0.0.98/.vscode-windows/settings.json +31 -0
  11. mopr-0.0.98/AGENTS.md +344 -0
  12. {mopr-0.0.71.dev10 → mopr-0.0.98}/BUILDING.md +198 -33
  13. mopr-0.0.98/CHANGELOG.md +6491 -0
  14. {mopr-0.0.71.dev10 → mopr-0.0.98}/CONTRIBUTING.md +3 -1
  15. {mopr-0.0.71.dev10 → mopr-0.0.98}/MANIFEST.in +9 -2
  16. {mopr-0.0.71.dev10 → mopr-0.0.98}/PKG-INFO +101 -6
  17. mopr-0.0.71.dev10/mopr.egg-info/PKG-INFO → mopr-0.0.98/README.md +227 -159
  18. mopr-0.0.71.dev10/THIRD_PARTY_NOTICES.md → mopr-0.0.98/THIRD-PARTY-NOTICES.md +611 -394
  19. {mopr-0.0.71.dev10/python → mopr-0.0.98}/_version.py +3 -3
  20. mopr-0.0.98/base/README.md +51 -0
  21. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/__init__.py +57 -10
  22. mopr-0.0.98/base/bits.py +57 -0
  23. mopr-0.0.98/base/bits_test.py +75 -0
  24. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron.md +2 -2
  25. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron.py +5 -2
  26. mopr-0.0.98/base/environment.md +79 -0
  27. mopr-0.0.98/base/environment.py +443 -0
  28. mopr-0.0.98/base/environment_test.py +267 -0
  29. mopr-0.0.98/base/except.py +78 -0
  30. mopr-0.0.98/base/filesystem.md +183 -0
  31. mopr-0.0.98/base/filesystem.py +199 -0
  32. mopr-0.0.98/base/filesystem_test.py +121 -0
  33. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language.md +15 -9
  34. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language.py +2 -2
  35. mopr-0.0.98/base/numeric.md +91 -0
  36. mopr-0.0.98/base/numeric.py +285 -0
  37. mopr-0.0.98/base/numeric_test.py +163 -0
  38. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region.md +23 -20
  39. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region.py +15 -1
  40. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region_test.py +13 -6
  41. mopr-0.0.98/base/singleton.py +467 -0
  42. mopr-0.0.98/base/singleton_test.py +505 -0
  43. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/strings.py +18 -3
  44. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time.md +59 -13
  45. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time.py +82 -31
  46. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time_test.py +29 -0
  47. mopr-0.0.98/base/timestamp.md +199 -0
  48. mopr-0.0.98/base/timestamp.py +295 -0
  49. mopr-0.0.98/base/timestamp_test.py +90 -0
  50. mopr-0.0.98/base/types.md +71 -0
  51. mopr-0.0.98/base/types.py +437 -0
  52. mopr-0.0.98/base/types_test.py +110 -0
  53. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/README.md +4 -2
  54. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/README.md +37 -2
  55. mopr-0.0.98/benchmark/micro/csv_macos_arm64.md +91 -0
  56. mopr-0.0.98/conanfile.py +243 -0
  57. mopr-0.0.98/config/README.md +16 -0
  58. mopr-0.0.98/config/__init__.py +45 -0
  59. mopr-0.0.98/config/config.md +89 -0
  60. mopr-0.0.98/config/config.py +98 -0
  61. mopr-0.0.98/data/README.md +25 -0
  62. mopr-0.0.98/data/adapter.md +103 -0
  63. mopr-0.0.98/data/adapter.py +849 -0
  64. mopr-0.0.98/data/adapter_test.py +1032 -0
  65. mopr-0.0.98/data/base.py +60 -0
  66. mopr-0.0.98/data/cache.md +101 -0
  67. mopr-0.0.98/data/cache.py +138 -0
  68. mopr-0.0.98/data/cache_test.py +94 -0
  69. mopr-0.0.98/data/contrib/__init__.py +0 -0
  70. mopr-0.0.98/data/contrib/forex/__init__.py +39 -0
  71. mopr-0.0.98/data/contrib/forex/bcd.py +330 -0
  72. mopr-0.0.98/data/contrib/forex/bceao.py +553 -0
  73. mopr-0.0.98/data/contrib/forex/bog.py +552 -0
  74. mopr-0.0.98/data/contrib/forex/bsl.py +522 -0
  75. mopr-0.0.98/data/contrib/forex/datasource.py +49 -0
  76. mopr-0.0.98/data/contrib/forex/ecb.py +435 -0
  77. mopr-0.0.98/data/contrib/forex/fed.py +796 -0
  78. mopr-0.0.98/data/contrib/forex/hkma.py +328 -0
  79. mopr-0.0.98/data/contrib/forex/number.py +100 -0
  80. mopr-0.0.98/data/contrib/forex/official_source.py +79 -0
  81. mopr-0.0.98/data/contrib/forex/pboc.py +1330 -0
  82. mopr-0.0.98/data/contrib/forex/quote.py +132 -0
  83. mopr-0.0.98/data/contrib/forex/seeds/README.md +94 -0
  84. mopr-0.0.98/data/contrib/forex/seeds/bog.csv +7542 -0
  85. mopr-0.0.98/data/contrib/forex/seeds/embedded_resources.cpp +85 -0
  86. mopr-0.0.98/data/contrib/forex/seeds/embedded_resources.h +34 -0
  87. mopr-0.0.98/data/contrib/forex/seeds/forex_cny_pboc.csv +8055 -0
  88. mopr-0.0.98/data/contrib/forex/seeds/forex_ghs_bog.csv +7540 -0
  89. mopr-0.0.98/data/contrib/forex/seeds/forex_ghs_bog_quotes.json +1 -0
  90. mopr-0.0.98/data/contrib/forex/seeds/forex_hkd_hkma.csv +13482 -0
  91. mopr-0.0.98/data/contrib/forex/seeds/forex_usd_fed.csv +13978 -0
  92. mopr-0.0.98/data/contrib/forex/seeds/resources.S +34 -0
  93. mopr-0.0.98/data/contrib/forex/seeds/resources.rc +12 -0
  94. mopr-0.0.98/data/datasource.py +161 -0
  95. mopr-0.0.98/data/finance.py +25 -0
  96. mopr-0.0.98/data/market.md +291 -0
  97. mopr-0.0.98/data/market.py +610 -0
  98. mopr-0.0.98/data/meta/README.md +55 -0
  99. mopr-0.0.98/data/meta/__init__.py +19 -0
  100. mopr-0.0.98/data/meta/asset_class_cn.py +133 -0
  101. {mopr-0.0.71.dev10/finance/exchange → mopr-0.0.98/data/meta}/authority.py +60 -21
  102. mopr-0.0.98/data/meta/calendar.md +233 -0
  103. mopr-0.0.98/data/meta/calendar.py +325 -0
  104. mopr-0.0.98/data/meta/calendar_cfets.md +129 -0
  105. mopr-0.0.98/data/meta/calendar_cfets.py +134 -0
  106. mopr-0.0.98/data/meta/calendar_cfets_test.py +233 -0
  107. mopr-0.0.98/data/meta/calendar_cn.md +117 -0
  108. mopr-0.0.98/data/meta/calendar_cn.py +113 -0
  109. mopr-0.0.98/data/meta/calendar_djf.py +20 -0
  110. mopr-0.0.98/data/meta/calendar_djf_sle_test.py +225 -0
  111. mopr-0.0.98/data/meta/calendar_eur.py +19 -0
  112. mopr-0.0.98/data/meta/calendar_forex.py +304 -0
  113. mopr-0.0.98/data/meta/calendar_forex_holidays.py +75 -0
  114. mopr-0.0.98/data/meta/calendar_forex_test.py +353 -0
  115. mopr-0.0.98/data/meta/calendar_ghs.py +176 -0
  116. mopr-0.0.98/data/meta/calendar_ghs_holidays.py +37 -0
  117. mopr-0.0.98/data/meta/calendar_ghs_test.py +190 -0
  118. mopr-0.0.98/data/meta/calendar_hkd.py +19 -0
  119. mopr-0.0.98/data/meta/calendar_seed.py +27 -0
  120. mopr-0.0.98/data/meta/calendar_sle.py +69 -0
  121. mopr-0.0.98/data/meta/calendar_test.py +225 -0
  122. mopr-0.0.98/data/meta/calendar_usd.py +28 -0
  123. mopr-0.0.98/data/meta/calendar_xof.py +18 -0
  124. mopr-0.0.98/data/meta/calendar_xof_holidays.py +28 -0
  125. mopr-0.0.98/data/meta/exchange.md +213 -0
  126. mopr-0.0.98/data/meta/exchange.py +468 -0
  127. mopr-0.0.98/data/meta/frequency.py +165 -0
  128. mopr-0.0.98/data/meta/fund.md +83 -0
  129. mopr-0.0.98/data/meta/fund.py +82 -0
  130. mopr-0.0.98/data/meta/holiday.py +451 -0
  131. {mopr-0.0.71.dev10/finance/exchange → mopr-0.0.98/data/meta}/institution.py +62 -31
  132. mopr-0.0.98/data/meta/instrument.md +184 -0
  133. mopr-0.0.98/data/meta/instrument.py +312 -0
  134. mopr-0.0.98/data/meta/layout.py +19 -0
  135. mopr-0.0.98/data/meta/monetary.md +115 -0
  136. mopr-0.0.98/data/meta/monetary.py +384 -0
  137. mopr-0.0.98/data/meta/monetary_test.py +148 -0
  138. mopr-0.0.98/data/meta/money.md +115 -0
  139. mopr-0.0.98/data/meta/money.py +159 -0
  140. mopr-0.0.98/data/meta/money_test.py +106 -0
  141. mopr-0.0.98/data/meta/seeds/README.md +84 -0
  142. mopr-0.0.98/data/meta/seeds/calendar_cny.base +8059 -0
  143. mopr-0.0.98/data/meta/seeds/calendar_cny.h +5557 -0
  144. mopr-0.0.98/data/meta/seeds/calendar_eur.base +7099 -0
  145. mopr-0.0.98/data/meta/seeds/calendar_eur.h +4897 -0
  146. mopr-0.0.98/data/meta/seeds/calendar_ghs.base +7543 -0
  147. mopr-0.0.98/data/meta/seeds/calendar_ghs.h +5202 -0
  148. mopr-0.0.98/data/meta/seeds/calendar_hkd.base +13482 -0
  149. mopr-0.0.98/data/meta/seeds/calendar_hkd.h +9285 -0
  150. mopr-0.0.98/data/meta/seeds/calendar_sle.base +1060 -0
  151. mopr-0.0.98/data/meta/seeds/calendar_sle.h +745 -0
  152. mopr-0.0.98/data/meta/seeds/calendar_usd.base +13983 -0
  153. mopr-0.0.98/data/meta/seeds/calendar_usd.h +9629 -0
  154. mopr-0.0.98/data/meta/seeds/calendar_xof.base +2479 -0
  155. mopr-0.0.98/data/meta/seeds/calendar_xof.h +1720 -0
  156. mopr-0.0.98/data/meta/seeds/monetary_list-one.h +2985 -0
  157. mopr-0.0.98/data/meta/seeds/monetary_list-one.xml +1956 -0
  158. mopr-0.0.98/data/meta/session.md +157 -0
  159. mopr-0.0.98/data/meta/session.py +885 -0
  160. mopr-0.0.98/data/meta/session_test.py +335 -0
  161. mopr-0.0.98/data/meta/workday.md +140 -0
  162. mopr-0.0.98/data/meta/workday.py +485 -0
  163. mopr-0.0.98/data/meta/workday_test.py +202 -0
  164. mopr-0.0.98/data/schema/README.md +26 -0
  165. mopr-0.0.98/data/schema/adjustment.md +92 -0
  166. mopr-0.0.98/data/schema/bar.md +28 -0
  167. mopr-0.0.98/data/schema/company.md +18 -0
  168. mopr-0.0.98/data/schema/dividend.md +124 -0
  169. mopr-0.0.98/data/schema/sector.md +20 -0
  170. mopr-0.0.98/data/schema/trade.md +36 -0
  171. mopr-0.0.98/data/status.py +55 -0
  172. mopr-0.0.98/distributed/README.md +39 -0
  173. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/state_store.py +1 -1
  174. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/README.md +13 -8
  175. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/csv.md +74 -23
  176. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/csv.py +7 -6
  177. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/yaml.md +1 -1
  178. mopr-0.0.98/io/README.md +41 -0
  179. mopr-0.0.98/io/__init__.py +34 -0
  180. mopr-0.0.98/io/connection_pool.md +57 -0
  181. mopr-0.0.98/io/connection_pool.py +361 -0
  182. mopr-0.0.98/io/endpoint.md +52 -0
  183. mopr-0.0.98/io/endpoint.py +96 -0
  184. mopr-0.0.98/io/http.md +92 -0
  185. mopr-0.0.98/io/http.py +154 -0
  186. mopr-0.0.98/io/operation_handler.md +52 -0
  187. mopr-0.0.98/io/operation_handler.py +54 -0
  188. mopr-0.0.98/log/README.md +49 -0
  189. {mopr-0.0.71.dev10 → mopr-0.0.98}/log/__init__.py +5 -2
  190. mopr-0.0.98/log/logger.md +102 -0
  191. mopr-0.0.71.dev10/log/core.py → mopr-0.0.98/log/logger.py +21 -20
  192. mopr-0.0.98/machine/README.md +32 -0
  193. mopr-0.0.98/main.py +215 -0
  194. mopr-0.0.98/meta/README.md +163 -0
  195. mopr-0.0.98/meta/__init__.py +49 -0
  196. mopr-0.0.98/meta/asset_class.py +282 -0
  197. mopr-0.0.98/meta/asset_class_instrument.py +287 -0
  198. mopr-0.0.98/meta/asset_class_legacy.py +257 -0
  199. mopr-0.0.98/meta/asset_class_nature.py +189 -0
  200. mopr-0.0.98/meta/asset_class_tags.py +170 -0
  201. mopr-0.0.98/meta/asset_master.py +333 -0
  202. mopr-0.0.98/meta/entities.py +339 -0
  203. mopr-0.0.98/meta/entities_test.py +207 -0
  204. mopr-0.0.71.dev10/README.md → mopr-0.0.98/mopr.egg-info/PKG-INFO +254 -139
  205. mopr-0.0.98/mopr.egg-info/SOURCES.txt +337 -0
  206. {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/entry_points.txt +1 -0
  207. mopr-0.0.98/mopr.egg-info/requires.txt +15 -0
  208. mopr-0.0.98/mopr.egg-info/scm_file_list.json +317 -0
  209. mopr-0.0.98/mopr.egg-info/scm_version.json +8 -0
  210. mopr-0.0.98/pyproject.toml +163 -0
  211. mopr-0.0.98/runtime/README.md +35 -0
  212. mopr-0.0.98/runtime/__init__.py +9 -0
  213. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once.md +55 -52
  214. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once.py +59 -23
  215. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once_test.py +45 -25
  216. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer.py +1 -1
  217. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/scheduler.md +45 -1
  218. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/scheduler.py +106 -44
  219. mopr-0.0.98/runtime/scheduler_test.py +193 -0
  220. mopr-0.0.98/security/README.md +34 -0
  221. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/README.md +6 -6
  222. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/credential_test.py +2 -2
  223. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/rbac_test.py +2 -2
  224. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/session_test.py +2 -2
  225. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/token_test.py +2 -2
  226. mopr-0.0.98/spec/README.md +43 -0
  227. mopr-0.0.98/spec/api.md +108 -0
  228. mopr-0.0.98/storage/README.md +35 -0
  229. {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/__init__.py +5 -4
  230. mopr-0.0.98/storage/storage.md +87 -0
  231. mopr-0.0.98/storage/storage.py +154 -0
  232. mopr-0.0.98/storage/storage_test.py +105 -0
  233. {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal.md +9 -8
  234. {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal.py +136 -70
  235. {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal_test.py +62 -0
  236. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/__init__.py +6 -0
  237. mopr-0.0.98/tools/bin2header.py +209 -0
  238. mopr-0.0.98/tools/gen_seed_headers.py +173 -0
  239. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/__init__.py +4 -4
  240. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/cli.py +6 -6
  241. mopr-0.0.98/tools/license_audit/fetch.py +231 -0
  242. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/cpp.py +2 -6
  243. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/go.py +4 -8
  244. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/java.py +2 -8
  245. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/python.py +8 -12
  246. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/rust.py +2 -8
  247. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/notices.py +7 -7
  248. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/report.py +3 -3
  249. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/todo.py +3 -3
  250. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/__init__.py +1 -1
  251. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/cli.py +1 -1
  252. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/core.py +2 -2
  253. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/project_meta.py +2 -2
  254. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/run_module.py +20 -162
  255. mopr-0.0.98/tools/vscode_sync/__init__.py +86 -0
  256. mopr-0.0.98/tools/vscode_sync/__main__.py +12 -0
  257. mopr-0.0.98/tools/vscode_sync/cli.py +93 -0
  258. mopr-0.0.98/tools/vscode_sync/jsonc.py +153 -0
  259. mopr-0.0.98/tools/vscode_sync/jsonc_test.py +98 -0
  260. mopr-0.0.98/tools/vscode_sync/layers.py +287 -0
  261. mopr-0.0.98/tools/vscode_sync/layers_test.py +295 -0
  262. mopr-0.0.71.dev10/.clangd +0 -8
  263. mopr-0.0.71.dev10/.githooks/commit-msg +0 -9
  264. mopr-0.0.71.dev10/.vscode-macos/settings.json +0 -5
  265. mopr-0.0.71.dev10/.vscode-macos/tasks.json +0 -14
  266. mopr-0.0.71.dev10/.vscode-windows/settings.json +0 -11
  267. mopr-0.0.71.dev10/AGENTS.md +0 -192
  268. mopr-0.0.71.dev10/CHANGELOG.md +0 -2452
  269. mopr-0.0.71.dev10/base/dataclass_utils.py +0 -36
  270. mopr-0.0.71.dev10/base/environment.py +0 -144
  271. mopr-0.0.71.dev10/base/filesystem.py +0 -98
  272. mopr-0.0.71.dev10/base/timestamp.md +0 -235
  273. mopr-0.0.71.dev10/base/timestamp.py +0 -388
  274. mopr-0.0.71.dev10/base/types.py +0 -8
  275. mopr-0.0.71.dev10/finance/exchange/README.md +0 -202
  276. mopr-0.0.71.dev10/finance/exchange/__init__.py +0 -46
  277. mopr-0.0.71.dev10/finance/exchange/data/ISO10383_MIC.csv +0 -2876
  278. mopr-0.0.71.dev10/finance/exchange/data/mic_codes.txt +0 -2875
  279. mopr-0.0.71.dev10/finance/exchange/exchange.py +0 -447
  280. mopr-0.0.71.dev10/finance/forex/README.md +0 -377
  281. mopr-0.0.71.dev10/finance/forex/__init__.py +0 -155
  282. mopr-0.0.71.dev10/finance/forex/allratestoday.py +0 -403
  283. mopr-0.0.71.dev10/finance/forex/bcd.py +0 -773
  284. mopr-0.0.71.dev10/finance/forex/bog.py +0 -931
  285. mopr-0.0.71.dev10/finance/forex/cfets.py +0 -1384
  286. mopr-0.0.71.dev10/finance/forex/ecb.py +0 -693
  287. mopr-0.0.71.dev10/finance/forex/exchange_rate_api.py +0 -319
  288. mopr-0.0.71.dev10/finance/forex/fed.py +0 -1245
  289. mopr-0.0.71.dev10/finance/forex/forex.py +0 -2113
  290. mopr-0.0.71.dev10/finance/forex/hkma.py +0 -791
  291. mopr-0.0.71.dev10/finance/forex/official_source.py +0 -193
  292. mopr-0.0.71.dev10/finance/forex/xof.py +0 -932
  293. mopr-0.0.71.dev10/finance/forex/yahoo.py +0 -202
  294. mopr-0.0.71.dev10/mopr.egg-info/SOURCES.txt +0 -185
  295. mopr-0.0.71.dev10/mopr.egg-info/requires.txt +0 -6
  296. mopr-0.0.71.dev10/mopr.egg-info/scm_file_list.json +0 -177
  297. mopr-0.0.71.dev10/mopr.egg-info/scm_version.json +0 -8
  298. mopr-0.0.71.dev10/pyproject.toml +0 -109
  299. mopr-0.0.71.dev10/runtime/__init__.py +0 -5
  300. mopr-0.0.71.dev10/security/README.md +0 -4
  301. mopr-0.0.71.dev10/spec/api.md +0 -24
  302. mopr-0.0.71.dev10/storage/storage.md +0 -198
  303. mopr-0.0.71.dev10/storage/storage.py +0 -69
  304. {mopr-0.0.71.dev10 → mopr-0.0.98}/.clang-format +0 -0
  305. {mopr-0.0.71.dev10 → mopr-0.0.98}/.clang-tidy +0 -0
  306. {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitee/ISSUE_TEMPLATE/config.yml +0 -0
  307. {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitee/ISSUE_TEMPLATE/proposal.yml +0 -0
  308. {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-default/tasks.json +0 -0
  309. {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-windows/launch.json +0 -0
  310. {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-windows/tasks.json +0 -0
  311. {mopr-0.0.71.dev10 → mopr-0.0.98}/LICENSE +0 -0
  312. {mopr-0.0.71.dev10/python → mopr-0.0.98}/__init__.py +0 -0
  313. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32.md +0 -0
  314. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32.py +0 -0
  315. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32_test.py +0 -0
  316. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron_test.py +0 -0
  317. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language_test.py +0 -0
  318. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap.md +0 -0
  319. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap.py +0 -0
  320. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap_test.py +0 -0
  321. {mopr-0.0.71.dev10 → mopr-0.0.98}/base/strings.md +0 -0
  322. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/macro/README.md +0 -0
  323. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/crc32_macos_arm64.md +0 -0
  324. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/ringbuffer_macos_arm64.md +0 -0
  325. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/ringbuffer_windows_amd64.md +0 -0
  326. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/wal_macos_arm64.md +0 -0
  327. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/wal_windows_amd64.md +0 -0
  328. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/regression/README.md +0 -0
  329. {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/stability/README.md +0 -0
  330. {mopr-0.0.71.dev10/finance → mopr-0.0.98/data}/__init__.py +0 -0
  331. /mopr-0.0.71.dev10/finance/forex/data/cfets_cny_1994_2005.csv → /mopr-0.0.98/data/contrib/forex/seeds/pboc_cny_1994_2005.csv +0 -0
  332. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/__init__.py +0 -0
  333. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/README.md +0 -0
  334. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/__init__.py +0 -0
  335. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/generator.py +0 -0
  336. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/hlc.py +0 -0
  337. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/id.py +0 -0
  338. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/option.py +0 -0
  339. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/queue.py +0 -0
  340. {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/tests.py +0 -0
  341. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/__init__.py +0 -0
  342. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/charsets.py +0 -0
  343. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/json.md +0 -0
  344. {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/yaml.py +0 -0
  345. {mopr-0.0.71.dev10 → mopr-0.0.98}/machine/__init__.py +0 -0
  346. {mopr-0.0.71.dev10 → mopr-0.0.98}/machine/id.py +0 -0
  347. {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/dependency_links.txt +0 -0
  348. {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/top_level.txt +0 -0
  349. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer.md +0 -0
  350. {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer_test.py +0 -0
  351. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/__init__.py +0 -0
  352. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/audit/README.md +0 -0
  353. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/__init__.py +0 -0
  354. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/authorize.py +0 -0
  355. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/catalog.py +0 -0
  356. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/credential.py +0 -0
  357. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/errors.py +0 -0
  358. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/model.py +0 -0
  359. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/principal.py +0 -0
  360. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/session.py +0 -0
  361. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/spi.py +0 -0
  362. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/token.py +0 -0
  363. {mopr-0.0.71.dev10 → mopr-0.0.98}/security/compliance/README.md +0 -0
  364. {mopr-0.0.71.dev10 → mopr-0.0.98}/setup.cfg +0 -0
  365. {mopr-0.0.71.dev10 → mopr-0.0.98}/spec/behavior.md +0 -0
  366. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/__main__.py +0 -0
  367. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/__main__.py +0 -0
  368. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/__init__.py +0 -0
  369. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/__main__.py +0 -0
  370. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/__init__.py +0 -0
  371. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/base.py +0 -0
  372. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/cpp.py +0 -0
  373. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/css.py +0 -0
  374. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/go.py +0 -0
  375. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/html.py +0 -0
  376. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/java.py +0 -0
  377. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/javascript.py +0 -0
  378. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/python.py +0 -0
  379. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/rust.py +0 -0
  380. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/typescript.py +0 -0
  381. {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/vue.py +0 -0
mopr-0.0.98/.clangd ADDED
@@ -0,0 +1,11 @@
1
+ # clangd 配置:编译数据库来自 Ninja 旁路目录
2
+ #
3
+ # VS 生成器不产出 compile_commands.json,故另建 Ninja 目录(build/ninja-debug)
4
+ # 专供 clangd 使用;它复用已安装的 Debug 依赖,无需单独安装:
5
+ # Windows/MSVC → build/debug-dynamic
6
+ # macOS / Linux → build/debug-static(非 MSVC 无 compiler.runtime,见 conanfile.layout)
7
+ # 切换 / 新增依赖后重跑 refresh-clangd.ps1(Windows)或 refresh-clangd.sh
8
+ # (macOS / Linux)刷新(见 BUILDING.md)。
9
+
10
+ CompileFlags:
11
+ CompilationDatabase: build/ninja-debug
@@ -2,7 +2,7 @@
2
2
  root = true
3
3
 
4
4
  [*] # 所有文件
5
- charset = utf-8 # 编码
5
+ charset = utf-8 # 编码: 必须是**无 BOM** 的 UTF-8(`utf-8-bom` 是另一个取值, 本仓库不得使用)
6
6
  end_of_line = lf # 换行符(Linux/macOS风格)
7
7
  insert_final_newline = true # 文件末尾保留空行
8
8
  trim_trailing_whitespace = true # 删除行尾空格
@@ -18,7 +18,7 @@
18
18
  # ============================================================
19
19
  # export-ignore: go 模块发布出口
20
20
  # go 模块 (github.com/quant1x/mopr) 经 git archive / go module proxy
21
- # 分发时只携带 Go 源码与合规物 (THIRD_PARTY_NOTICES.md +
21
+ # 分发时只携带 Go 源码与合规物 (THIRD-PARTY-NOTICES.md +
22
22
  # third_party/licenses/go/ 归档, 与 MANIFEST.in / Cargo include 的
23
23
  # "各语言许可证归档仅随各自语言产物分发" 策略一致)。
24
24
  # 以下为其它语言源码、构建产物与辅助文件, 一律不进 go module zip。
@@ -0,0 +1,60 @@
1
+ #!/bin/sh
2
+ # commit-msg 钩子:提交信息编码校验(非法 UTF-8 / GBK 乱码 → 拒绝提交)
3
+ # 校验逻辑见同目录 commit_msg_check.py
4
+ hook_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
5
+ run_check() {
6
+ # 优先使用 python / python3;在 Windows 环境下回退到 py -3
7
+ if command -v python >/dev/null 2>&1; then
8
+ python -V >/dev/null 2>&1
9
+ probe=$?
10
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
11
+ python "$hook_dir/commit_msg_check.py" "$1"
12
+ return $?
13
+ fi
14
+ fi
15
+ if command -v python3 >/dev/null 2>&1; then
16
+ python3 -V >/dev/null 2>&1
17
+ probe=$?
18
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
19
+ python3 "$hook_dir/commit_msg_check.py" "$1"
20
+ return $?
21
+ fi
22
+ fi
23
+ if command -v py >/dev/null 2>&1; then
24
+ py -3 -V >/dev/null 2>&1
25
+ probe=$?
26
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
27
+ py -3 "$hook_dir/commit_msg_check.py" "$1"
28
+ return $?
29
+ fi
30
+ fi
31
+ return 127
32
+ }
33
+
34
+ run_check "$1"
35
+ check_rc=$?
36
+ if [ "$check_rc" -eq 127 ]; then
37
+ echo "commit-msg 校验未通过:未找到可用 Python 解释器(python/python3/py -3)。" >&2
38
+ exit 1
39
+ fi
40
+ if [ "$check_rc" -ne 0 ]; then
41
+ echo "commit-msg 校验未通过,提交已中止。请修正提交信息后重试。" >&2
42
+ exit 1
43
+ fi
44
+
45
+ # 提交尾注/署名约束(仓库规则):
46
+ # - 禁止 Co-authored-by trailer
47
+ # - 禁止 Copilot/AI 署名(包含历史常见 noreply 地址)
48
+ msg_file="$1"
49
+ if [ -n "$msg_file" ] && [ -f "$msg_file" ]; then
50
+ if tr -d '\r' < "$msg_file" | grep -Eiq '^[[:space:]]*co-authored-by[[:space:]]*:'; then
51
+ echo "commit-msg 校验未通过:禁止 Co-authored-by trailer。" >&2
52
+ exit 1
53
+ fi
54
+ if tr -d '\r' < "$msg_file" | grep -Eiq 'copilot@users\.noreply\.github\.com|^[[:space:]]*(copilot|ai)[[:space:]]*(署名|signature)[[:space:]]*:'; then
55
+ echo "commit-msg 校验未通过:禁止 Copilot/AI 署名信息。" >&2
56
+ exit 1
57
+ fi
58
+ fi
59
+
60
+ exit 0
@@ -0,0 +1,45 @@
1
+ #!/bin/sh
2
+ # pre-commit 钩子:提交内容编码校验(新混入 BOM → 拒绝提交)
3
+ # 校验逻辑见同目录 text_check.py
4
+ hook_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
5
+ run_check() {
6
+ # 优先使用 python / python3;在 Windows 环境下回退到 py -3
7
+ if command -v python >/dev/null 2>&1; then
8
+ python -V >/dev/null 2>&1
9
+ probe=$?
10
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
11
+ python "$hook_dir/text_check.py"
12
+ return $?
13
+ fi
14
+ fi
15
+ if command -v python3 >/dev/null 2>&1; then
16
+ python3 -V >/dev/null 2>&1
17
+ probe=$?
18
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
19
+ python3 "$hook_dir/text_check.py"
20
+ return $?
21
+ fi
22
+ fi
23
+ if command -v py >/dev/null 2>&1; then
24
+ py -3 -V >/dev/null 2>&1
25
+ probe=$?
26
+ if [ "$probe" -ne 126 ] && [ "$probe" -ne 127 ]; then
27
+ py -3 "$hook_dir/text_check.py"
28
+ return $?
29
+ fi
30
+ fi
31
+ return 127
32
+ }
33
+
34
+ run_check
35
+ check_rc=$?
36
+ if [ "$check_rc" -eq 127 ]; then
37
+ echo "pre-commit 校验未通过:未找到可用 Python 解释器(python/python3/py -3)。" >&2
38
+ exit 1
39
+ fi
40
+ if [ "$check_rc" -ne 0 ]; then
41
+ echo "pre-commit 校验未通过,提交已中止。请去掉新混入的 BOM 后重试。" >&2
42
+ exit 1
43
+ fi
44
+
45
+ exit 0
@@ -32,20 +32,7 @@
32
32
  *.app
33
33
 
34
34
  # Test data
35
- data/
36
-
37
- # 例外: 随包分发的数据资产(不是测试数据) —— finance/forex/data/ 下的 cfets 头部归档
38
- # (1994-2005, 官网区间接口取不到的那一段), 必须入库并随 mopr.finance.forex 分发;
39
- # 需先解除目录级忽略, 再放行其中的 CSV(pyproject 的 package-data 与 MANIFEST.in 同步收录)。
40
- !finance/forex/data/
41
- !finance/forex/data/*.csv
42
-
43
- # 例外: 同上的第二处 —— finance/exchange/data/ 下的 ISO 10383 MIC 官方全量清单原文(CSV)
44
- # 与由其提取的四字码表(TXT), 必须入库并随 mopr.finance.exchange 分发;
45
- # 同样先解除目录级忽略, 再放行其中的 CSV / TXT(package-data 与 MANIFEST.in 同步收录)。
46
- !finance/exchange/data/
47
- !finance/exchange/data/*.csv
48
- !finance/exchange/data/*.txt
35
+ temp/
49
36
 
50
37
  # Python
51
38
 
@@ -208,14 +195,14 @@ replay_pid*
208
195
  CMakeUserPresets.json
209
196
 
210
197
  # tools/license_audit 生成的许可证审计待办(有未清零项时生成,不随版本控制)
211
- THIRD_PARTY_TODO.md
198
+ THIRD-PARTY-TODO.md
212
199
 
213
200
  # 仓库根的 compile_commands.json 软链(指向 build/Release 下由 CMake 导出的产物)
214
201
  compile_commands.json
215
202
 
216
203
  # --- 编辑器/IDE 本地配置 ---
217
204
 
218
- # VS Code 工作区配置由 scripts/vscode_sync.py 按操作系统分层生成:
205
+ # VS Code 工作区配置由 python -m mopr.tools.vscode_sync 按操作系统分层生成:
219
206
  # 入库的是 .vscode-default/(共享层)与 .vscode-<platform>/(平台覆盖层),
220
207
  # 产物 .vscode/ 含与本机/平台相关的取值,不入库(本地文件保留)。
221
208
  .vscode/
@@ -2,13 +2,16 @@
2
2
  "C_Cpp.intelliSenseEngine": "disabled",
3
3
  "cmake.configureOnOpen": false,
4
4
  "cmake.useCMakePresets": "never",
5
- "cmake.buildDirectory": "${workspaceFolder}/build/debug-static",
5
+ "cmake.buildDirectory": "${workspaceFolder}/build/debug-dynamic",
6
6
  "cmake.buildType": "Debug",
7
7
  "cmake.configureArgs": [
8
- "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/build/debug-static/generators/conan_toolchain.cmake",
8
+ "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/build/debug-dynamic/generators/conan_toolchain.cmake",
9
9
  "-DCMAKE_POLICY_DEFAULT_CMP0091=NEW",
10
10
  "-DCMAKE_CONFIGURATION_TYPES=Debug"
11
11
  ],
12
+ "python.analysis.extraPaths": [
13
+ "${workspaceFolder}/.."
14
+ ],
12
15
  "code-runner.executorMap": {
13
16
  "python": "python tools/run_module.py $fullFileName"
14
17
  },
@@ -0,0 +1,15 @@
1
+ {
2
+ "vcpkg.general.vcpkgPath": "/Users/wangfeng/runtime/vcpkg",
3
+ "vcpkg.general.enable": false,
4
+ "cmake.generator": "Ninja",
5
+ "cmake.buildDirectory": "${workspaceFolder}/build/ninja-debug",
6
+ "cmake.configureArgs": [
7
+ "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/ninja-toolchain.cmake",
8
+ "-DCMAKE_POLICY_DEFAULT_CMP0091=NEW",
9
+ "--fresh"
10
+ ],
11
+ "code-runner.executorMap": {
12
+ "python": "python tools/run_module.py $fullFileName"
13
+ },
14
+ "python-envs.defaultEnvManager": "ms-python.python:pyenv"
15
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "label": "mopr: build (debug-dynamic)",
6
+ "group": {
7
+ "kind": "build",
8
+ "isDefault": false
9
+ }
10
+ },
11
+ {
12
+ "label": "mopr: build (ninja-debug)",
13
+ "type": "shell",
14
+ "command": "bash build-unix.sh",
15
+ "options": {
16
+ "cwd": "${workspaceFolder}"
17
+ },
18
+ "group": {
19
+ "kind": "build",
20
+ "isDefault": true
21
+ },
22
+ "problemMatcher": [
23
+ "$gcc"
24
+ ]
25
+ },
26
+ {
27
+ "label": "refresh clangd db (ninja-debug)",
28
+ "type": "shell",
29
+ "command": "bash refresh-clangd.sh",
30
+ "options": {
31
+ "cwd": "${workspaceFolder}"
32
+ },
33
+ "problemMatcher": []
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ // // vcpkg 全局根目录: CMakeLists.txt 在 DEFINED ENV{VCPKG_ROOT} 缺失时 FATAL_ERROR,
3
+ // // 故此处显式给出, 不依赖外部终端环境。工具链文件由同一根目录推导。
4
+ // "cmake.configureEnvironment": {
5
+ // "VCPKG_ROOT": "d:\\runtime\\vcpkg"
6
+ // },
7
+ // "vcpkg.general.vcpkgPath": "d:\\runtime\\vcpkg",
8
+ // "vcpkg.general.enable": false,
9
+ // // 生成器必须显式写死, 不能让 CMake Tools 自己挑 —— 它按
10
+ // // cmake.preferredGenerators 取, Ninja 排第一; 而 Ninja 在未进 VS x64
11
+ // // 开发环境的普通终端里找不到 cl.exe, configure 阶段就在 project() 处报
12
+ // // "CMAKE_CXX_COMPILER not set"。点 Build 的表现是: 一行编译输出都没有,
13
+ // // 只有 "Build finished with exit code -1" —— 报错里不提编译器, 极易误判
14
+ // // 成"代码改错了"。
15
+ // // Visual Studio 生成器由 MSBuild 自带工具集定位编译器, 不依赖 PATH,
16
+ // // 故钉死它。platform / toolset 一并写死, 与 build/debug-dynamic 现有
17
+ // // cache 一致 —— 换档会被 CMake 判为生成器不匹配, 同样是 configure 失败。
18
+ // // 这三项是 Windows 专属(VS 生成器), 故只落在 windows 层。
19
+ "cmake.generator": "Visual Studio 17 2022",
20
+ "cmake.platform": "x64",
21
+ "cmake.toolset": "v143",
22
+ "terminal.integrated.profiles.windows": {
23
+ "PowerShell": {
24
+ "source": "PowerShell",
25
+ "icon": "terminal-powershell",
26
+ "args": ["-NoExit", "-Command", "chcp 65001 > $null"]
27
+ }
28
+ },
29
+ "terminal.integrated.defaultProfile.windows": "PowerShell",
30
+ "python-envs.defaultEnvManager": "ms-python.python:pyenv"
31
+ }