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.
- mopr-0.0.98/.clangd +11 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.editorconfig +1 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitattributes +1 -1
- mopr-0.0.98/.githooks/commit-msg +60 -0
- mopr-0.0.98/.githooks/pre-commit +45 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitignore +3 -16
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-default/settings.json +5 -2
- mopr-0.0.98/.vscode-macos/settings.json +15 -0
- mopr-0.0.98/.vscode-macos/tasks.json +36 -0
- mopr-0.0.98/.vscode-windows/settings.json +31 -0
- mopr-0.0.98/AGENTS.md +344 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/BUILDING.md +198 -33
- mopr-0.0.98/CHANGELOG.md +6491 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/CONTRIBUTING.md +3 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/MANIFEST.in +9 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/PKG-INFO +101 -6
- mopr-0.0.71.dev10/mopr.egg-info/PKG-INFO → mopr-0.0.98/README.md +227 -159
- mopr-0.0.71.dev10/THIRD_PARTY_NOTICES.md → mopr-0.0.98/THIRD-PARTY-NOTICES.md +611 -394
- {mopr-0.0.71.dev10/python → mopr-0.0.98}/_version.py +3 -3
- mopr-0.0.98/base/README.md +51 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/__init__.py +57 -10
- mopr-0.0.98/base/bits.py +57 -0
- mopr-0.0.98/base/bits_test.py +75 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron.md +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron.py +5 -2
- mopr-0.0.98/base/environment.md +79 -0
- mopr-0.0.98/base/environment.py +443 -0
- mopr-0.0.98/base/environment_test.py +267 -0
- mopr-0.0.98/base/except.py +78 -0
- mopr-0.0.98/base/filesystem.md +183 -0
- mopr-0.0.98/base/filesystem.py +199 -0
- mopr-0.0.98/base/filesystem_test.py +121 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language.md +15 -9
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language.py +2 -2
- mopr-0.0.98/base/numeric.md +91 -0
- mopr-0.0.98/base/numeric.py +285 -0
- mopr-0.0.98/base/numeric_test.py +163 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region.md +23 -20
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region.py +15 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/region_test.py +13 -6
- mopr-0.0.98/base/singleton.py +467 -0
- mopr-0.0.98/base/singleton_test.py +505 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/strings.py +18 -3
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time.md +59 -13
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time.py +82 -31
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/time_test.py +29 -0
- mopr-0.0.98/base/timestamp.md +199 -0
- mopr-0.0.98/base/timestamp.py +295 -0
- mopr-0.0.98/base/timestamp_test.py +90 -0
- mopr-0.0.98/base/types.md +71 -0
- mopr-0.0.98/base/types.py +437 -0
- mopr-0.0.98/base/types_test.py +110 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/README.md +4 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/README.md +37 -2
- mopr-0.0.98/benchmark/micro/csv_macos_arm64.md +91 -0
- mopr-0.0.98/conanfile.py +243 -0
- mopr-0.0.98/config/README.md +16 -0
- mopr-0.0.98/config/__init__.py +45 -0
- mopr-0.0.98/config/config.md +89 -0
- mopr-0.0.98/config/config.py +98 -0
- mopr-0.0.98/data/README.md +25 -0
- mopr-0.0.98/data/adapter.md +103 -0
- mopr-0.0.98/data/adapter.py +849 -0
- mopr-0.0.98/data/adapter_test.py +1032 -0
- mopr-0.0.98/data/base.py +60 -0
- mopr-0.0.98/data/cache.md +101 -0
- mopr-0.0.98/data/cache.py +138 -0
- mopr-0.0.98/data/cache_test.py +94 -0
- mopr-0.0.98/data/contrib/__init__.py +0 -0
- mopr-0.0.98/data/contrib/forex/__init__.py +39 -0
- mopr-0.0.98/data/contrib/forex/bcd.py +330 -0
- mopr-0.0.98/data/contrib/forex/bceao.py +553 -0
- mopr-0.0.98/data/contrib/forex/bog.py +552 -0
- mopr-0.0.98/data/contrib/forex/bsl.py +522 -0
- mopr-0.0.98/data/contrib/forex/datasource.py +49 -0
- mopr-0.0.98/data/contrib/forex/ecb.py +435 -0
- mopr-0.0.98/data/contrib/forex/fed.py +796 -0
- mopr-0.0.98/data/contrib/forex/hkma.py +328 -0
- mopr-0.0.98/data/contrib/forex/number.py +100 -0
- mopr-0.0.98/data/contrib/forex/official_source.py +79 -0
- mopr-0.0.98/data/contrib/forex/pboc.py +1330 -0
- mopr-0.0.98/data/contrib/forex/quote.py +132 -0
- mopr-0.0.98/data/contrib/forex/seeds/README.md +94 -0
- mopr-0.0.98/data/contrib/forex/seeds/bog.csv +7542 -0
- mopr-0.0.98/data/contrib/forex/seeds/embedded_resources.cpp +85 -0
- mopr-0.0.98/data/contrib/forex/seeds/embedded_resources.h +34 -0
- mopr-0.0.98/data/contrib/forex/seeds/forex_cny_pboc.csv +8055 -0
- mopr-0.0.98/data/contrib/forex/seeds/forex_ghs_bog.csv +7540 -0
- mopr-0.0.98/data/contrib/forex/seeds/forex_ghs_bog_quotes.json +1 -0
- mopr-0.0.98/data/contrib/forex/seeds/forex_hkd_hkma.csv +13482 -0
- mopr-0.0.98/data/contrib/forex/seeds/forex_usd_fed.csv +13978 -0
- mopr-0.0.98/data/contrib/forex/seeds/resources.S +34 -0
- mopr-0.0.98/data/contrib/forex/seeds/resources.rc +12 -0
- mopr-0.0.98/data/datasource.py +161 -0
- mopr-0.0.98/data/finance.py +25 -0
- mopr-0.0.98/data/market.md +291 -0
- mopr-0.0.98/data/market.py +610 -0
- mopr-0.0.98/data/meta/README.md +55 -0
- mopr-0.0.98/data/meta/__init__.py +19 -0
- mopr-0.0.98/data/meta/asset_class_cn.py +133 -0
- {mopr-0.0.71.dev10/finance/exchange → mopr-0.0.98/data/meta}/authority.py +60 -21
- mopr-0.0.98/data/meta/calendar.md +233 -0
- mopr-0.0.98/data/meta/calendar.py +325 -0
- mopr-0.0.98/data/meta/calendar_cfets.md +129 -0
- mopr-0.0.98/data/meta/calendar_cfets.py +134 -0
- mopr-0.0.98/data/meta/calendar_cfets_test.py +233 -0
- mopr-0.0.98/data/meta/calendar_cn.md +117 -0
- mopr-0.0.98/data/meta/calendar_cn.py +113 -0
- mopr-0.0.98/data/meta/calendar_djf.py +20 -0
- mopr-0.0.98/data/meta/calendar_djf_sle_test.py +225 -0
- mopr-0.0.98/data/meta/calendar_eur.py +19 -0
- mopr-0.0.98/data/meta/calendar_forex.py +304 -0
- mopr-0.0.98/data/meta/calendar_forex_holidays.py +75 -0
- mopr-0.0.98/data/meta/calendar_forex_test.py +353 -0
- mopr-0.0.98/data/meta/calendar_ghs.py +176 -0
- mopr-0.0.98/data/meta/calendar_ghs_holidays.py +37 -0
- mopr-0.0.98/data/meta/calendar_ghs_test.py +190 -0
- mopr-0.0.98/data/meta/calendar_hkd.py +19 -0
- mopr-0.0.98/data/meta/calendar_seed.py +27 -0
- mopr-0.0.98/data/meta/calendar_sle.py +69 -0
- mopr-0.0.98/data/meta/calendar_test.py +225 -0
- mopr-0.0.98/data/meta/calendar_usd.py +28 -0
- mopr-0.0.98/data/meta/calendar_xof.py +18 -0
- mopr-0.0.98/data/meta/calendar_xof_holidays.py +28 -0
- mopr-0.0.98/data/meta/exchange.md +213 -0
- mopr-0.0.98/data/meta/exchange.py +468 -0
- mopr-0.0.98/data/meta/frequency.py +165 -0
- mopr-0.0.98/data/meta/fund.md +83 -0
- mopr-0.0.98/data/meta/fund.py +82 -0
- mopr-0.0.98/data/meta/holiday.py +451 -0
- {mopr-0.0.71.dev10/finance/exchange → mopr-0.0.98/data/meta}/institution.py +62 -31
- mopr-0.0.98/data/meta/instrument.md +184 -0
- mopr-0.0.98/data/meta/instrument.py +312 -0
- mopr-0.0.98/data/meta/layout.py +19 -0
- mopr-0.0.98/data/meta/monetary.md +115 -0
- mopr-0.0.98/data/meta/monetary.py +384 -0
- mopr-0.0.98/data/meta/monetary_test.py +148 -0
- mopr-0.0.98/data/meta/money.md +115 -0
- mopr-0.0.98/data/meta/money.py +159 -0
- mopr-0.0.98/data/meta/money_test.py +106 -0
- mopr-0.0.98/data/meta/seeds/README.md +84 -0
- mopr-0.0.98/data/meta/seeds/calendar_cny.base +8059 -0
- mopr-0.0.98/data/meta/seeds/calendar_cny.h +5557 -0
- mopr-0.0.98/data/meta/seeds/calendar_eur.base +7099 -0
- mopr-0.0.98/data/meta/seeds/calendar_eur.h +4897 -0
- mopr-0.0.98/data/meta/seeds/calendar_ghs.base +7543 -0
- mopr-0.0.98/data/meta/seeds/calendar_ghs.h +5202 -0
- mopr-0.0.98/data/meta/seeds/calendar_hkd.base +13482 -0
- mopr-0.0.98/data/meta/seeds/calendar_hkd.h +9285 -0
- mopr-0.0.98/data/meta/seeds/calendar_sle.base +1060 -0
- mopr-0.0.98/data/meta/seeds/calendar_sle.h +745 -0
- mopr-0.0.98/data/meta/seeds/calendar_usd.base +13983 -0
- mopr-0.0.98/data/meta/seeds/calendar_usd.h +9629 -0
- mopr-0.0.98/data/meta/seeds/calendar_xof.base +2479 -0
- mopr-0.0.98/data/meta/seeds/calendar_xof.h +1720 -0
- mopr-0.0.98/data/meta/seeds/monetary_list-one.h +2985 -0
- mopr-0.0.98/data/meta/seeds/monetary_list-one.xml +1956 -0
- mopr-0.0.98/data/meta/session.md +157 -0
- mopr-0.0.98/data/meta/session.py +885 -0
- mopr-0.0.98/data/meta/session_test.py +335 -0
- mopr-0.0.98/data/meta/workday.md +140 -0
- mopr-0.0.98/data/meta/workday.py +485 -0
- mopr-0.0.98/data/meta/workday_test.py +202 -0
- mopr-0.0.98/data/schema/README.md +26 -0
- mopr-0.0.98/data/schema/adjustment.md +92 -0
- mopr-0.0.98/data/schema/bar.md +28 -0
- mopr-0.0.98/data/schema/company.md +18 -0
- mopr-0.0.98/data/schema/dividend.md +124 -0
- mopr-0.0.98/data/schema/sector.md +20 -0
- mopr-0.0.98/data/schema/trade.md +36 -0
- mopr-0.0.98/data/status.py +55 -0
- mopr-0.0.98/distributed/README.md +39 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/state_store.py +1 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/README.md +13 -8
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/csv.md +74 -23
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/csv.py +7 -6
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/yaml.md +1 -1
- mopr-0.0.98/io/README.md +41 -0
- mopr-0.0.98/io/__init__.py +34 -0
- mopr-0.0.98/io/connection_pool.md +57 -0
- mopr-0.0.98/io/connection_pool.py +361 -0
- mopr-0.0.98/io/endpoint.md +52 -0
- mopr-0.0.98/io/endpoint.py +96 -0
- mopr-0.0.98/io/http.md +92 -0
- mopr-0.0.98/io/http.py +154 -0
- mopr-0.0.98/io/operation_handler.md +52 -0
- mopr-0.0.98/io/operation_handler.py +54 -0
- mopr-0.0.98/log/README.md +49 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/log/__init__.py +5 -2
- mopr-0.0.98/log/logger.md +102 -0
- mopr-0.0.71.dev10/log/core.py → mopr-0.0.98/log/logger.py +21 -20
- mopr-0.0.98/machine/README.md +32 -0
- mopr-0.0.98/main.py +215 -0
- mopr-0.0.98/meta/README.md +163 -0
- mopr-0.0.98/meta/__init__.py +49 -0
- mopr-0.0.98/meta/asset_class.py +282 -0
- mopr-0.0.98/meta/asset_class_instrument.py +287 -0
- mopr-0.0.98/meta/asset_class_legacy.py +257 -0
- mopr-0.0.98/meta/asset_class_nature.py +189 -0
- mopr-0.0.98/meta/asset_class_tags.py +170 -0
- mopr-0.0.98/meta/asset_master.py +333 -0
- mopr-0.0.98/meta/entities.py +339 -0
- mopr-0.0.98/meta/entities_test.py +207 -0
- mopr-0.0.71.dev10/README.md → mopr-0.0.98/mopr.egg-info/PKG-INFO +254 -139
- mopr-0.0.98/mopr.egg-info/SOURCES.txt +337 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/entry_points.txt +1 -0
- mopr-0.0.98/mopr.egg-info/requires.txt +15 -0
- mopr-0.0.98/mopr.egg-info/scm_file_list.json +317 -0
- mopr-0.0.98/mopr.egg-info/scm_version.json +8 -0
- mopr-0.0.98/pyproject.toml +163 -0
- mopr-0.0.98/runtime/README.md +35 -0
- mopr-0.0.98/runtime/__init__.py +9 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once.md +55 -52
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once.py +59 -23
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/once_test.py +45 -25
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer.py +1 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/scheduler.md +45 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/scheduler.py +106 -44
- mopr-0.0.98/runtime/scheduler_test.py +193 -0
- mopr-0.0.98/security/README.md +34 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/README.md +6 -6
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/credential_test.py +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/rbac_test.py +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/session_test.py +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/token_test.py +2 -2
- mopr-0.0.98/spec/README.md +43 -0
- mopr-0.0.98/spec/api.md +108 -0
- mopr-0.0.98/storage/README.md +35 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/__init__.py +5 -4
- mopr-0.0.98/storage/storage.md +87 -0
- mopr-0.0.98/storage/storage.py +154 -0
- mopr-0.0.98/storage/storage_test.py +105 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal.md +9 -8
- {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal.py +136 -70
- {mopr-0.0.71.dev10 → mopr-0.0.98}/storage/wal_test.py +62 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/__init__.py +6 -0
- mopr-0.0.98/tools/bin2header.py +209 -0
- mopr-0.0.98/tools/gen_seed_headers.py +173 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/__init__.py +4 -4
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/cli.py +6 -6
- mopr-0.0.98/tools/license_audit/fetch.py +231 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/cpp.py +2 -6
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/go.py +4 -8
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/java.py +2 -8
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/python.py +8 -12
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/rust.py +2 -8
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/notices.py +7 -7
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/report.py +3 -3
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/todo.py +3 -3
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/__init__.py +1 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/cli.py +1 -1
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/core.py +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/project_meta.py +2 -2
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/run_module.py +20 -162
- mopr-0.0.98/tools/vscode_sync/__init__.py +86 -0
- mopr-0.0.98/tools/vscode_sync/__main__.py +12 -0
- mopr-0.0.98/tools/vscode_sync/cli.py +93 -0
- mopr-0.0.98/tools/vscode_sync/jsonc.py +153 -0
- mopr-0.0.98/tools/vscode_sync/jsonc_test.py +98 -0
- mopr-0.0.98/tools/vscode_sync/layers.py +287 -0
- mopr-0.0.98/tools/vscode_sync/layers_test.py +295 -0
- mopr-0.0.71.dev10/.clangd +0 -8
- mopr-0.0.71.dev10/.githooks/commit-msg +0 -9
- mopr-0.0.71.dev10/.vscode-macos/settings.json +0 -5
- mopr-0.0.71.dev10/.vscode-macos/tasks.json +0 -14
- mopr-0.0.71.dev10/.vscode-windows/settings.json +0 -11
- mopr-0.0.71.dev10/AGENTS.md +0 -192
- mopr-0.0.71.dev10/CHANGELOG.md +0 -2452
- mopr-0.0.71.dev10/base/dataclass_utils.py +0 -36
- mopr-0.0.71.dev10/base/environment.py +0 -144
- mopr-0.0.71.dev10/base/filesystem.py +0 -98
- mopr-0.0.71.dev10/base/timestamp.md +0 -235
- mopr-0.0.71.dev10/base/timestamp.py +0 -388
- mopr-0.0.71.dev10/base/types.py +0 -8
- mopr-0.0.71.dev10/finance/exchange/README.md +0 -202
- mopr-0.0.71.dev10/finance/exchange/__init__.py +0 -46
- mopr-0.0.71.dev10/finance/exchange/data/ISO10383_MIC.csv +0 -2876
- mopr-0.0.71.dev10/finance/exchange/data/mic_codes.txt +0 -2875
- mopr-0.0.71.dev10/finance/exchange/exchange.py +0 -447
- mopr-0.0.71.dev10/finance/forex/README.md +0 -377
- mopr-0.0.71.dev10/finance/forex/__init__.py +0 -155
- mopr-0.0.71.dev10/finance/forex/allratestoday.py +0 -403
- mopr-0.0.71.dev10/finance/forex/bcd.py +0 -773
- mopr-0.0.71.dev10/finance/forex/bog.py +0 -931
- mopr-0.0.71.dev10/finance/forex/cfets.py +0 -1384
- mopr-0.0.71.dev10/finance/forex/ecb.py +0 -693
- mopr-0.0.71.dev10/finance/forex/exchange_rate_api.py +0 -319
- mopr-0.0.71.dev10/finance/forex/fed.py +0 -1245
- mopr-0.0.71.dev10/finance/forex/forex.py +0 -2113
- mopr-0.0.71.dev10/finance/forex/hkma.py +0 -791
- mopr-0.0.71.dev10/finance/forex/official_source.py +0 -193
- mopr-0.0.71.dev10/finance/forex/xof.py +0 -932
- mopr-0.0.71.dev10/finance/forex/yahoo.py +0 -202
- mopr-0.0.71.dev10/mopr.egg-info/SOURCES.txt +0 -185
- mopr-0.0.71.dev10/mopr.egg-info/requires.txt +0 -6
- mopr-0.0.71.dev10/mopr.egg-info/scm_file_list.json +0 -177
- mopr-0.0.71.dev10/mopr.egg-info/scm_version.json +0 -8
- mopr-0.0.71.dev10/pyproject.toml +0 -109
- mopr-0.0.71.dev10/runtime/__init__.py +0 -5
- mopr-0.0.71.dev10/security/README.md +0 -4
- mopr-0.0.71.dev10/spec/api.md +0 -24
- mopr-0.0.71.dev10/storage/storage.md +0 -198
- mopr-0.0.71.dev10/storage/storage.py +0 -69
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.clang-format +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.clang-tidy +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitee/ISSUE_TEMPLATE/config.yml +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.gitee/ISSUE_TEMPLATE/proposal.yml +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-default/tasks.json +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-windows/launch.json +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/.vscode-windows/tasks.json +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/LICENSE +0 -0
- {mopr-0.0.71.dev10/python → mopr-0.0.98}/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/crc32_test.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/cron_test.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/language_test.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/mmap_test.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/base/strings.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/macro/README.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/crc32_macos_arm64.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/ringbuffer_macos_arm64.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/ringbuffer_windows_amd64.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/wal_macos_arm64.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/micro/wal_windows_amd64.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/regression/README.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/benchmark/stability/README.md +0 -0
- {mopr-0.0.71.dev10/finance → mopr-0.0.98/data}/__init__.py +0 -0
- /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
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/README.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/generator.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/hlc.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/id.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/option.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/queue.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/distributed/id/tests.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/charsets.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/json.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/encoding/yaml.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/machine/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/machine/id.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/dependency_links.txt +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/mopr.egg-info/top_level.txt +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/runtime/ringbuffer_test.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/audit/README.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/authorize.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/catalog.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/credential.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/errors.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/model.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/principal.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/session.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/spi.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/auth/token.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/security/compliance/README.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/setup.cfg +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/spec/behavior.md +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/__main__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/__main__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_audit/handlers/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/__main__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/__init__.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/base.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/cpp.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/css.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/go.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/html.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/java.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/javascript.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/python.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/rust.py +0 -0
- {mopr-0.0.71.dev10 → mopr-0.0.98}/tools/license_header/handlers/typescript.py +0 -0
- {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
|
|
@@ -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 源码与合规物 (
|
|
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
|
-
|
|
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
|
-
|
|
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 工作区配置由
|
|
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-
|
|
5
|
+
"cmake.buildDirectory": "${workspaceFolder}/build/debug-dynamic",
|
|
6
6
|
"cmake.buildType": "Debug",
|
|
7
7
|
"cmake.configureArgs": [
|
|
8
|
-
"-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/build/debug-
|
|
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
|
+
}
|