deepquant 0.4.5__cp310-none-win_amd64.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.
- deepquant/__init__.py +1 -0
- deepquant/__main__.py +19 -0
- deepquant/data/__init__.py +0 -0
- deepquant/data/gqclient/__init__.py +8 -0
- deepquant/data/gqclient/commons.py +300 -0
- deepquant/data/gqclient/hclient.py +535 -0
- deepquant/data/gqclient/wsclient.py +602 -0
- deepquant/data/gqclient/wshandler.py +114 -0
- deepquant/data/interface/__init__.py +0 -0
- deepquant/data/interface/dataApi.py +215 -0
- deepquant/data/interface/enum.py +48 -0
- deepquant/data/interface/gid.py +2244 -0
- deepquant/data/proto/__init__.py +8 -0
- deepquant/data/proto/base_pb2.py +200 -0
- deepquant/data/proto/common_pb2.py +390 -0
- deepquant/data/proto/data_type_pb2.py +324 -0
- deepquant/data/proto/financial_fun_pb2.py +314 -0
- deepquant/data/proto/market_data_pb2.py +1209 -0
- deepquant/data/proto/news_pb2.py +13436 -0
- deepquant/data/proto/pb_json_format.py +1049 -0
- deepquant/data/proto/proto_utils.py +178 -0
- deepquant/data/proto/real_time_md_pb2.py +325 -0
- deepquant/data/proto/realtime_factor_data_pb2.py +100 -0
- deepquant/data/proto/realtime_factor_server_pb2.py +232 -0
- deepquant/data/proto/replay_pb2.py +241 -0
- deepquant/data/proto/sdk_message_pb2.py +417 -0
- deepquant/data/utils/__init__.py +8 -0
- deepquant/data/utils/encrypt_util.py +27 -0
- deepquant/data/utils/gqconfig.py +198 -0
- deepquant/data/utils/gqconfig_dev.py +30 -0
- deepquant/data/utils/gqconfig_hub.py +55 -0
- deepquant/data/utils/gqconfig_inner.py +30 -0
- deepquant/data/utils/gqconfig_prod.py +30 -0
- deepquant/data/utils/gqconfig_test.py +30 -0
- deepquant/data/utils/gqconfig_uat.py +30 -0
- deepquant/data/utils/log_writer.py +55 -0
- deepquant/docs//321/211/320/243/342/225/242/321/206/342/226/223/342/224/202/321/207/320/275/320/246/321/207/320/245/320/265/321/204/342/225/225/320/275/321/205/342/224/220/320/223_/321/205/320/253/320/260/321/205/320/275/320/240/321/205/320/230/320/226/321/206/320/256/320/240SDK/321/204/342/225/234/342/224/220/321/207/320/244/320/270/321/210/320/277/342/224/244/321/206/320/250/320/236.pdf +0 -0
- deepquant/docs//321/211/320/243/342/225/242/321/206/342/226/223/342/224/202/321/207/320/275/320/246/321/207/320/245/320/265/321/204/342/225/225/320/275/321/205/342/224/220/320/223_/321/206/320/245/342/226/221/321/206/320/235/320/276SDK/321/204/342/225/234/342/224/220/321/207/320/244/320/270/321/210/320/277/342/224/244/321/206/320/250/320/236.pdf +0 -0
- deepquant/docs//321/211/320/243/342/225/242/321/206/342/226/223/342/224/202/321/207/320/275/320/246/321/207/320/245/320/265/321/204/342/225/225/320/275/321/205/342/224/220/320/223/321/204/342/225/234/342/224/220/321/207/320/244/320/270/321/206/320/231/320/233/321/205/320/226/320/234(/321/206/320/245/342/226/221/321/206/320/235/320/276/321/205/320/242/320/234/321/205/320/253/320/260/321/205/320/275/320/240).pdf +0 -0
- deepquant/examples/get_factors.py +19 -0
- deepquant/examples/get_kline.py +14 -0
- deepquant/factor/__init__.py +0 -0
- deepquant/factor/analysor.py +302 -0
- deepquant/factor/calc.py +46 -0
- deepquant/factor/data_desp_default.yaml +1347 -0
- deepquant/factor/factor_analyzer.py +1733 -0
- deepquant/factor/factor_cal.py +235 -0
- deepquant/factor/factor_parser.py +325 -0
- deepquant/factor/financial_data_clean.py +426 -0
- deepquant/factor/globals.py +378 -0
- deepquant/factor/mgr.py +63 -0
- deepquant/factor/op.py +990 -0
- deepquant/factor/op_udf.py +549 -0
- deepquant/factor/oq_data.py +466 -0
- deepquant/factor/perf.py +768 -0
- deepquant/factor/plotting.py +725 -0
- deepquant/factor/summary.py +140 -0
- deepquant/factor/utils.py +68 -0
- deepquant/oplib/__init__.py +42 -0
- deepquant/oplib/_connection.py +20 -0
- deepquant/oplib/_core.py +17 -0
- deepquant/oplib/_enums.py +82 -0
- deepquant/oplib/_helper.py +14 -0
- deepquant/oplib/_runtime.py +56 -0
- deepquant/oplib/_swordfishcpp/__init__.pyi +580 -0
- deepquant/oplib/_swordfishcpp/_enums/__init__.pyi +70 -0
- deepquant/oplib/_swordfishcpp/_exception/__init__.pyi +10 -0
- deepquant/oplib/_swordfishcpp/_function/__init__.pyi +0 -0
- deepquant/oplib/_swordfishcpp/_io/__init__.pyi +52 -0
- deepquant/oplib/_swordfishcpp/_tools/__init__.pyi +13 -0
- deepquant/oplib/_swordfishcpp.cp310-win_amd64.pyd +0 -0
- deepquant/oplib/_translator.py +502 -0
- deepquant/oplib/config.py +92 -0
- deepquant/oplib/connection.py +6 -0
- deepquant/oplib/data.py +354 -0
- deepquant/oplib/dolphindb.cfg +20 -0
- deepquant/oplib/dolphindb.dos +71 -0
- deepquant/oplib/enums.py +30 -0
- deepquant/oplib/exception.py +8 -0
- deepquant/oplib/function.py +4074 -0
- deepquant/oplib/io.py +9 -0
- deepquant/oplib/libSwordfish.dll +0 -0
- deepquant/oplib/libgcc_s_seh-1.dll +0 -0
- deepquant/oplib/libstdc++-6.dll +0 -0
- deepquant/oplib/libwinpthread-1.dll +0 -0
- deepquant/oplib/tools.py +10 -0
- deepquant/oplib/types.py +30 -0
- deepquant/oplib/tzdb/Africa/Abidjan +0 -0
- deepquant/oplib/tzdb/Africa/Accra +0 -0
- deepquant/oplib/tzdb/Africa/Addis_Ababa +0 -0
- deepquant/oplib/tzdb/Africa/Algiers +0 -0
- deepquant/oplib/tzdb/Africa/Asmara +0 -0
- deepquant/oplib/tzdb/Africa/Asmera +0 -0
- deepquant/oplib/tzdb/Africa/Bamako +0 -0
- deepquant/oplib/tzdb/Africa/Bangui +0 -0
- deepquant/oplib/tzdb/Africa/Banjul +0 -0
- deepquant/oplib/tzdb/Africa/Bissau +0 -0
- deepquant/oplib/tzdb/Africa/Blantyre +0 -0
- deepquant/oplib/tzdb/Africa/Brazzaville +0 -0
- deepquant/oplib/tzdb/Africa/Bujumbura +0 -0
- deepquant/oplib/tzdb/Africa/Cairo +0 -0
- deepquant/oplib/tzdb/Africa/Casablanca +0 -0
- deepquant/oplib/tzdb/Africa/Ceuta +0 -0
- deepquant/oplib/tzdb/Africa/Conakry +0 -0
- deepquant/oplib/tzdb/Africa/Dakar +0 -0
- deepquant/oplib/tzdb/Africa/Dar_es_Salaam +0 -0
- deepquant/oplib/tzdb/Africa/Djibouti +0 -0
- deepquant/oplib/tzdb/Africa/Douala +0 -0
- deepquant/oplib/tzdb/Africa/El_Aaiun +0 -0
- deepquant/oplib/tzdb/Africa/Freetown +0 -0
- deepquant/oplib/tzdb/Africa/Gaborone +0 -0
- deepquant/oplib/tzdb/Africa/Harare +0 -0
- deepquant/oplib/tzdb/Africa/Johannesburg +0 -0
- deepquant/oplib/tzdb/Africa/Juba +0 -0
- deepquant/oplib/tzdb/Africa/Kampala +0 -0
- deepquant/oplib/tzdb/Africa/Khartoum +0 -0
- deepquant/oplib/tzdb/Africa/Kigali +0 -0
- deepquant/oplib/tzdb/Africa/Kinshasa +0 -0
- deepquant/oplib/tzdb/Africa/Lagos +0 -0
- deepquant/oplib/tzdb/Africa/Libreville +0 -0
- deepquant/oplib/tzdb/Africa/Lome +0 -0
- deepquant/oplib/tzdb/Africa/Luanda +0 -0
- deepquant/oplib/tzdb/Africa/Lubumbashi +0 -0
- deepquant/oplib/tzdb/Africa/Lusaka +0 -0
- deepquant/oplib/tzdb/Africa/Malabo +0 -0
- deepquant/oplib/tzdb/Africa/Maputo +0 -0
- deepquant/oplib/tzdb/Africa/Maseru +0 -0
- deepquant/oplib/tzdb/Africa/Mbabane +0 -0
- deepquant/oplib/tzdb/Africa/Mogadishu +0 -0
- deepquant/oplib/tzdb/Africa/Monrovia +0 -0
- deepquant/oplib/tzdb/Africa/Nairobi +0 -0
- deepquant/oplib/tzdb/Africa/Ndjamena +0 -0
- deepquant/oplib/tzdb/Africa/Niamey +0 -0
- deepquant/oplib/tzdb/Africa/Nouakchott +0 -0
- deepquant/oplib/tzdb/Africa/Ouagadougou +0 -0
- deepquant/oplib/tzdb/Africa/Porto-Novo +0 -0
- deepquant/oplib/tzdb/Africa/Sao_Tome +0 -0
- deepquant/oplib/tzdb/Africa/Timbuktu +0 -0
- deepquant/oplib/tzdb/Africa/Tripoli +0 -0
- deepquant/oplib/tzdb/Africa/Tunis +0 -0
- deepquant/oplib/tzdb/Africa/Windhoek +0 -0
- deepquant/oplib/tzdb/America/Adak +0 -0
- deepquant/oplib/tzdb/America/Anchorage +0 -0
- deepquant/oplib/tzdb/America/Anguilla +0 -0
- deepquant/oplib/tzdb/America/Antigua +0 -0
- deepquant/oplib/tzdb/America/Araguaina +0 -0
- deepquant/oplib/tzdb/America/Argentina/Buenos_Aires +0 -0
- deepquant/oplib/tzdb/America/Argentina/Catamarca +0 -0
- deepquant/oplib/tzdb/America/Argentina/ComodRivadavia +0 -0
- deepquant/oplib/tzdb/America/Argentina/Cordoba +0 -0
- deepquant/oplib/tzdb/America/Argentina/Jujuy +0 -0
- deepquant/oplib/tzdb/America/Argentina/La_Rioja +0 -0
- deepquant/oplib/tzdb/America/Argentina/Mendoza +0 -0
- deepquant/oplib/tzdb/America/Argentina/Rio_Gallegos +0 -0
- deepquant/oplib/tzdb/America/Argentina/Salta +0 -0
- deepquant/oplib/tzdb/America/Argentina/San_Juan +0 -0
- deepquant/oplib/tzdb/America/Argentina/San_Luis +0 -0
- deepquant/oplib/tzdb/America/Argentina/Tucuman +0 -0
- deepquant/oplib/tzdb/America/Argentina/Ushuaia +0 -0
- deepquant/oplib/tzdb/America/Aruba +0 -0
- deepquant/oplib/tzdb/America/Asuncion +0 -0
- deepquant/oplib/tzdb/America/Atikokan +0 -0
- deepquant/oplib/tzdb/America/Atka +0 -0
- deepquant/oplib/tzdb/America/Bahia +0 -0
- deepquant/oplib/tzdb/America/Bahia_Banderas +0 -0
- deepquant/oplib/tzdb/America/Barbados +0 -0
- deepquant/oplib/tzdb/America/Belem +0 -0
- deepquant/oplib/tzdb/America/Belize +0 -0
- deepquant/oplib/tzdb/America/Blanc-Sablon +0 -0
- deepquant/oplib/tzdb/America/Boa_Vista +0 -0
- deepquant/oplib/tzdb/America/Bogota +0 -0
- deepquant/oplib/tzdb/America/Boise +0 -0
- deepquant/oplib/tzdb/America/Buenos_Aires +0 -0
- deepquant/oplib/tzdb/America/Cambridge_Bay +0 -0
- deepquant/oplib/tzdb/America/Campo_Grande +0 -0
- deepquant/oplib/tzdb/America/Cancun +0 -0
- deepquant/oplib/tzdb/America/Caracas +0 -0
- deepquant/oplib/tzdb/America/Catamarca +0 -0
- deepquant/oplib/tzdb/America/Cayenne +0 -0
- deepquant/oplib/tzdb/America/Cayman +0 -0
- deepquant/oplib/tzdb/America/Chicago +0 -0
- deepquant/oplib/tzdb/America/Chihuahua +0 -0
- deepquant/oplib/tzdb/America/Coral_Harbour +0 -0
- deepquant/oplib/tzdb/America/Cordoba +0 -0
- deepquant/oplib/tzdb/America/Costa_Rica +0 -0
- deepquant/oplib/tzdb/America/Creston +0 -0
- deepquant/oplib/tzdb/America/Cuiaba +0 -0
- deepquant/oplib/tzdb/America/Curacao +0 -0
- deepquant/oplib/tzdb/America/Danmarkshavn +0 -0
- deepquant/oplib/tzdb/America/Dawson +0 -0
- deepquant/oplib/tzdb/America/Dawson_Creek +0 -0
- deepquant/oplib/tzdb/America/Denver +0 -0
- deepquant/oplib/tzdb/America/Detroit +0 -0
- deepquant/oplib/tzdb/America/Dominica +0 -0
- deepquant/oplib/tzdb/America/Edmonton +0 -0
- deepquant/oplib/tzdb/America/Eirunepe +0 -0
- deepquant/oplib/tzdb/America/El_Salvador +0 -0
- deepquant/oplib/tzdb/America/Ensenada +0 -0
- deepquant/oplib/tzdb/America/Fort_Nelson +0 -0
- deepquant/oplib/tzdb/America/Fort_Wayne +0 -0
- deepquant/oplib/tzdb/America/Fortaleza +0 -0
- deepquant/oplib/tzdb/America/Glace_Bay +0 -0
- deepquant/oplib/tzdb/America/Godthab +0 -0
- deepquant/oplib/tzdb/America/Goose_Bay +0 -0
- deepquant/oplib/tzdb/America/Grand_Turk +0 -0
- deepquant/oplib/tzdb/America/Grenada +0 -0
- deepquant/oplib/tzdb/America/Guadeloupe +0 -0
- deepquant/oplib/tzdb/America/Guatemala +0 -0
- deepquant/oplib/tzdb/America/Guayaquil +0 -0
- deepquant/oplib/tzdb/America/Guyana +0 -0
- deepquant/oplib/tzdb/America/Halifax +0 -0
- deepquant/oplib/tzdb/America/Havana +0 -0
- deepquant/oplib/tzdb/America/Hermosillo +0 -0
- deepquant/oplib/tzdb/America/Indiana/Indianapolis +0 -0
- deepquant/oplib/tzdb/America/Indiana/Knox +0 -0
- deepquant/oplib/tzdb/America/Indiana/Marengo +0 -0
- deepquant/oplib/tzdb/America/Indiana/Petersburg +0 -0
- deepquant/oplib/tzdb/America/Indiana/Tell_City +0 -0
- deepquant/oplib/tzdb/America/Indiana/Vevay +0 -0
- deepquant/oplib/tzdb/America/Indiana/Vincennes +0 -0
- deepquant/oplib/tzdb/America/Indiana/Winamac +0 -0
- deepquant/oplib/tzdb/America/Indianapolis +0 -0
- deepquant/oplib/tzdb/America/Inuvik +0 -0
- deepquant/oplib/tzdb/America/Iqaluit +0 -0
- deepquant/oplib/tzdb/America/Jamaica +0 -0
- deepquant/oplib/tzdb/America/Jujuy +0 -0
- deepquant/oplib/tzdb/America/Juneau +0 -0
- deepquant/oplib/tzdb/America/Kentucky/Louisville +0 -0
- deepquant/oplib/tzdb/America/Kentucky/Monticello +0 -0
- deepquant/oplib/tzdb/America/Knox_IN +0 -0
- deepquant/oplib/tzdb/America/Kralendijk +0 -0
- deepquant/oplib/tzdb/America/La_Paz +0 -0
- deepquant/oplib/tzdb/America/Lima +0 -0
- deepquant/oplib/tzdb/America/Los_Angeles +0 -0
- deepquant/oplib/tzdb/America/Louisville +0 -0
- deepquant/oplib/tzdb/America/Lower_Princes +0 -0
- deepquant/oplib/tzdb/America/Maceio +0 -0
- deepquant/oplib/tzdb/America/Managua +0 -0
- deepquant/oplib/tzdb/America/Manaus +0 -0
- deepquant/oplib/tzdb/America/Marigot +0 -0
- deepquant/oplib/tzdb/America/Martinique +0 -0
- deepquant/oplib/tzdb/America/Matamoros +0 -0
- deepquant/oplib/tzdb/America/Mazatlan +0 -0
- deepquant/oplib/tzdb/America/Mendoza +0 -0
- deepquant/oplib/tzdb/America/Menominee +0 -0
- deepquant/oplib/tzdb/America/Merida +0 -0
- deepquant/oplib/tzdb/America/Metlakatla +0 -0
- deepquant/oplib/tzdb/America/Mexico_City +0 -0
- deepquant/oplib/tzdb/America/Miquelon +0 -0
- deepquant/oplib/tzdb/America/Moncton +0 -0
- deepquant/oplib/tzdb/America/Monterrey +0 -0
- deepquant/oplib/tzdb/America/Montevideo +0 -0
- deepquant/oplib/tzdb/America/Montreal +0 -0
- deepquant/oplib/tzdb/America/Montserrat +0 -0
- deepquant/oplib/tzdb/America/Nassau +0 -0
- deepquant/oplib/tzdb/America/New_York +0 -0
- deepquant/oplib/tzdb/America/Nipigon +0 -0
- deepquant/oplib/tzdb/America/Nome +0 -0
- deepquant/oplib/tzdb/America/Noronha +0 -0
- deepquant/oplib/tzdb/America/North_Dakota/Beulah +0 -0
- deepquant/oplib/tzdb/America/North_Dakota/Center +0 -0
- deepquant/oplib/tzdb/America/North_Dakota/New_Salem +0 -0
- deepquant/oplib/tzdb/America/Ojinaga +0 -0
- deepquant/oplib/tzdb/America/Panama +0 -0
- deepquant/oplib/tzdb/America/Pangnirtung +0 -0
- deepquant/oplib/tzdb/America/Paramaribo +0 -0
- deepquant/oplib/tzdb/America/Phoenix +0 -0
- deepquant/oplib/tzdb/America/Port-au-Prince +0 -0
- deepquant/oplib/tzdb/America/Port_of_Spain +0 -0
- deepquant/oplib/tzdb/America/Porto_Acre +0 -0
- deepquant/oplib/tzdb/America/Porto_Velho +0 -0
- deepquant/oplib/tzdb/America/Puerto_Rico +0 -0
- deepquant/oplib/tzdb/America/Punta_Arenas +0 -0
- deepquant/oplib/tzdb/America/Rainy_River +0 -0
- deepquant/oplib/tzdb/America/Rankin_Inlet +0 -0
- deepquant/oplib/tzdb/America/Recife +0 -0
- deepquant/oplib/tzdb/America/Regina +0 -0
- deepquant/oplib/tzdb/America/Resolute +0 -0
- deepquant/oplib/tzdb/America/Rio_Branco +0 -0
- deepquant/oplib/tzdb/America/Rosario +0 -0
- deepquant/oplib/tzdb/America/Santa_Isabel +0 -0
- deepquant/oplib/tzdb/America/Santarem +0 -0
- deepquant/oplib/tzdb/America/Santiago +0 -0
- deepquant/oplib/tzdb/America/Santo_Domingo +0 -0
- deepquant/oplib/tzdb/America/Sao_Paulo +0 -0
- deepquant/oplib/tzdb/America/Scoresbysund +0 -0
- deepquant/oplib/tzdb/America/Shiprock +0 -0
- deepquant/oplib/tzdb/America/Sitka +0 -0
- deepquant/oplib/tzdb/America/St_Barthelemy +0 -0
- deepquant/oplib/tzdb/America/St_Johns +0 -0
- deepquant/oplib/tzdb/America/St_Kitts +0 -0
- deepquant/oplib/tzdb/America/St_Lucia +0 -0
- deepquant/oplib/tzdb/America/St_Thomas +0 -0
- deepquant/oplib/tzdb/America/St_Vincent +0 -0
- deepquant/oplib/tzdb/America/Swift_Current +0 -0
- deepquant/oplib/tzdb/America/Tegucigalpa +0 -0
- deepquant/oplib/tzdb/America/Thule +0 -0
- deepquant/oplib/tzdb/America/Thunder_Bay +0 -0
- deepquant/oplib/tzdb/America/Tijuana +0 -0
- deepquant/oplib/tzdb/America/Toronto +0 -0
- deepquant/oplib/tzdb/America/Tortola +0 -0
- deepquant/oplib/tzdb/America/Vancouver +0 -0
- deepquant/oplib/tzdb/America/Virgin +0 -0
- deepquant/oplib/tzdb/America/Whitehorse +0 -0
- deepquant/oplib/tzdb/America/Winnipeg +0 -0
- deepquant/oplib/tzdb/America/Yakutat +0 -0
- deepquant/oplib/tzdb/America/Yellowknife +0 -0
- deepquant/oplib/tzdb/Antarctica/Casey +0 -0
- deepquant/oplib/tzdb/Antarctica/Davis +0 -0
- deepquant/oplib/tzdb/Antarctica/DumontDUrville +0 -0
- deepquant/oplib/tzdb/Antarctica/Macquarie +0 -0
- deepquant/oplib/tzdb/Antarctica/Mawson +0 -0
- deepquant/oplib/tzdb/Antarctica/McMurdo +0 -0
- deepquant/oplib/tzdb/Antarctica/Palmer +0 -0
- deepquant/oplib/tzdb/Antarctica/Rothera +0 -0
- deepquant/oplib/tzdb/Antarctica/South_Pole +0 -0
- deepquant/oplib/tzdb/Antarctica/Syowa +0 -0
- deepquant/oplib/tzdb/Antarctica/Troll +0 -0
- deepquant/oplib/tzdb/Antarctica/Vostok +0 -0
- deepquant/oplib/tzdb/Arctic/Longyearbyen +0 -0
- deepquant/oplib/tzdb/Asia/Aden +0 -0
- deepquant/oplib/tzdb/Asia/Almaty +0 -0
- deepquant/oplib/tzdb/Asia/Amman +0 -0
- deepquant/oplib/tzdb/Asia/Anadyr +0 -0
- deepquant/oplib/tzdb/Asia/Aqtau +0 -0
- deepquant/oplib/tzdb/Asia/Aqtobe +0 -0
- deepquant/oplib/tzdb/Asia/Ashgabat +0 -0
- deepquant/oplib/tzdb/Asia/Ashkhabad +0 -0
- deepquant/oplib/tzdb/Asia/Atyrau +0 -0
- deepquant/oplib/tzdb/Asia/Baghdad +0 -0
- deepquant/oplib/tzdb/Asia/Bahrain +0 -0
- deepquant/oplib/tzdb/Asia/Baku +0 -0
- deepquant/oplib/tzdb/Asia/Bangkok +0 -0
- deepquant/oplib/tzdb/Asia/Barnaul +0 -0
- deepquant/oplib/tzdb/Asia/Beirut +0 -0
- deepquant/oplib/tzdb/Asia/Bishkek +0 -0
- deepquant/oplib/tzdb/Asia/Brunei +0 -0
- deepquant/oplib/tzdb/Asia/Calcutta +0 -0
- deepquant/oplib/tzdb/Asia/Chita +0 -0
- deepquant/oplib/tzdb/Asia/Choibalsan +0 -0
- deepquant/oplib/tzdb/Asia/Chongqing +0 -0
- deepquant/oplib/tzdb/Asia/Chungking +0 -0
- deepquant/oplib/tzdb/Asia/Colombo +0 -0
- deepquant/oplib/tzdb/Asia/Dacca +0 -0
- deepquant/oplib/tzdb/Asia/Damascus +0 -0
- deepquant/oplib/tzdb/Asia/Dhaka +0 -0
- deepquant/oplib/tzdb/Asia/Dili +0 -0
- deepquant/oplib/tzdb/Asia/Dubai +0 -0
- deepquant/oplib/tzdb/Asia/Dushanbe +0 -0
- deepquant/oplib/tzdb/Asia/Famagusta +0 -0
- deepquant/oplib/tzdb/Asia/Gaza +0 -0
- deepquant/oplib/tzdb/Asia/Harbin +0 -0
- deepquant/oplib/tzdb/Asia/Hebron +0 -0
- deepquant/oplib/tzdb/Asia/Ho_Chi_Minh +0 -0
- deepquant/oplib/tzdb/Asia/Hong_Kong +0 -0
- deepquant/oplib/tzdb/Asia/Hovd +0 -0
- deepquant/oplib/tzdb/Asia/Irkutsk +0 -0
- deepquant/oplib/tzdb/Asia/Istanbul +0 -0
- deepquant/oplib/tzdb/Asia/Jakarta +0 -0
- deepquant/oplib/tzdb/Asia/Jayapura +0 -0
- deepquant/oplib/tzdb/Asia/Jerusalem +0 -0
- deepquant/oplib/tzdb/Asia/Kabul +0 -0
- deepquant/oplib/tzdb/Asia/Kamchatka +0 -0
- deepquant/oplib/tzdb/Asia/Karachi +0 -0
- deepquant/oplib/tzdb/Asia/Kashgar +0 -0
- deepquant/oplib/tzdb/Asia/Kathmandu +0 -0
- deepquant/oplib/tzdb/Asia/Katmandu +0 -0
- deepquant/oplib/tzdb/Asia/Khandyga +0 -0
- deepquant/oplib/tzdb/Asia/Kolkata +0 -0
- deepquant/oplib/tzdb/Asia/Krasnoyarsk +0 -0
- deepquant/oplib/tzdb/Asia/Kuala_Lumpur +0 -0
- deepquant/oplib/tzdb/Asia/Kuching +0 -0
- deepquant/oplib/tzdb/Asia/Kuwait +0 -0
- deepquant/oplib/tzdb/Asia/Macao +0 -0
- deepquant/oplib/tzdb/Asia/Macau +0 -0
- deepquant/oplib/tzdb/Asia/Magadan +0 -0
- deepquant/oplib/tzdb/Asia/Makassar +0 -0
- deepquant/oplib/tzdb/Asia/Manila +0 -0
- deepquant/oplib/tzdb/Asia/Muscat +0 -0
- deepquant/oplib/tzdb/Asia/Nicosia +0 -0
- deepquant/oplib/tzdb/Asia/Novokuznetsk +0 -0
- deepquant/oplib/tzdb/Asia/Novosibirsk +0 -0
- deepquant/oplib/tzdb/Asia/Omsk +0 -0
- deepquant/oplib/tzdb/Asia/Oral +0 -0
- deepquant/oplib/tzdb/Asia/Phnom_Penh +0 -0
- deepquant/oplib/tzdb/Asia/Pontianak +0 -0
- deepquant/oplib/tzdb/Asia/Pyongyang +0 -0
- deepquant/oplib/tzdb/Asia/Qatar +0 -0
- deepquant/oplib/tzdb/Asia/Qyzylorda +0 -0
- deepquant/oplib/tzdb/Asia/Rangoon +0 -0
- deepquant/oplib/tzdb/Asia/Riyadh +0 -0
- deepquant/oplib/tzdb/Asia/Saigon +0 -0
- deepquant/oplib/tzdb/Asia/Sakhalin +0 -0
- deepquant/oplib/tzdb/Asia/Samarkand +0 -0
- deepquant/oplib/tzdb/Asia/Seoul +0 -0
- deepquant/oplib/tzdb/Asia/Shanghai +0 -0
- deepquant/oplib/tzdb/Asia/Singapore +0 -0
- deepquant/oplib/tzdb/Asia/Srednekolymsk +0 -0
- deepquant/oplib/tzdb/Asia/Taipei +0 -0
- deepquant/oplib/tzdb/Asia/Tashkent +0 -0
- deepquant/oplib/tzdb/Asia/Tbilisi +0 -0
- deepquant/oplib/tzdb/Asia/Tehran +0 -0
- deepquant/oplib/tzdb/Asia/Tel_Aviv +0 -0
- deepquant/oplib/tzdb/Asia/Thimbu +0 -0
- deepquant/oplib/tzdb/Asia/Thimphu +0 -0
- deepquant/oplib/tzdb/Asia/Tokyo +0 -0
- deepquant/oplib/tzdb/Asia/Tomsk +0 -0
- deepquant/oplib/tzdb/Asia/Ujung_Pandang +0 -0
- deepquant/oplib/tzdb/Asia/Ulaanbaatar +0 -0
- deepquant/oplib/tzdb/Asia/Ulan_Bator +0 -0
- deepquant/oplib/tzdb/Asia/Urumqi +0 -0
- deepquant/oplib/tzdb/Asia/Ust-Nera +0 -0
- deepquant/oplib/tzdb/Asia/Vientiane +0 -0
- deepquant/oplib/tzdb/Asia/Vladivostok +0 -0
- deepquant/oplib/tzdb/Asia/Yakutsk +0 -0
- deepquant/oplib/tzdb/Asia/Yangon +0 -0
- deepquant/oplib/tzdb/Asia/Yekaterinburg +0 -0
- deepquant/oplib/tzdb/Asia/Yerevan +0 -0
- deepquant/oplib/tzdb/Atlantic/Azores +0 -0
- deepquant/oplib/tzdb/Atlantic/Bermuda +0 -0
- deepquant/oplib/tzdb/Atlantic/Canary +0 -0
- deepquant/oplib/tzdb/Atlantic/Cape_Verde +0 -0
- deepquant/oplib/tzdb/Atlantic/Faeroe +0 -0
- deepquant/oplib/tzdb/Atlantic/Faroe +0 -0
- deepquant/oplib/tzdb/Atlantic/Jan_Mayen +0 -0
- deepquant/oplib/tzdb/Atlantic/Madeira +0 -0
- deepquant/oplib/tzdb/Atlantic/Reykjavik +0 -0
- deepquant/oplib/tzdb/Atlantic/South_Georgia +0 -0
- deepquant/oplib/tzdb/Atlantic/St_Helena +0 -0
- deepquant/oplib/tzdb/Atlantic/Stanley +0 -0
- deepquant/oplib/tzdb/Australia/ACT +0 -0
- deepquant/oplib/tzdb/Australia/Adelaide +0 -0
- deepquant/oplib/tzdb/Australia/Brisbane +0 -0
- deepquant/oplib/tzdb/Australia/Broken_Hill +0 -0
- deepquant/oplib/tzdb/Australia/Canberra +0 -0
- deepquant/oplib/tzdb/Australia/Currie +0 -0
- deepquant/oplib/tzdb/Australia/Darwin +0 -0
- deepquant/oplib/tzdb/Australia/Eucla +0 -0
- deepquant/oplib/tzdb/Australia/Hobart +0 -0
- deepquant/oplib/tzdb/Australia/LHI +0 -0
- deepquant/oplib/tzdb/Australia/Lindeman +0 -0
- deepquant/oplib/tzdb/Australia/Lord_Howe +0 -0
- deepquant/oplib/tzdb/Australia/Melbourne +0 -0
- deepquant/oplib/tzdb/Australia/NSW +0 -0
- deepquant/oplib/tzdb/Australia/North +0 -0
- deepquant/oplib/tzdb/Australia/Perth +0 -0
- deepquant/oplib/tzdb/Australia/Queensland +0 -0
- deepquant/oplib/tzdb/Australia/South +0 -0
- deepquant/oplib/tzdb/Australia/Sydney +0 -0
- deepquant/oplib/tzdb/Australia/Tasmania +0 -0
- deepquant/oplib/tzdb/Australia/Victoria +0 -0
- deepquant/oplib/tzdb/Australia/West +0 -0
- deepquant/oplib/tzdb/Australia/Yancowinna +0 -0
- deepquant/oplib/tzdb/Brazil/Acre +0 -0
- deepquant/oplib/tzdb/Brazil/DeNoronha +0 -0
- deepquant/oplib/tzdb/Brazil/East +0 -0
- deepquant/oplib/tzdb/Brazil/West +0 -0
- deepquant/oplib/tzdb/CET +0 -0
- deepquant/oplib/tzdb/CST6CDT +0 -0
- deepquant/oplib/tzdb/Canada/Atlantic +0 -0
- deepquant/oplib/tzdb/Canada/Central +0 -0
- deepquant/oplib/tzdb/Canada/Eastern +0 -0
- deepquant/oplib/tzdb/Canada/Mountain +0 -0
- deepquant/oplib/tzdb/Canada/Newfoundland +0 -0
- deepquant/oplib/tzdb/Canada/Pacific +0 -0
- deepquant/oplib/tzdb/Canada/Saskatchewan +0 -0
- deepquant/oplib/tzdb/Canada/Yukon +0 -0
- deepquant/oplib/tzdb/Chile/Continental +0 -0
- deepquant/oplib/tzdb/Chile/EasterIsland +0 -0
- deepquant/oplib/tzdb/Cuba +0 -0
- deepquant/oplib/tzdb/EET +0 -0
- deepquant/oplib/tzdb/EST +0 -0
- deepquant/oplib/tzdb/EST5EDT +0 -0
- deepquant/oplib/tzdb/Egypt +0 -0
- deepquant/oplib/tzdb/Eire +0 -0
- deepquant/oplib/tzdb/Etc/GMT +0 -0
- deepquant/oplib/tzdb/Etc/GMT+0 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+1 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+10 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+11 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+12 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+2 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+3 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+4 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+5 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+6 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+7 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+8 +0 -0
- deepquant/oplib/tzdb/Etc/GMT+9 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-0 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-1 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-10 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-11 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-12 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-13 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-14 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-2 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-3 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-4 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-5 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-6 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-7 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-8 +0 -0
- deepquant/oplib/tzdb/Etc/GMT-9 +0 -0
- deepquant/oplib/tzdb/Etc/GMT0 +0 -0
- deepquant/oplib/tzdb/Etc/Greenwich +0 -0
- deepquant/oplib/tzdb/Etc/UCT +0 -0
- deepquant/oplib/tzdb/Etc/UTC +0 -0
- deepquant/oplib/tzdb/Etc/Universal +0 -0
- deepquant/oplib/tzdb/Etc/Zulu +0 -0
- deepquant/oplib/tzdb/Europe/Amsterdam +0 -0
- deepquant/oplib/tzdb/Europe/Andorra +0 -0
- deepquant/oplib/tzdb/Europe/Astrakhan +0 -0
- deepquant/oplib/tzdb/Europe/Athens +0 -0
- deepquant/oplib/tzdb/Europe/Belfast +0 -0
- deepquant/oplib/tzdb/Europe/Belgrade +0 -0
- deepquant/oplib/tzdb/Europe/Berlin +0 -0
- deepquant/oplib/tzdb/Europe/Bratislava +0 -0
- deepquant/oplib/tzdb/Europe/Brussels +0 -0
- deepquant/oplib/tzdb/Europe/Bucharest +0 -0
- deepquant/oplib/tzdb/Europe/Budapest +0 -0
- deepquant/oplib/tzdb/Europe/Busingen +0 -0
- deepquant/oplib/tzdb/Europe/Chisinau +0 -0
- deepquant/oplib/tzdb/Europe/Copenhagen +0 -0
- deepquant/oplib/tzdb/Europe/Dublin +0 -0
- deepquant/oplib/tzdb/Europe/Gibraltar +0 -0
- deepquant/oplib/tzdb/Europe/Guernsey +0 -0
- deepquant/oplib/tzdb/Europe/Helsinki +0 -0
- deepquant/oplib/tzdb/Europe/Isle_of_Man +0 -0
- deepquant/oplib/tzdb/Europe/Istanbul +0 -0
- deepquant/oplib/tzdb/Europe/Jersey +0 -0
- deepquant/oplib/tzdb/Europe/Kaliningrad +0 -0
- deepquant/oplib/tzdb/Europe/Kiev +0 -0
- deepquant/oplib/tzdb/Europe/Kirov +0 -0
- deepquant/oplib/tzdb/Europe/Lisbon +0 -0
- deepquant/oplib/tzdb/Europe/Ljubljana +0 -0
- deepquant/oplib/tzdb/Europe/London +0 -0
- deepquant/oplib/tzdb/Europe/Luxembourg +0 -0
- deepquant/oplib/tzdb/Europe/Madrid +0 -0
- deepquant/oplib/tzdb/Europe/Malta +0 -0
- deepquant/oplib/tzdb/Europe/Mariehamn +0 -0
- deepquant/oplib/tzdb/Europe/Minsk +0 -0
- deepquant/oplib/tzdb/Europe/Monaco +0 -0
- deepquant/oplib/tzdb/Europe/Moscow +0 -0
- deepquant/oplib/tzdb/Europe/Nicosia +0 -0
- deepquant/oplib/tzdb/Europe/Oslo +0 -0
- deepquant/oplib/tzdb/Europe/Paris +0 -0
- deepquant/oplib/tzdb/Europe/Podgorica +0 -0
- deepquant/oplib/tzdb/Europe/Prague +0 -0
- deepquant/oplib/tzdb/Europe/Riga +0 -0
- deepquant/oplib/tzdb/Europe/Rome +0 -0
- deepquant/oplib/tzdb/Europe/Samara +0 -0
- deepquant/oplib/tzdb/Europe/San_Marino +0 -0
- deepquant/oplib/tzdb/Europe/Sarajevo +0 -0
- deepquant/oplib/tzdb/Europe/Saratov +0 -0
- deepquant/oplib/tzdb/Europe/Simferopol +0 -0
- deepquant/oplib/tzdb/Europe/Skopje +0 -0
- deepquant/oplib/tzdb/Europe/Sofia +0 -0
- deepquant/oplib/tzdb/Europe/Stockholm +0 -0
- deepquant/oplib/tzdb/Europe/Tallinn +0 -0
- deepquant/oplib/tzdb/Europe/Tirane +0 -0
- deepquant/oplib/tzdb/Europe/Tiraspol +0 -0
- deepquant/oplib/tzdb/Europe/Ulyanovsk +0 -0
- deepquant/oplib/tzdb/Europe/Uzhgorod +0 -0
- deepquant/oplib/tzdb/Europe/Vaduz +0 -0
- deepquant/oplib/tzdb/Europe/Vatican +0 -0
- deepquant/oplib/tzdb/Europe/Vienna +0 -0
- deepquant/oplib/tzdb/Europe/Vilnius +0 -0
- deepquant/oplib/tzdb/Europe/Volgograd +0 -0
- deepquant/oplib/tzdb/Europe/Warsaw +0 -0
- deepquant/oplib/tzdb/Europe/Zagreb +0 -0
- deepquant/oplib/tzdb/Europe/Zaporozhye +0 -0
- deepquant/oplib/tzdb/Europe/Zurich +0 -0
- deepquant/oplib/tzdb/Factory +0 -0
- deepquant/oplib/tzdb/GB +0 -0
- deepquant/oplib/tzdb/GB-Eire +0 -0
- deepquant/oplib/tzdb/GMT +0 -0
- deepquant/oplib/tzdb/GMT+0 +0 -0
- deepquant/oplib/tzdb/GMT-0 +0 -0
- deepquant/oplib/tzdb/GMT0 +0 -0
- deepquant/oplib/tzdb/Greenwich +0 -0
- deepquant/oplib/tzdb/HST +0 -0
- deepquant/oplib/tzdb/Hongkong +0 -0
- deepquant/oplib/tzdb/Iceland +0 -0
- deepquant/oplib/tzdb/Indian/Antananarivo +0 -0
- deepquant/oplib/tzdb/Indian/Chagos +0 -0
- deepquant/oplib/tzdb/Indian/Christmas +0 -0
- deepquant/oplib/tzdb/Indian/Cocos +0 -0
- deepquant/oplib/tzdb/Indian/Comoro +0 -0
- deepquant/oplib/tzdb/Indian/Kerguelen +0 -0
- deepquant/oplib/tzdb/Indian/Mahe +0 -0
- deepquant/oplib/tzdb/Indian/Maldives +0 -0
- deepquant/oplib/tzdb/Indian/Mauritius +0 -0
- deepquant/oplib/tzdb/Indian/Mayotte +0 -0
- deepquant/oplib/tzdb/Indian/Reunion +0 -0
- deepquant/oplib/tzdb/Iran +0 -0
- deepquant/oplib/tzdb/Israel +0 -0
- deepquant/oplib/tzdb/Jamaica +0 -0
- deepquant/oplib/tzdb/Japan +0 -0
- deepquant/oplib/tzdb/Kwajalein +0 -0
- deepquant/oplib/tzdb/Libya +0 -0
- deepquant/oplib/tzdb/MET +0 -0
- deepquant/oplib/tzdb/MST +0 -0
- deepquant/oplib/tzdb/MST7MDT +0 -0
- deepquant/oplib/tzdb/Mexico/BajaNorte +0 -0
- deepquant/oplib/tzdb/Mexico/BajaSur +0 -0
- deepquant/oplib/tzdb/Mexico/General +0 -0
- deepquant/oplib/tzdb/NZ +0 -0
- deepquant/oplib/tzdb/NZ-CHAT +0 -0
- deepquant/oplib/tzdb/Navajo +0 -0
- deepquant/oplib/tzdb/PRC +0 -0
- deepquant/oplib/tzdb/PST8PDT +0 -0
- deepquant/oplib/tzdb/Pacific/Apia +0 -0
- deepquant/oplib/tzdb/Pacific/Auckland +0 -0
- deepquant/oplib/tzdb/Pacific/Bougainville +0 -0
- deepquant/oplib/tzdb/Pacific/Chatham +0 -0
- deepquant/oplib/tzdb/Pacific/Chuuk +0 -0
- deepquant/oplib/tzdb/Pacific/Easter +0 -0
- deepquant/oplib/tzdb/Pacific/Efate +0 -0
- deepquant/oplib/tzdb/Pacific/Enderbury +0 -0
- deepquant/oplib/tzdb/Pacific/Fakaofo +0 -0
- deepquant/oplib/tzdb/Pacific/Fiji +0 -0
- deepquant/oplib/tzdb/Pacific/Funafuti +0 -0
- deepquant/oplib/tzdb/Pacific/Galapagos +0 -0
- deepquant/oplib/tzdb/Pacific/Gambier +0 -0
- deepquant/oplib/tzdb/Pacific/Guadalcanal +0 -0
- deepquant/oplib/tzdb/Pacific/Guam +0 -0
- deepquant/oplib/tzdb/Pacific/Honolulu +0 -0
- deepquant/oplib/tzdb/Pacific/Johnston +0 -0
- deepquant/oplib/tzdb/Pacific/Kiritimati +0 -0
- deepquant/oplib/tzdb/Pacific/Kosrae +0 -0
- deepquant/oplib/tzdb/Pacific/Kwajalein +0 -0
- deepquant/oplib/tzdb/Pacific/Majuro +0 -0
- deepquant/oplib/tzdb/Pacific/Marquesas +0 -0
- deepquant/oplib/tzdb/Pacific/Midway +0 -0
- deepquant/oplib/tzdb/Pacific/Nauru +0 -0
- deepquant/oplib/tzdb/Pacific/Niue +0 -0
- deepquant/oplib/tzdb/Pacific/Norfolk +0 -0
- deepquant/oplib/tzdb/Pacific/Noumea +0 -0
- deepquant/oplib/tzdb/Pacific/Pago_Pago +0 -0
- deepquant/oplib/tzdb/Pacific/Palau +0 -0
- deepquant/oplib/tzdb/Pacific/Pitcairn +0 -0
- deepquant/oplib/tzdb/Pacific/Pohnpei +0 -0
- deepquant/oplib/tzdb/Pacific/Ponape +0 -0
- deepquant/oplib/tzdb/Pacific/Port_Moresby +0 -0
- deepquant/oplib/tzdb/Pacific/Rarotonga +0 -0
- deepquant/oplib/tzdb/Pacific/Saipan +0 -0
- deepquant/oplib/tzdb/Pacific/Samoa +0 -0
- deepquant/oplib/tzdb/Pacific/Tahiti +0 -0
- deepquant/oplib/tzdb/Pacific/Tarawa +0 -0
- deepquant/oplib/tzdb/Pacific/Tongatapu +0 -0
- deepquant/oplib/tzdb/Pacific/Truk +0 -0
- deepquant/oplib/tzdb/Pacific/Wake +0 -0
- deepquant/oplib/tzdb/Pacific/Wallis +0 -0
- deepquant/oplib/tzdb/Pacific/Yap +0 -0
- deepquant/oplib/tzdb/Poland +0 -0
- deepquant/oplib/tzdb/Portugal +0 -0
- deepquant/oplib/tzdb/ROC +0 -0
- deepquant/oplib/tzdb/ROK +0 -0
- deepquant/oplib/tzdb/Singapore +0 -0
- deepquant/oplib/tzdb/Turkey +0 -0
- deepquant/oplib/tzdb/UCT +0 -0
- deepquant/oplib/tzdb/US/Alaska +0 -0
- deepquant/oplib/tzdb/US/Aleutian +0 -0
- deepquant/oplib/tzdb/US/Arizona +0 -0
- deepquant/oplib/tzdb/US/Central +0 -0
- deepquant/oplib/tzdb/US/East-Indiana +0 -0
- deepquant/oplib/tzdb/US/Eastern +0 -0
- deepquant/oplib/tzdb/US/Hawaii +0 -0
- deepquant/oplib/tzdb/US/Indiana-Starke +0 -0
- deepquant/oplib/tzdb/US/Michigan +0 -0
- deepquant/oplib/tzdb/US/Mountain +0 -0
- deepquant/oplib/tzdb/US/Pacific +0 -0
- deepquant/oplib/tzdb/US/Samoa +0 -0
- deepquant/oplib/tzdb/UTC +0 -0
- deepquant/oplib/tzdb/Universal +0 -0
- deepquant/oplib/tzdb/W-SU +0 -0
- deepquant/oplib/tzdb/WET +0 -0
- deepquant/oplib/tzdb/Zulu +0 -0
- deepquant/oplib/tzdb/iso3166.tab +274 -0
- deepquant/oplib/tzdb/leapseconds +61 -0
- deepquant/oplib/tzdb/posixrules +0 -0
- deepquant/oplib/tzdb/tzdata.zi +4150 -0
- deepquant/oplib/tzdb/tzmap_gen.py +27 -0
- deepquant/oplib/tzdb/tzmapping +501 -0
- deepquant/oplib/tzdb/windowsZones.xml +781 -0
- deepquant/oplib/tzdb/zone.tab +448 -0
- deepquant/oplib/tzdb/zone1970.tab +382 -0
- deepquant/oplib/utils.py +24 -0
- deepquant/quest/__init__.py +221 -0
- deepquant/quest/__main__.py +27 -0
- deepquant/quest/_version.py +658 -0
- deepquant/quest/alpha/__init__.py +28 -0
- deepquant/quest/alpha/__main__.py +25 -0
- deepquant/quest/alpha/_version.py +542 -0
- deepquant/quest/alpha/apis.py +23 -0
- deepquant/quest/alpha/bundle.py +599 -0
- deepquant/quest/alpha/cmds.py +176 -0
- deepquant/quest/alpha/config.yml +70 -0
- deepquant/quest/alpha/examples/IF_macd.py +46 -0
- deepquant/quest/alpha/examples/buy_and_hold.py +35 -0
- deepquant/quest/alpha/examples/convertible_buy_and_sell.py +80 -0
- deepquant/quest/alpha/examples/future_tick.py +54 -0
- deepquant/quest/alpha/examples/goldcross.py +51 -0
- deepquant/quest/alpha/examples/optimize.py +48 -0
- deepquant/quest/alpha/examples/option_buy_and_hold.py +57 -0
- deepquant/quest/alpha/examples/pair_trading.py +124 -0
- deepquant/quest/alpha/examples/read_from_holding_weights.py +190 -0
- deepquant/quest/alpha/examples//321/210/342/226/221/320/223/321/204/342/225/227/320/243/321/206/320/255/320/223/321/211/320/227/320/235/321/206/320/260/342/225/226/321/204/342/225/233/320/233.xlsx +0 -0
- deepquant/quest/alpha/mod_config.yml +35 -0
- deepquant/quest/alpha/utils/__init__.py +17 -0
- deepquant/quest/alpha/utils/scripts.py +27 -0
- deepquant/quest/api.py +90 -0
- deepquant/quest/apis/__init__.py +17 -0
- deepquant/quest/apis/api_abstract.py +494 -0
- deepquant/quest/apis/api_base.py +965 -0
- deepquant/quest/apis/api_yhdatac.py +1416 -0
- deepquant/quest/apis/names.py +143 -0
- deepquant/quest/cmds/__init__.py +21 -0
- deepquant/quest/cmds/bundle.py +204 -0
- deepquant/quest/cmds/entry.py +22 -0
- deepquant/quest/cmds/misc.py +54 -0
- deepquant/quest/cmds/mod.py +108 -0
- deepquant/quest/cmds/run.py +85 -0
- deepquant/quest/config.yml +63 -0
- deepquant/quest/const.py +209 -0
- deepquant/quest/core/__init__.py +13 -0
- deepquant/quest/core/events.py +178 -0
- deepquant/quest/core/execution_context.py +119 -0
- deepquant/quest/core/executor.py +99 -0
- deepquant/quest/core/global_var.py +36 -0
- deepquant/quest/core/strategy.py +120 -0
- deepquant/quest/core/strategy_context.py +238 -0
- deepquant/quest/core/strategy_loader.py +49 -0
- deepquant/quest/core/strategy_universe.py +56 -0
- deepquant/quest/data/__init__.py +16 -0
- deepquant/quest/data/bar_dict_price_board.py +45 -0
- deepquant/quest/data/base_data_source/__init__.py +17 -0
- deepquant/quest/data/base_data_source/adjust.py +74 -0
- deepquant/quest/data/base_data_source/data_source.py +393 -0
- deepquant/quest/data/base_data_source/storage_interface.py +83 -0
- deepquant/quest/data/base_data_source/storages.py +329 -0
- deepquant/quest/data/bundle.py +598 -0
- deepquant/quest/data/data_proxy.py +328 -0
- deepquant/quest/data/trading_dates_mixin.py +125 -0
- deepquant/quest/datac/__init__.py +32 -0
- deepquant/quest/datac/__init__.pyi +199 -0
- deepquant/quest/datac/client.py +300 -0
- deepquant/quest/datac/connection_pool.py +66 -0
- deepquant/quest/datac/decorators.py +180 -0
- deepquant/quest/datac/errors.py +84 -0
- deepquant/quest/datac/services/__init__.py +0 -0
- deepquant/quest/datac/services/basic.py +107 -0
- deepquant/quest/datac/services/calendar.py +91 -0
- deepquant/quest/datac/services/factor.py +167 -0
- deepquant/quest/datac/services/financial.py +322 -0
- deepquant/quest/datac/services/future.py +367 -0
- deepquant/quest/datac/services/get_price.py +251 -0
- deepquant/quest/datac/services/index.py +0 -0
- deepquant/quest/datac/services/market_data.py +288 -0
- deepquant/quest/datac/services/orm/__init__.py +0 -0
- deepquant/quest/datac/services/orm/pit_financials_ex.py +406 -0
- deepquant/quest/datac/services/shenwan.py +61 -0
- deepquant/quest/datac/services/stock_status.py +445 -0
- deepquant/quest/datac/share/__init__.py +0 -0
- deepquant/quest/datac/share/codec.py +176 -0
- deepquant/quest/datac/share/errors.py +84 -0
- deepquant/quest/datac/share/protocol.py +76 -0
- deepquant/quest/datac/thread_local.py +58 -0
- deepquant/quest/datac/utils.py +356 -0
- deepquant/quest/datac/validators.py +254 -0
- deepquant/quest/datac/yhclient.py +39 -0
- deepquant/quest/datac/yhdatah_helper.py +105 -0
- deepquant/quest/environment.py +218 -0
- deepquant/quest/examples/IF1706_20161108.csv +241 -0
- deepquant/quest/examples/IF_macd.py +46 -0
- deepquant/quest/examples/__init__.py +0 -0
- deepquant/quest/examples/backtest/portfolio.csv +261 -0
- deepquant/quest/examples/backtest/positions_weight.csv +261 -0
- deepquant/quest/examples/backtest/stock_account.csv +261 -0
- deepquant/quest/examples/backtest/stock_positions.csv +261 -0
- deepquant/quest/examples/backtest/summary.xlsx +0 -0
- deepquant/quest/examples/backtest/trades.csv +6 -0
- deepquant/quest/examples/buy_and_hold.py +30 -0
- deepquant/quest/examples/data_source/get_csv_module.py +26 -0
- deepquant/quest/examples/data_source/import_get_csv_module.py +48 -0
- deepquant/quest/examples/data_source/read_csv_as_df.py +50 -0
- deepquant/quest/examples/daybar_strategy.py +224 -0
- deepquant/quest/examples/extend_api/rqalpha_mod_extend_api_demo.py +54 -0
- deepquant/quest/examples/extend_api/test_extend_api.py +50 -0
- deepquant/quest/examples/golden_cross.py +48 -0
- deepquant/quest/examples/macd.py +52 -0
- deepquant/quest/examples/macd_strategy.py +178 -0
- deepquant/quest/examples/minbar_strategy.py +77 -0
- deepquant/quest/examples/pair_trading.py +125 -0
- deepquant/quest/examples/rsi.py +52 -0
- deepquant/quest/examples/run_code_demo.py +47 -0
- deepquant/quest/examples/run_file_demo.py +27 -0
- deepquant/quest/examples/run_func_demo.py +49 -0
- deepquant/quest/examples/single_bar.py +34 -0
- deepquant/quest/examples/subscribe_event.py +50 -0
- deepquant/quest/examples/test_cli.py +164 -0
- deepquant/quest/examples/test_pt.py +41 -0
- deepquant/quest/examples/tick_strategy.py +82 -0
- deepquant/quest/examples/turtle.py +115 -0
- deepquant/quest/interface.py +711 -0
- deepquant/quest/main.py +317 -0
- deepquant/quest/mod/__init__.py +107 -0
- deepquant/quest/mod/mod_convertible/__init__.py +19 -0
- deepquant/quest/mod/mod_convertible/_version.py +544 -0
- deepquant/quest/mod/mod_convertible/api.py +64 -0
- deepquant/quest/mod/mod_convertible/data.py +167 -0
- deepquant/quest/mod/mod_convertible/dummy.py +43 -0
- deepquant/quest/mod/mod_convertible/matcher.py +66 -0
- deepquant/quest/mod/mod_convertible/mod.py +129 -0
- deepquant/quest/mod/mod_convertible/position.py +151 -0
- deepquant/quest/mod/mod_convertible/transaction.py +31 -0
- deepquant/quest/mod/mod_convertible/validator.py +77 -0
- deepquant/quest/mod/mod_fund/__init__.py +107 -0
- deepquant/quest/mod/mod_fund/_version.py +545 -0
- deepquant/quest/mod/mod_fund/api.py +292 -0
- deepquant/quest/mod/mod_fund/const.py +16 -0
- deepquant/quest/mod/mod_fund/data/__init__.py +9 -0
- deepquant/quest/mod/mod_fund/data/fund_Instrument.py +70 -0
- deepquant/quest/mod/mod_fund/data/fund_day_bar_store.py +143 -0
- deepquant/quest/mod/mod_fund/data/fund_dividend_store.py +52 -0
- deepquant/quest/mod/mod_fund/data/fund_split_store.py +28 -0
- deepquant/quest/mod/mod_fund/dummy.py +51 -0
- deepquant/quest/mod/mod_fund/matcher.py +53 -0
- deepquant/quest/mod/mod_fund/mod.py +107 -0
- deepquant/quest/mod/mod_fund/position.py +288 -0
- deepquant/quest/mod/mod_fund/transaction.py +17 -0
- deepquant/quest/mod/mod_fund/validator.py +35 -0
- deepquant/quest/mod/mod_incremental/__init__.py +86 -0
- deepquant/quest/mod/mod_incremental/_version.py +544 -0
- deepquant/quest/mod/mod_incremental/mod.py +159 -0
- deepquant/quest/mod/mod_incremental/persist_providers.py +55 -0
- deepquant/quest/mod/mod_incremental/recorders.py +190 -0
- deepquant/quest/mod/mod_optimizer2/__init__.py +9 -0
- deepquant/quest/mod/mod_optimizer2/_version.py +544 -0
- deepquant/quest/mod/mod_optimizer2/api.py +130 -0
- deepquant/quest/mod/mod_optimizer2/mod.py +36 -0
- deepquant/quest/mod/mod_option/__init__.py +28 -0
- deepquant/quest/mod/mod_option/_version.py +520 -0
- deepquant/quest/mod/mod_option/api.py +36 -0
- deepquant/quest/mod/mod_option/data.py +176 -0
- deepquant/quest/mod/mod_option/dummy.py +29 -0
- deepquant/quest/mod/mod_option/frontend_validator.py +34 -0
- deepquant/quest/mod/mod_option/matcher.py +102 -0
- deepquant/quest/mod/mod_option/mod.py +146 -0
- deepquant/quest/mod/mod_option/position.py +287 -0
- deepquant/quest/mod/mod_option/transaction_cost_decider.py +99 -0
- deepquant/quest/mod/mod_quant_data/__init__.py +110 -0
- deepquant/quest/mod/mod_quant_data/_version.py +544 -0
- deepquant/quest/mod/mod_quant_data/api_fund.py +148 -0
- deepquant/quest/mod/mod_quant_data/data_sources/__init__.py +9 -0
- deepquant/quest/mod/mod_quant_data/data_sources/bundle_data_source.py +678 -0
- deepquant/quest/mod/mod_quant_data/data_sources/data_store.py +531 -0
- deepquant/quest/mod/mod_quant_data/data_sources/lazy_tick.py +41 -0
- deepquant/quest/mod/mod_quant_data/data_sources/pt_data_source.py +304 -0
- deepquant/quest/mod/mod_quant_data/data_sources/resample_helper.py +129 -0
- deepquant/quest/mod/mod_quant_data/data_sources/setup.py +20 -0
- deepquant/quest/mod/mod_quant_data/data_sources/tight_loops.c +11145 -0
- deepquant/quest/mod/mod_quant_data/data_sources/tight_loops.pyx +66 -0
- deepquant/quest/mod/mod_quant_data/data_sources/utils.py +36 -0
- deepquant/quest/mod/mod_quant_data/data_sources/yhdata_data_source.py +348 -0
- deepquant/quest/mod/mod_quant_data/minute_price_board.py +53 -0
- deepquant/quest/mod/mod_quant_data/mod.py +85 -0
- deepquant/quest/mod/mod_quant_data/pt_event_source.py +142 -0
- deepquant/quest/mod/mod_quant_data/redis_store.py +90 -0
- deepquant/quest/mod/mod_quant_data/snapshot_price_board.py +41 -0
- deepquant/quest/mod/mod_quant_data/tick_price_board.py +88 -0
- deepquant/quest/mod/mod_quant_data/tick_pt_event_source.py +215 -0
- deepquant/quest/mod/mod_quant_data/tick_pt_trading_validator.py +34 -0
- deepquant/quest/mod/mod_spot/__init__.py +16 -0
- deepquant/quest/mod/mod_spot/_version.py +544 -0
- deepquant/quest/mod/mod_spot/data.py +100 -0
- deepquant/quest/mod/mod_spot/dummy.py +38 -0
- deepquant/quest/mod/mod_spot/mod.py +73 -0
- deepquant/quest/mod/mod_spot/position.py +13 -0
- deepquant/quest/mod/mod_spot/transaction_cost.py +46 -0
- deepquant/quest/mod/mod_spot/validator.py +34 -0
- deepquant/quest/mod/mod_sys_accounts/README.rst +46 -0
- deepquant/quest/mod/mod_sys_accounts/__init__.py +91 -0
- deepquant/quest/mod/mod_sys_accounts/api/__init__.py +13 -0
- deepquant/quest/mod/mod_sys_accounts/api/api_future.py +232 -0
- deepquant/quest/mod/mod_sys_accounts/api/api_stock.py +749 -0
- deepquant/quest/mod/mod_sys_accounts/component_validator.py +30 -0
- deepquant/quest/mod/mod_sys_accounts/mod.py +87 -0
- deepquant/quest/mod/mod_sys_accounts/position_model.py +591 -0
- deepquant/quest/mod/mod_sys_accounts/position_validator.py +57 -0
- deepquant/quest/mod/mod_sys_accounts/validator.py +20 -0
- deepquant/quest/mod/mod_sys_analyser/README.rst +93 -0
- deepquant/quest/mod/mod_sys_analyser/__init__.py +123 -0
- deepquant/quest/mod/mod_sys_analyser/mod.py +576 -0
- deepquant/quest/mod/mod_sys_analyser/plot/__init__.py +24 -0
- deepquant/quest/mod/mod_sys_analyser/plot/consts.py +194 -0
- deepquant/quest/mod/mod_sys_analyser/plot/plot.py +255 -0
- deepquant/quest/mod/mod_sys_analyser/plot/utils.py +85 -0
- deepquant/quest/mod/mod_sys_analyser/plot_store.py +62 -0
- deepquant/quest/mod/mod_sys_analyser/report/__init__.py +1 -0
- deepquant/quest/mod/mod_sys_analyser/report/excel_template.py +95 -0
- deepquant/quest/mod/mod_sys_analyser/report/report.py +210 -0
- deepquant/quest/mod/mod_sys_analyser/report/templates/summary.xlsx +0 -0
- deepquant/quest/mod/mod_sys_analyser_web/README.rst +93 -0
- deepquant/quest/mod/mod_sys_analyser_web/__init__.py +123 -0
- deepquant/quest/mod/mod_sys_analyser_web/mod.py +677 -0
- deepquant/quest/mod/mod_sys_analyser_web/plot/__init__.py +24 -0
- deepquant/quest/mod/mod_sys_analyser_web/plot/consts.py +194 -0
- deepquant/quest/mod/mod_sys_analyser_web/plot/plot.py +255 -0
- deepquant/quest/mod/mod_sys_analyser_web/plot/utils.py +85 -0
- deepquant/quest/mod/mod_sys_analyser_web/plot_store.py +63 -0
- deepquant/quest/mod/mod_sys_analyser_web/report/__init__.py +1 -0
- deepquant/quest/mod/mod_sys_analyser_web/report/excel_template.py +95 -0
- deepquant/quest/mod/mod_sys_analyser_web/report/report.py +210 -0
- deepquant/quest/mod/mod_sys_analyser_web/report/templates/summary.xlsx +0 -0
- deepquant/quest/mod/mod_sys_progress/README.rst +67 -0
- deepquant/quest/mod/mod_sys_progress/__init__.py +42 -0
- deepquant/quest/mod/mod_sys_progress/mod.py +47 -0
- deepquant/quest/mod/mod_sys_progress_web/README.rst +67 -0
- deepquant/quest/mod/mod_sys_progress_web/__init__.py +29 -0
- deepquant/quest/mod/mod_sys_progress_web/mod.py +67 -0
- deepquant/quest/mod/mod_sys_progress_web/progress_client.py +51 -0
- deepquant/quest/mod/mod_sys_risk/README.rst +37 -0
- deepquant/quest/mod/mod_sys_risk/__init__.py +52 -0
- deepquant/quest/mod/mod_sys_risk/mod.py +36 -0
- deepquant/quest/mod/mod_sys_risk/validators/__init__.py +28 -0
- deepquant/quest/mod/mod_sys_risk/validators/cash_validator.py +52 -0
- deepquant/quest/mod/mod_sys_risk/validators/is_trading_validator.py +49 -0
- deepquant/quest/mod/mod_sys_risk/validators/price_validator.py +60 -0
- deepquant/quest/mod/mod_sys_risk/validators/self_trade_validator.py +47 -0
- deepquant/quest/mod/mod_sys_scheduler/README.rst +0 -0
- deepquant/quest/mod/mod_sys_scheduler/__init__.py +19 -0
- deepquant/quest/mod/mod_sys_scheduler/mod.py +43 -0
- deepquant/quest/mod/mod_sys_scheduler/scheduler.py +317 -0
- deepquant/quest/mod/mod_sys_simulation/README.rst +96 -0
- deepquant/quest/mod/mod_sys_simulation/__init__.py +111 -0
- deepquant/quest/mod/mod_sys_simulation/matcher.py +663 -0
- deepquant/quest/mod/mod_sys_simulation/mod.py +120 -0
- deepquant/quest/mod/mod_sys_simulation/signal_broker.py +128 -0
- deepquant/quest/mod/mod_sys_simulation/simulation_broker.py +186 -0
- deepquant/quest/mod/mod_sys_simulation/simulation_event_source.py +202 -0
- deepquant/quest/mod/mod_sys_simulation/slippage.py +117 -0
- deepquant/quest/mod/mod_sys_simulation/testing.py +27 -0
- deepquant/quest/mod/mod_sys_simulation/validator.py +20 -0
- deepquant/quest/mod/mod_sys_transaction_cost/README.rst +37 -0
- deepquant/quest/mod/mod_sys_transaction_cost/__init__.py +99 -0
- deepquant/quest/mod/mod_sys_transaction_cost/deciders.py +152 -0
- deepquant/quest/mod/mod_sys_transaction_cost/mod.py +58 -0
- deepquant/quest/mod/utils.py +56 -0
- deepquant/quest/mod_config.yml +20 -0
- deepquant/quest/model/__init__.py +19 -0
- deepquant/quest/model/bar.py +389 -0
- deepquant/quest/model/instrument.py +622 -0
- deepquant/quest/model/order.py +402 -0
- deepquant/quest/model/tick.py +215 -0
- deepquant/quest/model/trade.py +110 -0
- deepquant/quest/portfolio/__init__.py +323 -0
- deepquant/quest/portfolio/account.py +539 -0
- deepquant/quest/portfolio/position.py +425 -0
- deepquant/quest/resource/ricequant-logo.png +0 -0
- deepquant/quest/risk/__init__.py +15 -0
- deepquant/quest/risk/_version.py +544 -0
- deepquant/quest/risk/risk.py +276 -0
- deepquant/quest/risk/utils.py +92 -0
- deepquant/quest/sdk/__init__.py +26 -0
- deepquant/quest/sdk/__main__.py +19 -0
- deepquant/quest/sdk/_version.py +544 -0
- deepquant/quest/sdk/cmds.py +366 -0
- deepquant/quest/sdk/const.py +40 -0
- deepquant/quest/sdk/license_helper.py +181 -0
- deepquant/quest/sdk/proxy_helper.py +9 -0
- deepquant/quest/sdk/script_update.py +66 -0
- deepquant/quest/sdk/testing.py +22 -0
- deepquant/quest/user_module.py +14 -0
- deepquant/quest/utils/__init__.py +250 -0
- deepquant/quest/utils/arg_checker.py +455 -0
- deepquant/quest/utils/class_helper.py +43 -0
- deepquant/quest/utils/click_helper.py +29 -0
- deepquant/quest/utils/concurrent.py +111 -0
- deepquant/quest/utils/config.py +278 -0
- deepquant/quest/utils/converttools.py +10 -0
- deepquant/quest/utils/datetime_func.py +109 -0
- deepquant/quest/utils/dict_func.py +26 -0
- deepquant/quest/utils/exception.py +137 -0
- deepquant/quest/utils/functools.py +110 -0
- deepquant/quest/utils/httpclient.py +80 -0
- deepquant/quest/utils/i18n.py +72 -0
- deepquant/quest/utils/log_capture.py +45 -0
- deepquant/quest/utils/logger.py +85 -0
- deepquant/quest/utils/package_helper.py +29 -0
- deepquant/quest/utils/persisit_helper.py +79 -0
- deepquant/quest/utils/repr.py +95 -0
- deepquant/quest/utils/risk_free_helper.py +55 -0
- deepquant/quest/utils/rq_json.py +53 -0
- deepquant/quest/utils/strategy_loader_help.py +52 -0
- deepquant/quest/utils/testing/__init__.py +44 -0
- deepquant/quest/utils/testing/fixtures.py +158 -0
- deepquant/quest/utils/testing/mocking.py +21 -0
- deepquant/quest/utils/translations/__init__.py +14 -0
- deepquant/quest/utils/translations/zh_Hans_CN/LC_MESSAGES/__init__.py +14 -0
- deepquant/quest/utils/translations/zh_Hans_CN/LC_MESSAGES/messages.mo +0 -0
- deepquant/quest/utils/translations/zh_Hans_CN/LC_MESSAGES/messages.po +1586 -0
- deepquant/quest/utils/translations/zh_Hans_CN/__init__.py +14 -0
- deepquant/quest/utils/typing.py +28 -0
- deepquant/samples/__init__.py +8 -0
- deepquant/samples/md_client_demo.py +102 -0
- deepquant/samples/md_handler_demo.py +128 -0
- deepquant/samples/replay_client_demo.py +93 -0
- deepquant-0.4.5.dist-info/METADATA +65 -0
- deepquant-0.4.5.dist-info/RECORD +1013 -0
- deepquant-0.4.5.dist-info/WHEEL +5 -0
- deepquant-0.4.5.dist-info/top_level.txt +1 -0
deepquant/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .data.interface import gid
|
deepquant/__main__.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2016 Ricequant, Inc
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
from deepquant.quest.sdk import entry_point
|
|
17
|
+
|
|
18
|
+
if __name__ == '__main__':
|
|
19
|
+
entry_point()
|
|
File without changes
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
import time
|
|
5
|
+
from enum import Enum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class DataType(Enum):
|
|
9
|
+
"""
|
|
10
|
+
返回数据类型
|
|
11
|
+
"""
|
|
12
|
+
DATAFRAME = 0 #: 返回dataframe
|
|
13
|
+
JSON = 10 #: 返回json,如[{'symbol':'SH600000','price':10.0},{'symbol':'SZ000001','price':10.0}]
|
|
14
|
+
PROTO_BUF = 11 #: 返回数据为protocol buffer
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def get(name='', code=''):
|
|
18
|
+
for item in DataType:
|
|
19
|
+
if name is not None and item.name == name:
|
|
20
|
+
return item
|
|
21
|
+
elif code is not None and item.value == code:
|
|
22
|
+
return code
|
|
23
|
+
return DataType.JSON
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ApiReqMethod(Enum):
|
|
27
|
+
"""
|
|
28
|
+
API请求类型:POST、GET
|
|
29
|
+
"""
|
|
30
|
+
POST = 0
|
|
31
|
+
GET = 1
|
|
32
|
+
|
|
33
|
+
@staticmethod
|
|
34
|
+
def get(name='', code=''):
|
|
35
|
+
for item in ApiReqMethod:
|
|
36
|
+
if name is not None and item.name == name:
|
|
37
|
+
return item
|
|
38
|
+
elif code is not None and item.value == code:
|
|
39
|
+
return item
|
|
40
|
+
return ApiReqMethod.POST
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class ApiEncrypt(Enum):
|
|
44
|
+
"""
|
|
45
|
+
API是否加密:不加密/请求相应加密/...
|
|
46
|
+
"""
|
|
47
|
+
NO = 0
|
|
48
|
+
# TODO 加解密功能待实现
|
|
49
|
+
ENCRY_REQ_RSP = 10
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def get(name='', code=''):
|
|
53
|
+
for item in ApiEncrypt:
|
|
54
|
+
if name is not None and item.name == name:
|
|
55
|
+
return item
|
|
56
|
+
elif code is not None and item.value == code:
|
|
57
|
+
return item
|
|
58
|
+
return ApiEncrypt.NO
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class ApiRspCode(Enum):
|
|
62
|
+
SUCCESS = '00000'
|
|
63
|
+
HTTP_ERROR = 'H0001'
|
|
64
|
+
HTTP_TIMEOUT = 'H0002'
|
|
65
|
+
# HTTP返回码如果是非200,则错误码为HC404之类
|
|
66
|
+
HTTP_ERRCODE_PRE = 'HC{}'
|
|
67
|
+
|
|
68
|
+
NOT_AUTH = 'U0404'
|
|
69
|
+
|
|
70
|
+
PARAM_ERROR = 'P0001'
|
|
71
|
+
|
|
72
|
+
RSP_ERROR = 'RT999'
|
|
73
|
+
|
|
74
|
+
SDK_ERROR = 'SDK99'
|
|
75
|
+
|
|
76
|
+
@staticmethod
|
|
77
|
+
def is_succ(code):
|
|
78
|
+
if ApiRspCode.SUCCESS == code or ApiRspCode.SUCCESS.value == code or 200 == code or 0 == code or '0' == code:
|
|
79
|
+
return True
|
|
80
|
+
else:
|
|
81
|
+
return False
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class ApiAggregateType(Enum):
|
|
85
|
+
# 不需要聚合
|
|
86
|
+
NO = 0
|
|
87
|
+
# 分批聚合
|
|
88
|
+
BATCH = 1
|
|
89
|
+
|
|
90
|
+
# 分页聚合,TODO,本期暂不实现
|
|
91
|
+
|
|
92
|
+
@staticmethod
|
|
93
|
+
def get(name='', code=''):
|
|
94
|
+
for item in ApiAggregateType:
|
|
95
|
+
if name is not None and item.name == name:
|
|
96
|
+
return item
|
|
97
|
+
elif code is not None and item.value == code:
|
|
98
|
+
return item
|
|
99
|
+
return ApiAggregateType.NO
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class ApiRspMode(Enum):
|
|
103
|
+
# 处理后返回,默认选项
|
|
104
|
+
PROCESSED = 0
|
|
105
|
+
# 透传
|
|
106
|
+
PASSED = 1
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class ApiResponse:
|
|
110
|
+
"""
|
|
111
|
+
Api响应返回对象
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
def __init__(self, code, msg, data, **kwargs):
|
|
115
|
+
"""
|
|
116
|
+
:param code: 返回码,0-成功,其他相关错误码
|
|
117
|
+
:param msg: 返回提示
|
|
118
|
+
:param data: 返回数据
|
|
119
|
+
"""
|
|
120
|
+
self.code = code
|
|
121
|
+
self.msg = msg
|
|
122
|
+
self.data = data
|
|
123
|
+
self.extra = kwargs
|
|
124
|
+
|
|
125
|
+
@staticmethod
|
|
126
|
+
def assemble_succ_resp(data, **kwargs):
|
|
127
|
+
response = ApiResponse(code=ApiRspCode.SUCCESS, msg='success', data=data, **kwargs)
|
|
128
|
+
return response
|
|
129
|
+
|
|
130
|
+
@staticmethod
|
|
131
|
+
def assemble_err_resp(code, msg):
|
|
132
|
+
response = ApiResponse(code=code, msg=msg, data=None)
|
|
133
|
+
return response
|
|
134
|
+
|
|
135
|
+
def is_success(self):
|
|
136
|
+
return ApiRspCode.is_succ(self.code)
|
|
137
|
+
|
|
138
|
+
def __str__(self):
|
|
139
|
+
_str = self.__class__.__name__ + '(' + \
|
|
140
|
+
','.join([key + '=' + str(value) for key, value in self.__dict__.items() if value is not None]) \
|
|
141
|
+
+ ')'
|
|
142
|
+
return _str
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class ApiInfo:
|
|
146
|
+
def __init__(self, mod_type, func_name, api_uri,
|
|
147
|
+
req_method=ApiReqMethod.POST.name,
|
|
148
|
+
req_data_type=DataType.JSON.name,
|
|
149
|
+
rsp_data_type=DataType.JSON.name,
|
|
150
|
+
ret_data_node=None,
|
|
151
|
+
aggregate_type=ApiAggregateType.NO.name,
|
|
152
|
+
encrypt_type=ApiEncrypt.NO.name,
|
|
153
|
+
extras=None, comment=None):
|
|
154
|
+
"""
|
|
155
|
+
HTTP API信息
|
|
156
|
+
:param mod_type: API所属模块类型,比如数据-Data、因子-Factor
|
|
157
|
+
:param func_name: API的唯一名称,模块内唯一,比如getBars
|
|
158
|
+
:param api_uri: API对应网关的URI
|
|
159
|
+
:param req_method: 请求方式
|
|
160
|
+
:param req_data_type: 请求数据格式
|
|
161
|
+
:param rsp_data_type: 响应数据格式
|
|
162
|
+
:param ret_data_node: 返回数据的节点,比如返回json或pb根目录下的datas
|
|
163
|
+
|
|
164
|
+
:param aggregate_type: 是否需要批量聚合,0-不需要,1-分批聚合,2-分页聚合
|
|
165
|
+
:param encrypt_type: 加解密类型
|
|
166
|
+
:param extras: 扩展字段,作为预留
|
|
167
|
+
"""
|
|
168
|
+
# API类型,比如data/factor...
|
|
169
|
+
self.mod_type = mod_type
|
|
170
|
+
self.func_name = func_name
|
|
171
|
+
self.api_uri = api_uri
|
|
172
|
+
self.req_method = ApiReqMethod.get(req_method)
|
|
173
|
+
self.req_data_type = DataType.get(req_data_type)
|
|
174
|
+
self.rsp_data_type = DataType.get(rsp_data_type)
|
|
175
|
+
self.ret_data_node = ret_data_node
|
|
176
|
+
|
|
177
|
+
# 分批聚合功能已支持
|
|
178
|
+
self.aggregate_type = ApiAggregateType.get(aggregate_type)
|
|
179
|
+
self.encrypt_type = ApiEncrypt.get(encrypt_type)
|
|
180
|
+
self.extras = extras
|
|
181
|
+
self.comment = comment
|
|
182
|
+
|
|
183
|
+
@staticmethod
|
|
184
|
+
def gen_from_json_item(_json_config):
|
|
185
|
+
mod_type = _json_config.get('modType')
|
|
186
|
+
if mod_type is None:
|
|
187
|
+
mod_type = _json_config.get('mod_type')
|
|
188
|
+
|
|
189
|
+
func_name = _json_config.get('funcName')
|
|
190
|
+
if func_name is None:
|
|
191
|
+
func_name = _json_config.get('func_name')
|
|
192
|
+
|
|
193
|
+
api_uri = _json_config.get('apiUri')
|
|
194
|
+
if api_uri is None:
|
|
195
|
+
api_uri = _json_config.get('api_uri')
|
|
196
|
+
|
|
197
|
+
req_method = _json_config.get('reqMethod')
|
|
198
|
+
if req_method is None:
|
|
199
|
+
req_method = _json_config.get('req_method')
|
|
200
|
+
|
|
201
|
+
req_data_type = _json_config.get('reqDataType')
|
|
202
|
+
if req_data_type is None:
|
|
203
|
+
req_data_type = _json_config.get('req_data_type')
|
|
204
|
+
|
|
205
|
+
rsp_data_type = _json_config.get('rspDataType')
|
|
206
|
+
if rsp_data_type is None:
|
|
207
|
+
rsp_data_type = _json_config.get('rsp_data_type')
|
|
208
|
+
|
|
209
|
+
ret_data_node = _json_config.get('retDataNode')
|
|
210
|
+
if ret_data_node is None:
|
|
211
|
+
ret_data_node = _json_config.get('ret_data_node')
|
|
212
|
+
|
|
213
|
+
encrypt_type = _json_config.get('encryptType')
|
|
214
|
+
if encrypt_type is None:
|
|
215
|
+
encrypt_type = _json_config.get('encrypt_type')
|
|
216
|
+
|
|
217
|
+
comment = _json_config.get('remark')
|
|
218
|
+
if comment is None:
|
|
219
|
+
comment = _json_config.get('comment')
|
|
220
|
+
|
|
221
|
+
return ApiInfo(mod_type=mod_type, func_name=func_name, api_uri=api_uri, req_method=req_method,
|
|
222
|
+
req_data_type=req_data_type, rsp_data_type=rsp_data_type, ret_data_node=ret_data_node,
|
|
223
|
+
encrypt_type=encrypt_type,
|
|
224
|
+
comment=comment)
|
|
225
|
+
|
|
226
|
+
@staticmethod
|
|
227
|
+
def default(mod_type, func_name, api_uri, method="POST"):
|
|
228
|
+
return ApiInfo(mod_type=mod_type, func_name=func_name, api_uri=api_uri, req_method=method)
|
|
229
|
+
|
|
230
|
+
def set_req_method(self, req_method):
|
|
231
|
+
self.req_method = req_method
|
|
232
|
+
return self
|
|
233
|
+
|
|
234
|
+
def set_data_type(self, data_type):
|
|
235
|
+
self.req_data_type = data_type
|
|
236
|
+
self.rsp_data_type = data_type
|
|
237
|
+
return self
|
|
238
|
+
|
|
239
|
+
def set_ret_data_node(self, ret_data_node):
|
|
240
|
+
self.ret_data_node = ret_data_node
|
|
241
|
+
return self
|
|
242
|
+
|
|
243
|
+
def has_data_node(self):
|
|
244
|
+
if self.ret_data_node is not None and len(self.ret_data_node) > 0:
|
|
245
|
+
return True
|
|
246
|
+
else:
|
|
247
|
+
return False
|
|
248
|
+
|
|
249
|
+
def __str__(self):
|
|
250
|
+
_str = self.__class__.__name__ + '(' + \
|
|
251
|
+
','.join([key + '=' + str(value) for key, value in self.__dict__.items() if value is not None]) \
|
|
252
|
+
+ ')'
|
|
253
|
+
return _str
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
class TTLCache(object):
|
|
257
|
+
"""
|
|
258
|
+
TTL缓存,用于token缓存等
|
|
259
|
+
"""
|
|
260
|
+
NOT_FOUND = None
|
|
261
|
+
|
|
262
|
+
def __init__(self):
|
|
263
|
+
# 记录key-value数据
|
|
264
|
+
self.datas = dict()
|
|
265
|
+
# 记录key-expire失效时间
|
|
266
|
+
self.expires = dict()
|
|
267
|
+
|
|
268
|
+
def check_and_remove_key_expires(self, key):
|
|
269
|
+
if key in self.datas:
|
|
270
|
+
if key in self.expires:
|
|
271
|
+
now = time.time()
|
|
272
|
+
expire_time = self.expires[key]
|
|
273
|
+
if expire_time > now:
|
|
274
|
+
# 超时时间>当前时间,则返回数据
|
|
275
|
+
return self.datas[key]
|
|
276
|
+
else:
|
|
277
|
+
print('[check_key_expires]key-expired:' + key + ', ' + self.datas[key])
|
|
278
|
+
del self.datas[key]
|
|
279
|
+
del self.expires[key]
|
|
280
|
+
return TTLCache.NOT_FOUND
|
|
281
|
+
else:
|
|
282
|
+
del self.datas[key]
|
|
283
|
+
return TTLCache.NOT_FOUND
|
|
284
|
+
else:
|
|
285
|
+
return TTLCache.NOT_FOUND
|
|
286
|
+
|
|
287
|
+
def get(self, key):
|
|
288
|
+
return self.check_and_remove_key_expires(key)
|
|
289
|
+
|
|
290
|
+
def set(self, key, value, ttl=86400):
|
|
291
|
+
now = time.time()
|
|
292
|
+
self.datas[key] = value
|
|
293
|
+
self.expires[key] = now + ttl
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
class FunctionMode(Enum):
|
|
297
|
+
# 无上传参数模式
|
|
298
|
+
SIMPLE = 1
|
|
299
|
+
# 无上传参数模式
|
|
300
|
+
COMPLEX = 2
|