pyswordfish 3.0.4.0__cp312-cp312-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.
- pyswordfish-3.0.4.0.dist-info/METADATA +53 -0
- pyswordfish-3.0.4.0.dist-info/RECORD +644 -0
- pyswordfish-3.0.4.0.dist-info/WHEEL +5 -0
- pyswordfish-3.0.4.0.dist-info/top_level.txt +1 -0
- swordfish/__init__.py +102 -0
- swordfish/_config.py +901 -0
- swordfish/_connection.py +1418 -0
- swordfish/_core.py +17 -0
- swordfish/_engine.py +1456 -0
- swordfish/_enums.py +142 -0
- swordfish/_function_bindings.py +23594 -0
- swordfish/_function_tools.py +124 -0
- swordfish/_helper.py +57 -0
- swordfish/_runtime.py +158 -0
- swordfish/_sqlbuilder.py +549 -0
- swordfish/_streaming.py +333 -0
- swordfish/_swordfishcpp.cp312-win_amd64.pyd +0 -0
- swordfish/_swordfishcpp.pyi +4784 -0
- swordfish/_translator.py +580 -0
- swordfish/asset/dolphindb.dos +71 -0
- swordfish/asset/tzdb/Africa/Abidjan +0 -0
- swordfish/asset/tzdb/Africa/Accra +0 -0
- swordfish/asset/tzdb/Africa/Addis_Ababa +0 -0
- swordfish/asset/tzdb/Africa/Algiers +0 -0
- swordfish/asset/tzdb/Africa/Asmara +0 -0
- swordfish/asset/tzdb/Africa/Asmera +0 -0
- swordfish/asset/tzdb/Africa/Bamako +0 -0
- swordfish/asset/tzdb/Africa/Bangui +0 -0
- swordfish/asset/tzdb/Africa/Banjul +0 -0
- swordfish/asset/tzdb/Africa/Bissau +0 -0
- swordfish/asset/tzdb/Africa/Blantyre +0 -0
- swordfish/asset/tzdb/Africa/Brazzaville +0 -0
- swordfish/asset/tzdb/Africa/Bujumbura +0 -0
- swordfish/asset/tzdb/Africa/Cairo +0 -0
- swordfish/asset/tzdb/Africa/Casablanca +0 -0
- swordfish/asset/tzdb/Africa/Ceuta +0 -0
- swordfish/asset/tzdb/Africa/Conakry +0 -0
- swordfish/asset/tzdb/Africa/Dakar +0 -0
- swordfish/asset/tzdb/Africa/Dar_es_Salaam +0 -0
- swordfish/asset/tzdb/Africa/Djibouti +0 -0
- swordfish/asset/tzdb/Africa/Douala +0 -0
- swordfish/asset/tzdb/Africa/El_Aaiun +0 -0
- swordfish/asset/tzdb/Africa/Freetown +0 -0
- swordfish/asset/tzdb/Africa/Gaborone +0 -0
- swordfish/asset/tzdb/Africa/Harare +0 -0
- swordfish/asset/tzdb/Africa/Johannesburg +0 -0
- swordfish/asset/tzdb/Africa/Juba +0 -0
- swordfish/asset/tzdb/Africa/Kampala +0 -0
- swordfish/asset/tzdb/Africa/Khartoum +0 -0
- swordfish/asset/tzdb/Africa/Kigali +0 -0
- swordfish/asset/tzdb/Africa/Kinshasa +0 -0
- swordfish/asset/tzdb/Africa/Lagos +0 -0
- swordfish/asset/tzdb/Africa/Libreville +0 -0
- swordfish/asset/tzdb/Africa/Lome +0 -0
- swordfish/asset/tzdb/Africa/Luanda +0 -0
- swordfish/asset/tzdb/Africa/Lubumbashi +0 -0
- swordfish/asset/tzdb/Africa/Lusaka +0 -0
- swordfish/asset/tzdb/Africa/Malabo +0 -0
- swordfish/asset/tzdb/Africa/Maputo +0 -0
- swordfish/asset/tzdb/Africa/Maseru +0 -0
- swordfish/asset/tzdb/Africa/Mbabane +0 -0
- swordfish/asset/tzdb/Africa/Mogadishu +0 -0
- swordfish/asset/tzdb/Africa/Monrovia +0 -0
- swordfish/asset/tzdb/Africa/Nairobi +0 -0
- swordfish/asset/tzdb/Africa/Ndjamena +0 -0
- swordfish/asset/tzdb/Africa/Niamey +0 -0
- swordfish/asset/tzdb/Africa/Nouakchott +0 -0
- swordfish/asset/tzdb/Africa/Ouagadougou +0 -0
- swordfish/asset/tzdb/Africa/Porto-Novo +0 -0
- swordfish/asset/tzdb/Africa/Sao_Tome +0 -0
- swordfish/asset/tzdb/Africa/Timbuktu +0 -0
- swordfish/asset/tzdb/Africa/Tripoli +0 -0
- swordfish/asset/tzdb/Africa/Tunis +0 -0
- swordfish/asset/tzdb/Africa/Windhoek +0 -0
- swordfish/asset/tzdb/America/Adak +0 -0
- swordfish/asset/tzdb/America/Anchorage +0 -0
- swordfish/asset/tzdb/America/Anguilla +0 -0
- swordfish/asset/tzdb/America/Antigua +0 -0
- swordfish/asset/tzdb/America/Araguaina +0 -0
- swordfish/asset/tzdb/America/Argentina/Buenos_Aires +0 -0
- swordfish/asset/tzdb/America/Argentina/Catamarca +0 -0
- swordfish/asset/tzdb/America/Argentina/ComodRivadavia +0 -0
- swordfish/asset/tzdb/America/Argentina/Cordoba +0 -0
- swordfish/asset/tzdb/America/Argentina/Jujuy +0 -0
- swordfish/asset/tzdb/America/Argentina/La_Rioja +0 -0
- swordfish/asset/tzdb/America/Argentina/Mendoza +0 -0
- swordfish/asset/tzdb/America/Argentina/Rio_Gallegos +0 -0
- swordfish/asset/tzdb/America/Argentina/Salta +0 -0
- swordfish/asset/tzdb/America/Argentina/San_Juan +0 -0
- swordfish/asset/tzdb/America/Argentina/San_Luis +0 -0
- swordfish/asset/tzdb/America/Argentina/Tucuman +0 -0
- swordfish/asset/tzdb/America/Argentina/Ushuaia +0 -0
- swordfish/asset/tzdb/America/Aruba +0 -0
- swordfish/asset/tzdb/America/Asuncion +0 -0
- swordfish/asset/tzdb/America/Atikokan +0 -0
- swordfish/asset/tzdb/America/Atka +0 -0
- swordfish/asset/tzdb/America/Bahia +0 -0
- swordfish/asset/tzdb/America/Bahia_Banderas +0 -0
- swordfish/asset/tzdb/America/Barbados +0 -0
- swordfish/asset/tzdb/America/Belem +0 -0
- swordfish/asset/tzdb/America/Belize +0 -0
- swordfish/asset/tzdb/America/Blanc-Sablon +0 -0
- swordfish/asset/tzdb/America/Boa_Vista +0 -0
- swordfish/asset/tzdb/America/Bogota +0 -0
- swordfish/asset/tzdb/America/Boise +0 -0
- swordfish/asset/tzdb/America/Buenos_Aires +0 -0
- swordfish/asset/tzdb/America/Cambridge_Bay +0 -0
- swordfish/asset/tzdb/America/Campo_Grande +0 -0
- swordfish/asset/tzdb/America/Cancun +0 -0
- swordfish/asset/tzdb/America/Caracas +0 -0
- swordfish/asset/tzdb/America/Catamarca +0 -0
- swordfish/asset/tzdb/America/Cayenne +0 -0
- swordfish/asset/tzdb/America/Cayman +0 -0
- swordfish/asset/tzdb/America/Chicago +0 -0
- swordfish/asset/tzdb/America/Chihuahua +0 -0
- swordfish/asset/tzdb/America/Coral_Harbour +0 -0
- swordfish/asset/tzdb/America/Cordoba +0 -0
- swordfish/asset/tzdb/America/Costa_Rica +0 -0
- swordfish/asset/tzdb/America/Creston +0 -0
- swordfish/asset/tzdb/America/Cuiaba +0 -0
- swordfish/asset/tzdb/America/Curacao +0 -0
- swordfish/asset/tzdb/America/Danmarkshavn +0 -0
- swordfish/asset/tzdb/America/Dawson +0 -0
- swordfish/asset/tzdb/America/Dawson_Creek +0 -0
- swordfish/asset/tzdb/America/Denver +0 -0
- swordfish/asset/tzdb/America/Detroit +0 -0
- swordfish/asset/tzdb/America/Dominica +0 -0
- swordfish/asset/tzdb/America/Edmonton +0 -0
- swordfish/asset/tzdb/America/Eirunepe +0 -0
- swordfish/asset/tzdb/America/El_Salvador +0 -0
- swordfish/asset/tzdb/America/Ensenada +0 -0
- swordfish/asset/tzdb/America/Fort_Nelson +0 -0
- swordfish/asset/tzdb/America/Fort_Wayne +0 -0
- swordfish/asset/tzdb/America/Fortaleza +0 -0
- swordfish/asset/tzdb/America/Glace_Bay +0 -0
- swordfish/asset/tzdb/America/Godthab +0 -0
- swordfish/asset/tzdb/America/Goose_Bay +0 -0
- swordfish/asset/tzdb/America/Grand_Turk +0 -0
- swordfish/asset/tzdb/America/Grenada +0 -0
- swordfish/asset/tzdb/America/Guadeloupe +0 -0
- swordfish/asset/tzdb/America/Guatemala +0 -0
- swordfish/asset/tzdb/America/Guayaquil +0 -0
- swordfish/asset/tzdb/America/Guyana +0 -0
- swordfish/asset/tzdb/America/Halifax +0 -0
- swordfish/asset/tzdb/America/Havana +0 -0
- swordfish/asset/tzdb/America/Hermosillo +0 -0
- swordfish/asset/tzdb/America/Indiana/Indianapolis +0 -0
- swordfish/asset/tzdb/America/Indiana/Knox +0 -0
- swordfish/asset/tzdb/America/Indiana/Marengo +0 -0
- swordfish/asset/tzdb/America/Indiana/Petersburg +0 -0
- swordfish/asset/tzdb/America/Indiana/Tell_City +0 -0
- swordfish/asset/tzdb/America/Indiana/Vevay +0 -0
- swordfish/asset/tzdb/America/Indiana/Vincennes +0 -0
- swordfish/asset/tzdb/America/Indiana/Winamac +0 -0
- swordfish/asset/tzdb/America/Indianapolis +0 -0
- swordfish/asset/tzdb/America/Inuvik +0 -0
- swordfish/asset/tzdb/America/Iqaluit +0 -0
- swordfish/asset/tzdb/America/Jamaica +0 -0
- swordfish/asset/tzdb/America/Jujuy +0 -0
- swordfish/asset/tzdb/America/Juneau +0 -0
- swordfish/asset/tzdb/America/Kentucky/Louisville +0 -0
- swordfish/asset/tzdb/America/Kentucky/Monticello +0 -0
- swordfish/asset/tzdb/America/Knox_IN +0 -0
- swordfish/asset/tzdb/America/Kralendijk +0 -0
- swordfish/asset/tzdb/America/La_Paz +0 -0
- swordfish/asset/tzdb/America/Lima +0 -0
- swordfish/asset/tzdb/America/Los_Angeles +0 -0
- swordfish/asset/tzdb/America/Louisville +0 -0
- swordfish/asset/tzdb/America/Lower_Princes +0 -0
- swordfish/asset/tzdb/America/Maceio +0 -0
- swordfish/asset/tzdb/America/Managua +0 -0
- swordfish/asset/tzdb/America/Manaus +0 -0
- swordfish/asset/tzdb/America/Marigot +0 -0
- swordfish/asset/tzdb/America/Martinique +0 -0
- swordfish/asset/tzdb/America/Matamoros +0 -0
- swordfish/asset/tzdb/America/Mazatlan +0 -0
- swordfish/asset/tzdb/America/Mendoza +0 -0
- swordfish/asset/tzdb/America/Menominee +0 -0
- swordfish/asset/tzdb/America/Merida +0 -0
- swordfish/asset/tzdb/America/Metlakatla +0 -0
- swordfish/asset/tzdb/America/Mexico_City +0 -0
- swordfish/asset/tzdb/America/Miquelon +0 -0
- swordfish/asset/tzdb/America/Moncton +0 -0
- swordfish/asset/tzdb/America/Monterrey +0 -0
- swordfish/asset/tzdb/America/Montevideo +0 -0
- swordfish/asset/tzdb/America/Montreal +0 -0
- swordfish/asset/tzdb/America/Montserrat +0 -0
- swordfish/asset/tzdb/America/Nassau +0 -0
- swordfish/asset/tzdb/America/New_York +0 -0
- swordfish/asset/tzdb/America/Nipigon +0 -0
- swordfish/asset/tzdb/America/Nome +0 -0
- swordfish/asset/tzdb/America/Noronha +0 -0
- swordfish/asset/tzdb/America/North_Dakota/Beulah +0 -0
- swordfish/asset/tzdb/America/North_Dakota/Center +0 -0
- swordfish/asset/tzdb/America/North_Dakota/New_Salem +0 -0
- swordfish/asset/tzdb/America/Ojinaga +0 -0
- swordfish/asset/tzdb/America/Panama +0 -0
- swordfish/asset/tzdb/America/Pangnirtung +0 -0
- swordfish/asset/tzdb/America/Paramaribo +0 -0
- swordfish/asset/tzdb/America/Phoenix +0 -0
- swordfish/asset/tzdb/America/Port-au-Prince +0 -0
- swordfish/asset/tzdb/America/Port_of_Spain +0 -0
- swordfish/asset/tzdb/America/Porto_Acre +0 -0
- swordfish/asset/tzdb/America/Porto_Velho +0 -0
- swordfish/asset/tzdb/America/Puerto_Rico +0 -0
- swordfish/asset/tzdb/America/Punta_Arenas +0 -0
- swordfish/asset/tzdb/America/Rainy_River +0 -0
- swordfish/asset/tzdb/America/Rankin_Inlet +0 -0
- swordfish/asset/tzdb/America/Recife +0 -0
- swordfish/asset/tzdb/America/Regina +0 -0
- swordfish/asset/tzdb/America/Resolute +0 -0
- swordfish/asset/tzdb/America/Rio_Branco +0 -0
- swordfish/asset/tzdb/America/Rosario +0 -0
- swordfish/asset/tzdb/America/Santa_Isabel +0 -0
- swordfish/asset/tzdb/America/Santarem +0 -0
- swordfish/asset/tzdb/America/Santiago +0 -0
- swordfish/asset/tzdb/America/Santo_Domingo +0 -0
- swordfish/asset/tzdb/America/Sao_Paulo +0 -0
- swordfish/asset/tzdb/America/Scoresbysund +0 -0
- swordfish/asset/tzdb/America/Shiprock +0 -0
- swordfish/asset/tzdb/America/Sitka +0 -0
- swordfish/asset/tzdb/America/St_Barthelemy +0 -0
- swordfish/asset/tzdb/America/St_Johns +0 -0
- swordfish/asset/tzdb/America/St_Kitts +0 -0
- swordfish/asset/tzdb/America/St_Lucia +0 -0
- swordfish/asset/tzdb/America/St_Thomas +0 -0
- swordfish/asset/tzdb/America/St_Vincent +0 -0
- swordfish/asset/tzdb/America/Swift_Current +0 -0
- swordfish/asset/tzdb/America/Tegucigalpa +0 -0
- swordfish/asset/tzdb/America/Thule +0 -0
- swordfish/asset/tzdb/America/Thunder_Bay +0 -0
- swordfish/asset/tzdb/America/Tijuana +0 -0
- swordfish/asset/tzdb/America/Toronto +0 -0
- swordfish/asset/tzdb/America/Tortola +0 -0
- swordfish/asset/tzdb/America/Vancouver +0 -0
- swordfish/asset/tzdb/America/Virgin +0 -0
- swordfish/asset/tzdb/America/Whitehorse +0 -0
- swordfish/asset/tzdb/America/Winnipeg +0 -0
- swordfish/asset/tzdb/America/Yakutat +0 -0
- swordfish/asset/tzdb/America/Yellowknife +0 -0
- swordfish/asset/tzdb/Antarctica/Casey +0 -0
- swordfish/asset/tzdb/Antarctica/Davis +0 -0
- swordfish/asset/tzdb/Antarctica/DumontDUrville +0 -0
- swordfish/asset/tzdb/Antarctica/Macquarie +0 -0
- swordfish/asset/tzdb/Antarctica/Mawson +0 -0
- swordfish/asset/tzdb/Antarctica/McMurdo +0 -0
- swordfish/asset/tzdb/Antarctica/Palmer +0 -0
- swordfish/asset/tzdb/Antarctica/Rothera +0 -0
- swordfish/asset/tzdb/Antarctica/South_Pole +0 -0
- swordfish/asset/tzdb/Antarctica/Syowa +0 -0
- swordfish/asset/tzdb/Antarctica/Troll +0 -0
- swordfish/asset/tzdb/Antarctica/Vostok +0 -0
- swordfish/asset/tzdb/Arctic/Longyearbyen +0 -0
- swordfish/asset/tzdb/Asia/Aden +0 -0
- swordfish/asset/tzdb/Asia/Almaty +0 -0
- swordfish/asset/tzdb/Asia/Amman +0 -0
- swordfish/asset/tzdb/Asia/Anadyr +0 -0
- swordfish/asset/tzdb/Asia/Aqtau +0 -0
- swordfish/asset/tzdb/Asia/Aqtobe +0 -0
- swordfish/asset/tzdb/Asia/Ashgabat +0 -0
- swordfish/asset/tzdb/Asia/Ashkhabad +0 -0
- swordfish/asset/tzdb/Asia/Atyrau +0 -0
- swordfish/asset/tzdb/Asia/Baghdad +0 -0
- swordfish/asset/tzdb/Asia/Bahrain +0 -0
- swordfish/asset/tzdb/Asia/Baku +0 -0
- swordfish/asset/tzdb/Asia/Bangkok +0 -0
- swordfish/asset/tzdb/Asia/Barnaul +0 -0
- swordfish/asset/tzdb/Asia/Beirut +0 -0
- swordfish/asset/tzdb/Asia/Bishkek +0 -0
- swordfish/asset/tzdb/Asia/Brunei +0 -0
- swordfish/asset/tzdb/Asia/Calcutta +0 -0
- swordfish/asset/tzdb/Asia/Chita +0 -0
- swordfish/asset/tzdb/Asia/Choibalsan +0 -0
- swordfish/asset/tzdb/Asia/Chongqing +0 -0
- swordfish/asset/tzdb/Asia/Chungking +0 -0
- swordfish/asset/tzdb/Asia/Colombo +0 -0
- swordfish/asset/tzdb/Asia/Dacca +0 -0
- swordfish/asset/tzdb/Asia/Damascus +0 -0
- swordfish/asset/tzdb/Asia/Dhaka +0 -0
- swordfish/asset/tzdb/Asia/Dili +0 -0
- swordfish/asset/tzdb/Asia/Dubai +0 -0
- swordfish/asset/tzdb/Asia/Dushanbe +0 -0
- swordfish/asset/tzdb/Asia/Famagusta +0 -0
- swordfish/asset/tzdb/Asia/Gaza +0 -0
- swordfish/asset/tzdb/Asia/Harbin +0 -0
- swordfish/asset/tzdb/Asia/Hebron +0 -0
- swordfish/asset/tzdb/Asia/Ho_Chi_Minh +0 -0
- swordfish/asset/tzdb/Asia/Hong_Kong +0 -0
- swordfish/asset/tzdb/Asia/Hovd +0 -0
- swordfish/asset/tzdb/Asia/Irkutsk +0 -0
- swordfish/asset/tzdb/Asia/Istanbul +0 -0
- swordfish/asset/tzdb/Asia/Jakarta +0 -0
- swordfish/asset/tzdb/Asia/Jayapura +0 -0
- swordfish/asset/tzdb/Asia/Jerusalem +0 -0
- swordfish/asset/tzdb/Asia/Kabul +0 -0
- swordfish/asset/tzdb/Asia/Kamchatka +0 -0
- swordfish/asset/tzdb/Asia/Karachi +0 -0
- swordfish/asset/tzdb/Asia/Kashgar +0 -0
- swordfish/asset/tzdb/Asia/Kathmandu +0 -0
- swordfish/asset/tzdb/Asia/Katmandu +0 -0
- swordfish/asset/tzdb/Asia/Khandyga +0 -0
- swordfish/asset/tzdb/Asia/Kolkata +0 -0
- swordfish/asset/tzdb/Asia/Krasnoyarsk +0 -0
- swordfish/asset/tzdb/Asia/Kuala_Lumpur +0 -0
- swordfish/asset/tzdb/Asia/Kuching +0 -0
- swordfish/asset/tzdb/Asia/Kuwait +0 -0
- swordfish/asset/tzdb/Asia/Macao +0 -0
- swordfish/asset/tzdb/Asia/Macau +0 -0
- swordfish/asset/tzdb/Asia/Magadan +0 -0
- swordfish/asset/tzdb/Asia/Makassar +0 -0
- swordfish/asset/tzdb/Asia/Manila +0 -0
- swordfish/asset/tzdb/Asia/Muscat +0 -0
- swordfish/asset/tzdb/Asia/Nicosia +0 -0
- swordfish/asset/tzdb/Asia/Novokuznetsk +0 -0
- swordfish/asset/tzdb/Asia/Novosibirsk +0 -0
- swordfish/asset/tzdb/Asia/Omsk +0 -0
- swordfish/asset/tzdb/Asia/Oral +0 -0
- swordfish/asset/tzdb/Asia/Phnom_Penh +0 -0
- swordfish/asset/tzdb/Asia/Pontianak +0 -0
- swordfish/asset/tzdb/Asia/Pyongyang +0 -0
- swordfish/asset/tzdb/Asia/Qatar +0 -0
- swordfish/asset/tzdb/Asia/Qyzylorda +0 -0
- swordfish/asset/tzdb/Asia/Rangoon +0 -0
- swordfish/asset/tzdb/Asia/Riyadh +0 -0
- swordfish/asset/tzdb/Asia/Saigon +0 -0
- swordfish/asset/tzdb/Asia/Sakhalin +0 -0
- swordfish/asset/tzdb/Asia/Samarkand +0 -0
- swordfish/asset/tzdb/Asia/Seoul +0 -0
- swordfish/asset/tzdb/Asia/Shanghai +0 -0
- swordfish/asset/tzdb/Asia/Singapore +0 -0
- swordfish/asset/tzdb/Asia/Srednekolymsk +0 -0
- swordfish/asset/tzdb/Asia/Taipei +0 -0
- swordfish/asset/tzdb/Asia/Tashkent +0 -0
- swordfish/asset/tzdb/Asia/Tbilisi +0 -0
- swordfish/asset/tzdb/Asia/Tehran +0 -0
- swordfish/asset/tzdb/Asia/Tel_Aviv +0 -0
- swordfish/asset/tzdb/Asia/Thimbu +0 -0
- swordfish/asset/tzdb/Asia/Thimphu +0 -0
- swordfish/asset/tzdb/Asia/Tokyo +0 -0
- swordfish/asset/tzdb/Asia/Tomsk +0 -0
- swordfish/asset/tzdb/Asia/Ujung_Pandang +0 -0
- swordfish/asset/tzdb/Asia/Ulaanbaatar +0 -0
- swordfish/asset/tzdb/Asia/Ulan_Bator +0 -0
- swordfish/asset/tzdb/Asia/Urumqi +0 -0
- swordfish/asset/tzdb/Asia/Ust-Nera +0 -0
- swordfish/asset/tzdb/Asia/Vientiane +0 -0
- swordfish/asset/tzdb/Asia/Vladivostok +0 -0
- swordfish/asset/tzdb/Asia/Yakutsk +0 -0
- swordfish/asset/tzdb/Asia/Yangon +0 -0
- swordfish/asset/tzdb/Asia/Yekaterinburg +0 -0
- swordfish/asset/tzdb/Asia/Yerevan +0 -0
- swordfish/asset/tzdb/Atlantic/Azores +0 -0
- swordfish/asset/tzdb/Atlantic/Bermuda +0 -0
- swordfish/asset/tzdb/Atlantic/Canary +0 -0
- swordfish/asset/tzdb/Atlantic/Cape_Verde +0 -0
- swordfish/asset/tzdb/Atlantic/Faeroe +0 -0
- swordfish/asset/tzdb/Atlantic/Faroe +0 -0
- swordfish/asset/tzdb/Atlantic/Jan_Mayen +0 -0
- swordfish/asset/tzdb/Atlantic/Madeira +0 -0
- swordfish/asset/tzdb/Atlantic/Reykjavik +0 -0
- swordfish/asset/tzdb/Atlantic/South_Georgia +0 -0
- swordfish/asset/tzdb/Atlantic/St_Helena +0 -0
- swordfish/asset/tzdb/Atlantic/Stanley +0 -0
- swordfish/asset/tzdb/Australia/ACT +0 -0
- swordfish/asset/tzdb/Australia/Adelaide +0 -0
- swordfish/asset/tzdb/Australia/Brisbane +0 -0
- swordfish/asset/tzdb/Australia/Broken_Hill +0 -0
- swordfish/asset/tzdb/Australia/Canberra +0 -0
- swordfish/asset/tzdb/Australia/Currie +0 -0
- swordfish/asset/tzdb/Australia/Darwin +0 -0
- swordfish/asset/tzdb/Australia/Eucla +0 -0
- swordfish/asset/tzdb/Australia/Hobart +0 -0
- swordfish/asset/tzdb/Australia/LHI +0 -0
- swordfish/asset/tzdb/Australia/Lindeman +0 -0
- swordfish/asset/tzdb/Australia/Lord_Howe +0 -0
- swordfish/asset/tzdb/Australia/Melbourne +0 -0
- swordfish/asset/tzdb/Australia/NSW +0 -0
- swordfish/asset/tzdb/Australia/North +0 -0
- swordfish/asset/tzdb/Australia/Perth +0 -0
- swordfish/asset/tzdb/Australia/Queensland +0 -0
- swordfish/asset/tzdb/Australia/South +0 -0
- swordfish/asset/tzdb/Australia/Sydney +0 -0
- swordfish/asset/tzdb/Australia/Tasmania +0 -0
- swordfish/asset/tzdb/Australia/Victoria +0 -0
- swordfish/asset/tzdb/Australia/West +0 -0
- swordfish/asset/tzdb/Australia/Yancowinna +0 -0
- swordfish/asset/tzdb/Brazil/Acre +0 -0
- swordfish/asset/tzdb/Brazil/DeNoronha +0 -0
- swordfish/asset/tzdb/Brazil/East +0 -0
- swordfish/asset/tzdb/Brazil/West +0 -0
- swordfish/asset/tzdb/CET +0 -0
- swordfish/asset/tzdb/CST6CDT +0 -0
- swordfish/asset/tzdb/Canada/Atlantic +0 -0
- swordfish/asset/tzdb/Canada/Central +0 -0
- swordfish/asset/tzdb/Canada/Eastern +0 -0
- swordfish/asset/tzdb/Canada/Mountain +0 -0
- swordfish/asset/tzdb/Canada/Newfoundland +0 -0
- swordfish/asset/tzdb/Canada/Pacific +0 -0
- swordfish/asset/tzdb/Canada/Saskatchewan +0 -0
- swordfish/asset/tzdb/Canada/Yukon +0 -0
- swordfish/asset/tzdb/Chile/Continental +0 -0
- swordfish/asset/tzdb/Chile/EasterIsland +0 -0
- swordfish/asset/tzdb/Cuba +0 -0
- swordfish/asset/tzdb/EET +0 -0
- swordfish/asset/tzdb/EST +0 -0
- swordfish/asset/tzdb/EST5EDT +0 -0
- swordfish/asset/tzdb/Egypt +0 -0
- swordfish/asset/tzdb/Eire +0 -0
- swordfish/asset/tzdb/Etc/GMT +0 -0
- swordfish/asset/tzdb/Etc/GMT+0 +0 -0
- swordfish/asset/tzdb/Etc/GMT+1 +0 -0
- swordfish/asset/tzdb/Etc/GMT+10 +0 -0
- swordfish/asset/tzdb/Etc/GMT+11 +0 -0
- swordfish/asset/tzdb/Etc/GMT+12 +0 -0
- swordfish/asset/tzdb/Etc/GMT+2 +0 -0
- swordfish/asset/tzdb/Etc/GMT+3 +0 -0
- swordfish/asset/tzdb/Etc/GMT+4 +0 -0
- swordfish/asset/tzdb/Etc/GMT+5 +0 -0
- swordfish/asset/tzdb/Etc/GMT+6 +0 -0
- swordfish/asset/tzdb/Etc/GMT+7 +0 -0
- swordfish/asset/tzdb/Etc/GMT+8 +0 -0
- swordfish/asset/tzdb/Etc/GMT+9 +0 -0
- swordfish/asset/tzdb/Etc/GMT-0 +0 -0
- swordfish/asset/tzdb/Etc/GMT-1 +0 -0
- swordfish/asset/tzdb/Etc/GMT-10 +0 -0
- swordfish/asset/tzdb/Etc/GMT-11 +0 -0
- swordfish/asset/tzdb/Etc/GMT-12 +0 -0
- swordfish/asset/tzdb/Etc/GMT-13 +0 -0
- swordfish/asset/tzdb/Etc/GMT-14 +0 -0
- swordfish/asset/tzdb/Etc/GMT-2 +0 -0
- swordfish/asset/tzdb/Etc/GMT-3 +0 -0
- swordfish/asset/tzdb/Etc/GMT-4 +0 -0
- swordfish/asset/tzdb/Etc/GMT-5 +0 -0
- swordfish/asset/tzdb/Etc/GMT-6 +0 -0
- swordfish/asset/tzdb/Etc/GMT-7 +0 -0
- swordfish/asset/tzdb/Etc/GMT-8 +0 -0
- swordfish/asset/tzdb/Etc/GMT-9 +0 -0
- swordfish/asset/tzdb/Etc/GMT0 +0 -0
- swordfish/asset/tzdb/Etc/Greenwich +0 -0
- swordfish/asset/tzdb/Etc/UCT +0 -0
- swordfish/asset/tzdb/Etc/UTC +0 -0
- swordfish/asset/tzdb/Etc/Universal +0 -0
- swordfish/asset/tzdb/Etc/Zulu +0 -0
- swordfish/asset/tzdb/Europe/Amsterdam +0 -0
- swordfish/asset/tzdb/Europe/Andorra +0 -0
- swordfish/asset/tzdb/Europe/Astrakhan +0 -0
- swordfish/asset/tzdb/Europe/Athens +0 -0
- swordfish/asset/tzdb/Europe/Belfast +0 -0
- swordfish/asset/tzdb/Europe/Belgrade +0 -0
- swordfish/asset/tzdb/Europe/Berlin +0 -0
- swordfish/asset/tzdb/Europe/Bratislava +0 -0
- swordfish/asset/tzdb/Europe/Brussels +0 -0
- swordfish/asset/tzdb/Europe/Bucharest +0 -0
- swordfish/asset/tzdb/Europe/Budapest +0 -0
- swordfish/asset/tzdb/Europe/Busingen +0 -0
- swordfish/asset/tzdb/Europe/Chisinau +0 -0
- swordfish/asset/tzdb/Europe/Copenhagen +0 -0
- swordfish/asset/tzdb/Europe/Dublin +0 -0
- swordfish/asset/tzdb/Europe/Gibraltar +0 -0
- swordfish/asset/tzdb/Europe/Guernsey +0 -0
- swordfish/asset/tzdb/Europe/Helsinki +0 -0
- swordfish/asset/tzdb/Europe/Isle_of_Man +0 -0
- swordfish/asset/tzdb/Europe/Istanbul +0 -0
- swordfish/asset/tzdb/Europe/Jersey +0 -0
- swordfish/asset/tzdb/Europe/Kaliningrad +0 -0
- swordfish/asset/tzdb/Europe/Kiev +0 -0
- swordfish/asset/tzdb/Europe/Kirov +0 -0
- swordfish/asset/tzdb/Europe/Lisbon +0 -0
- swordfish/asset/tzdb/Europe/Ljubljana +0 -0
- swordfish/asset/tzdb/Europe/London +0 -0
- swordfish/asset/tzdb/Europe/Luxembourg +0 -0
- swordfish/asset/tzdb/Europe/Madrid +0 -0
- swordfish/asset/tzdb/Europe/Malta +0 -0
- swordfish/asset/tzdb/Europe/Mariehamn +0 -0
- swordfish/asset/tzdb/Europe/Minsk +0 -0
- swordfish/asset/tzdb/Europe/Monaco +0 -0
- swordfish/asset/tzdb/Europe/Moscow +0 -0
- swordfish/asset/tzdb/Europe/Nicosia +0 -0
- swordfish/asset/tzdb/Europe/Oslo +0 -0
- swordfish/asset/tzdb/Europe/Paris +0 -0
- swordfish/asset/tzdb/Europe/Podgorica +0 -0
- swordfish/asset/tzdb/Europe/Prague +0 -0
- swordfish/asset/tzdb/Europe/Riga +0 -0
- swordfish/asset/tzdb/Europe/Rome +0 -0
- swordfish/asset/tzdb/Europe/Samara +0 -0
- swordfish/asset/tzdb/Europe/San_Marino +0 -0
- swordfish/asset/tzdb/Europe/Sarajevo +0 -0
- swordfish/asset/tzdb/Europe/Saratov +0 -0
- swordfish/asset/tzdb/Europe/Simferopol +0 -0
- swordfish/asset/tzdb/Europe/Skopje +0 -0
- swordfish/asset/tzdb/Europe/Sofia +0 -0
- swordfish/asset/tzdb/Europe/Stockholm +0 -0
- swordfish/asset/tzdb/Europe/Tallinn +0 -0
- swordfish/asset/tzdb/Europe/Tirane +0 -0
- swordfish/asset/tzdb/Europe/Tiraspol +0 -0
- swordfish/asset/tzdb/Europe/Ulyanovsk +0 -0
- swordfish/asset/tzdb/Europe/Uzhgorod +0 -0
- swordfish/asset/tzdb/Europe/Vaduz +0 -0
- swordfish/asset/tzdb/Europe/Vatican +0 -0
- swordfish/asset/tzdb/Europe/Vienna +0 -0
- swordfish/asset/tzdb/Europe/Vilnius +0 -0
- swordfish/asset/tzdb/Europe/Volgograd +0 -0
- swordfish/asset/tzdb/Europe/Warsaw +0 -0
- swordfish/asset/tzdb/Europe/Zagreb +0 -0
- swordfish/asset/tzdb/Europe/Zaporozhye +0 -0
- swordfish/asset/tzdb/Europe/Zurich +0 -0
- swordfish/asset/tzdb/Factory +0 -0
- swordfish/asset/tzdb/GB +0 -0
- swordfish/asset/tzdb/GB-Eire +0 -0
- swordfish/asset/tzdb/GMT +0 -0
- swordfish/asset/tzdb/GMT+0 +0 -0
- swordfish/asset/tzdb/GMT-0 +0 -0
- swordfish/asset/tzdb/GMT0 +0 -0
- swordfish/asset/tzdb/Greenwich +0 -0
- swordfish/asset/tzdb/HST +0 -0
- swordfish/asset/tzdb/Hongkong +0 -0
- swordfish/asset/tzdb/Iceland +0 -0
- swordfish/asset/tzdb/Indian/Antananarivo +0 -0
- swordfish/asset/tzdb/Indian/Chagos +0 -0
- swordfish/asset/tzdb/Indian/Christmas +0 -0
- swordfish/asset/tzdb/Indian/Cocos +0 -0
- swordfish/asset/tzdb/Indian/Comoro +0 -0
- swordfish/asset/tzdb/Indian/Kerguelen +0 -0
- swordfish/asset/tzdb/Indian/Mahe +0 -0
- swordfish/asset/tzdb/Indian/Maldives +0 -0
- swordfish/asset/tzdb/Indian/Mauritius +0 -0
- swordfish/asset/tzdb/Indian/Mayotte +0 -0
- swordfish/asset/tzdb/Indian/Reunion +0 -0
- swordfish/asset/tzdb/Iran +0 -0
- swordfish/asset/tzdb/Israel +0 -0
- swordfish/asset/tzdb/Jamaica +0 -0
- swordfish/asset/tzdb/Japan +0 -0
- swordfish/asset/tzdb/Kwajalein +0 -0
- swordfish/asset/tzdb/Libya +0 -0
- swordfish/asset/tzdb/MET +0 -0
- swordfish/asset/tzdb/MST +0 -0
- swordfish/asset/tzdb/MST7MDT +0 -0
- swordfish/asset/tzdb/Mexico/BajaNorte +0 -0
- swordfish/asset/tzdb/Mexico/BajaSur +0 -0
- swordfish/asset/tzdb/Mexico/General +0 -0
- swordfish/asset/tzdb/NZ +0 -0
- swordfish/asset/tzdb/NZ-CHAT +0 -0
- swordfish/asset/tzdb/Navajo +0 -0
- swordfish/asset/tzdb/PRC +0 -0
- swordfish/asset/tzdb/PST8PDT +0 -0
- swordfish/asset/tzdb/Pacific/Apia +0 -0
- swordfish/asset/tzdb/Pacific/Auckland +0 -0
- swordfish/asset/tzdb/Pacific/Bougainville +0 -0
- swordfish/asset/tzdb/Pacific/Chatham +0 -0
- swordfish/asset/tzdb/Pacific/Chuuk +0 -0
- swordfish/asset/tzdb/Pacific/Easter +0 -0
- swordfish/asset/tzdb/Pacific/Efate +0 -0
- swordfish/asset/tzdb/Pacific/Enderbury +0 -0
- swordfish/asset/tzdb/Pacific/Fakaofo +0 -0
- swordfish/asset/tzdb/Pacific/Fiji +0 -0
- swordfish/asset/tzdb/Pacific/Funafuti +0 -0
- swordfish/asset/tzdb/Pacific/Galapagos +0 -0
- swordfish/asset/tzdb/Pacific/Gambier +0 -0
- swordfish/asset/tzdb/Pacific/Guadalcanal +0 -0
- swordfish/asset/tzdb/Pacific/Guam +0 -0
- swordfish/asset/tzdb/Pacific/Honolulu +0 -0
- swordfish/asset/tzdb/Pacific/Johnston +0 -0
- swordfish/asset/tzdb/Pacific/Kiritimati +0 -0
- swordfish/asset/tzdb/Pacific/Kosrae +0 -0
- swordfish/asset/tzdb/Pacific/Kwajalein +0 -0
- swordfish/asset/tzdb/Pacific/Majuro +0 -0
- swordfish/asset/tzdb/Pacific/Marquesas +0 -0
- swordfish/asset/tzdb/Pacific/Midway +0 -0
- swordfish/asset/tzdb/Pacific/Nauru +0 -0
- swordfish/asset/tzdb/Pacific/Niue +0 -0
- swordfish/asset/tzdb/Pacific/Norfolk +0 -0
- swordfish/asset/tzdb/Pacific/Noumea +0 -0
- swordfish/asset/tzdb/Pacific/Pago_Pago +0 -0
- swordfish/asset/tzdb/Pacific/Palau +0 -0
- swordfish/asset/tzdb/Pacific/Pitcairn +0 -0
- swordfish/asset/tzdb/Pacific/Pohnpei +0 -0
- swordfish/asset/tzdb/Pacific/Ponape +0 -0
- swordfish/asset/tzdb/Pacific/Port_Moresby +0 -0
- swordfish/asset/tzdb/Pacific/Rarotonga +0 -0
- swordfish/asset/tzdb/Pacific/Saipan +0 -0
- swordfish/asset/tzdb/Pacific/Samoa +0 -0
- swordfish/asset/tzdb/Pacific/Tahiti +0 -0
- swordfish/asset/tzdb/Pacific/Tarawa +0 -0
- swordfish/asset/tzdb/Pacific/Tongatapu +0 -0
- swordfish/asset/tzdb/Pacific/Truk +0 -0
- swordfish/asset/tzdb/Pacific/Wake +0 -0
- swordfish/asset/tzdb/Pacific/Wallis +0 -0
- swordfish/asset/tzdb/Pacific/Yap +0 -0
- swordfish/asset/tzdb/Poland +0 -0
- swordfish/asset/tzdb/Portugal +0 -0
- swordfish/asset/tzdb/ROC +0 -0
- swordfish/asset/tzdb/ROK +0 -0
- swordfish/asset/tzdb/Singapore +0 -0
- swordfish/asset/tzdb/Turkey +0 -0
- swordfish/asset/tzdb/UCT +0 -0
- swordfish/asset/tzdb/US/Alaska +0 -0
- swordfish/asset/tzdb/US/Aleutian +0 -0
- swordfish/asset/tzdb/US/Arizona +0 -0
- swordfish/asset/tzdb/US/Central +0 -0
- swordfish/asset/tzdb/US/East-Indiana +0 -0
- swordfish/asset/tzdb/US/Eastern +0 -0
- swordfish/asset/tzdb/US/Hawaii +0 -0
- swordfish/asset/tzdb/US/Indiana-Starke +0 -0
- swordfish/asset/tzdb/US/Michigan +0 -0
- swordfish/asset/tzdb/US/Mountain +0 -0
- swordfish/asset/tzdb/US/Pacific +0 -0
- swordfish/asset/tzdb/US/Samoa +0 -0
- swordfish/asset/tzdb/UTC +0 -0
- swordfish/asset/tzdb/Universal +0 -0
- swordfish/asset/tzdb/W-SU +0 -0
- swordfish/asset/tzdb/WET +0 -0
- swordfish/asset/tzdb/Zulu +0 -0
- swordfish/asset/tzdb/iso3166.tab +274 -0
- swordfish/asset/tzdb/leapseconds +61 -0
- swordfish/asset/tzdb/posixrules +0 -0
- swordfish/asset/tzdb/tzdata.zi +4150 -0
- swordfish/asset/tzdb/tzmap_gen.py +27 -0
- swordfish/asset/tzdb/tzmapping +501 -0
- swordfish/asset/tzdb/windowsZones.xml +781 -0
- swordfish/asset/tzdb/zone.tab +448 -0
- swordfish/asset/tzdb/zone1970.tab +382 -0
- swordfish/connection.py +33 -0
- swordfish/data.py +806 -0
- swordfish/engine.py +28 -0
- swordfish/enums.py +32 -0
- swordfish/function.py +3 -0
- swordfish/infos.py +53 -0
- swordfish/io.py +11 -0
- swordfish/libSwordfish.dll +0 -0
- swordfish/libclucene-contribs-lib.dll +0 -0
- swordfish/libclucene-core.dll +0 -0
- swordfish/libclucene-shared.dll +0 -0
- swordfish/libgcc_s_seh-1.dll +0 -0
- swordfish/libstdc++-6.dll +0 -0
- swordfish/libwinpthread-1.dll +0 -0
- swordfish/module.py +57 -0
- swordfish/plugins/__init__.py +17 -0
- swordfish/plugins/backtest/__init__.py +38 -0
- swordfish/plugins/backtest/backtest.py +4228 -0
- swordfish/plugins/backtest/translator.py +820 -0
- swordfish/plugins/matching_engine_simulator.py +247 -0
- swordfish/streaming.py +19 -0
- swordfish/tools.py +71 -0
- swordfish/types.py +30 -0
swordfish/data.py
ADDED
|
@@ -0,0 +1,806 @@
|
|
|
1
|
+
from typing import Any, List, Union
|
|
2
|
+
import typing
|
|
3
|
+
|
|
4
|
+
from ._swordfishcpp import ( # type: ignore
|
|
5
|
+
Constant, Scalar, Vector, Table, Matrix, Set, Dictionary,
|
|
6
|
+
AnyVector, ArrayVector, Pair,
|
|
7
|
+
Void, Bool, Char, Short, Int, Long, Float, Double,
|
|
8
|
+
String, Blob, Date, Month, Time, Minute, Second,
|
|
9
|
+
DateTime, Timestamp, NanoTime, NanoTimestamp, DateHour,
|
|
10
|
+
Uuid, Int128, Ipaddr, Duration, MetaCode, Point,
|
|
11
|
+
Decimal32, Decimal64, Decimal128,
|
|
12
|
+
FunctionDef,
|
|
13
|
+
|
|
14
|
+
_global_call,
|
|
15
|
+
convert_scalar, convert_vector, create_partial,
|
|
16
|
+
convert_matrix, convert_set, convert_dictionary, convert_table,
|
|
17
|
+
create_vector, create_any_vector, create_array_vector, create_pair,
|
|
18
|
+
create_matrix, create_set, create_dictionary_with_key_and_val, create_dictionary, create_table,
|
|
19
|
+
ProgrammingError,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
from . import function as F
|
|
23
|
+
|
|
24
|
+
from .types import DataType, TypeDict, TypeList
|
|
25
|
+
from .types import ANY
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
NULL = Void.NULL_VALUE
|
|
29
|
+
DFLT = Void.DFLT_VALUE
|
|
30
|
+
Nothing = Void.VOID_VALUE
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def partial(func: FunctionDef, *args, **kwargs):
|
|
34
|
+
"""
|
|
35
|
+
Creates a partially applied function by binding arguments to the original
|
|
36
|
+
function.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
func : FunctionDef
|
|
41
|
+
The original function to partially apply arguments to.
|
|
42
|
+
*args
|
|
43
|
+
Positional arguments to bind to the function.
|
|
44
|
+
**kwargs
|
|
45
|
+
Keyword arguments to bind to the function.
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
FunctionDef
|
|
50
|
+
A Swordfish FunctionDef object representing the partially applied
|
|
51
|
+
function.
|
|
52
|
+
|
|
53
|
+
Examples
|
|
54
|
+
--------
|
|
55
|
+
>>> import swordfish as sf
|
|
56
|
+
>>> import swordfish.function as F
|
|
57
|
+
>>> @F.swordfish_udf
|
|
58
|
+
>>> def add(a,b):
|
|
59
|
+
... return a+b
|
|
60
|
+
>>> partial_func1 = sf.partial(add, 1)
|
|
61
|
+
>>> partial_func1(3)
|
|
62
|
+
Long(4)
|
|
63
|
+
>>> partial_func2 = sf.partial(add, b=4)
|
|
64
|
+
>>> partial_func2(3)
|
|
65
|
+
Long(7)
|
|
66
|
+
"""
|
|
67
|
+
return create_partial(func, *args, **kwargs)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def scalar(data: Any, *, type: DataType = None) -> Scalar:
|
|
71
|
+
"""
|
|
72
|
+
Creates a Swordfish Scalar from a Python object.
|
|
73
|
+
|
|
74
|
+
Parameters
|
|
75
|
+
----------
|
|
76
|
+
data : Any
|
|
77
|
+
The input data to be converted into a Scalar.
|
|
78
|
+
type : DataType, optional
|
|
79
|
+
The desired data type for the Scalar. Defaults to None.
|
|
80
|
+
|
|
81
|
+
Returns
|
|
82
|
+
-------
|
|
83
|
+
Scalar
|
|
84
|
+
A Swordfish Scalar object representing the input data.
|
|
85
|
+
|
|
86
|
+
Examples
|
|
87
|
+
--------
|
|
88
|
+
>>> import swordfish as sf
|
|
89
|
+
>>> x = sf.scalar(3)
|
|
90
|
+
>>> x
|
|
91
|
+
Long(3)
|
|
92
|
+
>>> y = sf.scalar(3, type="INT")
|
|
93
|
+
>>> y
|
|
94
|
+
Int(3)
|
|
95
|
+
"""
|
|
96
|
+
return convert_scalar(data, type)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@typing.overload
|
|
100
|
+
def vector(data: Any = None, *, type: DataType = None) -> Vector:
|
|
101
|
+
...
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@typing.overload
|
|
105
|
+
def vector(*, type: DataType = None, size: int = 0, capacity: int = 1, default: Any = None) -> Vector:
|
|
106
|
+
...
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def vector(
|
|
110
|
+
data: Any = None,
|
|
111
|
+
*,
|
|
112
|
+
type: DataType = None,
|
|
113
|
+
size: int = 0,
|
|
114
|
+
capacity: int = 1,
|
|
115
|
+
default: Any = None
|
|
116
|
+
):
|
|
117
|
+
"""
|
|
118
|
+
Creates a Swordfish Vector from a Python object or initializes one with
|
|
119
|
+
specified type, size, capacity, and default value.
|
|
120
|
+
|
|
121
|
+
There are two modes of initialization:
|
|
122
|
+
|
|
123
|
+
- If ``data`` is provided, it converts the given Python object into a Vector
|
|
124
|
+
of the specified ``type``.
|
|
125
|
+
- If ``data`` is not provided, a new Vector is created with the specified
|
|
126
|
+
``type``, ``size``, ``capacity``, and ``default`` value.
|
|
127
|
+
|
|
128
|
+
Parameters
|
|
129
|
+
----------
|
|
130
|
+
data : Any, optional
|
|
131
|
+
The input data to initialize the Vector. Defaults to None.
|
|
132
|
+
type : DataType, optional
|
|
133
|
+
The data type for the Vector. Defaults to None.
|
|
134
|
+
size : int, optional
|
|
135
|
+
The number of elements in the Vector (used when ``data`` is None).
|
|
136
|
+
Defaults to 0.
|
|
137
|
+
capacity : int, optional
|
|
138
|
+
The initial capacity of the Vector (used when ``data`` is None).
|
|
139
|
+
Defaults to 1.
|
|
140
|
+
default : Any, optional
|
|
141
|
+
The value used to fill the Vector (used when ``data`` is None).
|
|
142
|
+
Defaults to None.
|
|
143
|
+
|
|
144
|
+
Returns
|
|
145
|
+
-------
|
|
146
|
+
Vector
|
|
147
|
+
A Swordfish Vector initialized based on the provided arguments.
|
|
148
|
+
|
|
149
|
+
Examples
|
|
150
|
+
--------
|
|
151
|
+
Creating a Vector from existing data:
|
|
152
|
+
>>> import swordfish as sf
|
|
153
|
+
>>> x = sf.vector([1, 2, 3])
|
|
154
|
+
>>> x
|
|
155
|
+
Vector([1,2,3], type=LONG)
|
|
156
|
+
|
|
157
|
+
Creating an empty Vector with specific type, size, capacity, and default value:
|
|
158
|
+
>>> y = sf.vector(type="INT", size=3, capacity=5, default=0)
|
|
159
|
+
>>> y
|
|
160
|
+
Vector([0,0,0], type=INT)
|
|
161
|
+
"""
|
|
162
|
+
# overload 1
|
|
163
|
+
if data is not None:
|
|
164
|
+
return convert_vector(data, 0, type)
|
|
165
|
+
# overload 2
|
|
166
|
+
return create_vector(type, size, capacity, default)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
@typing.overload
|
|
170
|
+
def any_vector(data: Any = None) -> AnyVector:
|
|
171
|
+
...
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
@typing.overload
|
|
175
|
+
def any_vector(*, size: int = 0, capacity: int = 1, default: Any = None) -> AnyVector:
|
|
176
|
+
...
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def any_vector(
|
|
180
|
+
data: Any = None,
|
|
181
|
+
*,
|
|
182
|
+
size: int = 0,
|
|
183
|
+
capacity: int = 1,
|
|
184
|
+
default: Any = None
|
|
185
|
+
) -> AnyVector:
|
|
186
|
+
"""
|
|
187
|
+
Creates a Swordfish AnyVector from a Python object or initializes one with
|
|
188
|
+
specified size, capacity, and default value.
|
|
189
|
+
|
|
190
|
+
There are two modes of initialization:
|
|
191
|
+
|
|
192
|
+
- If ``data`` is provided, it converts the given Python object into an
|
|
193
|
+
AnyVector.
|
|
194
|
+
- If ``data`` is not provided, a new AnyVector is created with the specified
|
|
195
|
+
`size`, `capacity`, and `default` value.
|
|
196
|
+
|
|
197
|
+
Parameters
|
|
198
|
+
----------
|
|
199
|
+
data : Any, optional
|
|
200
|
+
The input data to initialize the AnyVector. Defaults to None.
|
|
201
|
+
size : int, optional
|
|
202
|
+
The number of elements in the AnyVector (used when ``data`` is None).
|
|
203
|
+
Defaults to 0.
|
|
204
|
+
capacity : int, optional
|
|
205
|
+
The initial capacity of the AnyVector (used when ``data`` is None).
|
|
206
|
+
Defaults to 1.
|
|
207
|
+
default : Any, optional
|
|
208
|
+
The value to fill the AnyVector (used when ``data`` is None).
|
|
209
|
+
Defaults to None.
|
|
210
|
+
|
|
211
|
+
Returns
|
|
212
|
+
-------
|
|
213
|
+
AnyVector
|
|
214
|
+
A Swordfish AnyVector initialized based on the provided arguments.
|
|
215
|
+
|
|
216
|
+
Examples
|
|
217
|
+
--------
|
|
218
|
+
Creating an AnyVector from existing data:
|
|
219
|
+
>>> import swordfish as sf
|
|
220
|
+
>>> x = sf.any_vector([1, 2, 3])
|
|
221
|
+
>>> x
|
|
222
|
+
AnyVector((1,2,3))
|
|
223
|
+
|
|
224
|
+
Creating an empty AnyVector with specific size, capacity, and default value:
|
|
225
|
+
>>> y = sf.any_vector(size=5, capacity=10, default=3)
|
|
226
|
+
>>> y
|
|
227
|
+
AnyVector((3,3,3,3,3))
|
|
228
|
+
"""
|
|
229
|
+
if data is not None:
|
|
230
|
+
return convert_vector(data, 1, ANY)
|
|
231
|
+
return create_any_vector(size, capacity, default)
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
@typing.overload
|
|
235
|
+
def array_vector(data: Any = None, *, type: DataType = None) -> ArrayVector:
|
|
236
|
+
...
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
@typing.overload
|
|
240
|
+
def array_vector(*, index: Any = None, value: Any = None, type: DataType = None) -> ArrayVector:
|
|
241
|
+
...
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
def array_vector(
|
|
245
|
+
data: Any = None,
|
|
246
|
+
*,
|
|
247
|
+
index: Any = None,
|
|
248
|
+
value: Any = None,
|
|
249
|
+
type: DataType = None
|
|
250
|
+
) -> ArrayVector:
|
|
251
|
+
"""
|
|
252
|
+
Creates a Swordfish ArrayVector from a Python object or using specified
|
|
253
|
+
index, value, and type.
|
|
254
|
+
|
|
255
|
+
There are two modes of initialization:
|
|
256
|
+
|
|
257
|
+
- If ``data`` is provided, it converts the given Python object into an
|
|
258
|
+
ArrayVector of the specified ``type``.
|
|
259
|
+
- If ``data`` is not provided, an ArrayVector is constructed using the
|
|
260
|
+
given ``index`` and ``value``, with an optional ``type``.
|
|
261
|
+
|
|
262
|
+
Parameters
|
|
263
|
+
----------
|
|
264
|
+
data : Any, optional
|
|
265
|
+
The input data to initialize the ArrayVector. Defaults to None.
|
|
266
|
+
index : Any, optional
|
|
267
|
+
The index portion of the ArrayVector, typically a sequence of indices
|
|
268
|
+
(used when ``data`` is None). Defaults to None.
|
|
269
|
+
value : Any, optional
|
|
270
|
+
The value portion of the ArrayVector, typically a sequence of values
|
|
271
|
+
(used when ``data`` is None). Defaults to None.
|
|
272
|
+
type : DataType, optional
|
|
273
|
+
The data type of the ArrayVector. If None, it is inferred. Defaults to
|
|
274
|
+
None.
|
|
275
|
+
|
|
276
|
+
Returns
|
|
277
|
+
-------
|
|
278
|
+
ArrayVector
|
|
279
|
+
A Swordfish ArrayVector initialized based on the provided arguments.
|
|
280
|
+
|
|
281
|
+
Examples
|
|
282
|
+
--------
|
|
283
|
+
Creating an ArrayVector from existing data:
|
|
284
|
+
>>> import swordfish as sf
|
|
285
|
+
>>> sf.array_vector([[1, 2], [3, 4, 5], []], type="INT")
|
|
286
|
+
ArrayVector([[1,2],[3,4,5],], type=INT[])
|
|
287
|
+
|
|
288
|
+
Creating an ArrayVector using index and value:
|
|
289
|
+
>>> sf.array_vector(index=[1, 2, 3], value=[10, 20, 30], type="SHORT")
|
|
290
|
+
ArrayVector([[10],[20],[30]], type=SHORT[])
|
|
291
|
+
"""
|
|
292
|
+
if data is not None:
|
|
293
|
+
return convert_vector(data, 2, type)
|
|
294
|
+
if index is None or value is None:
|
|
295
|
+
raise RuntimeError("ERROR!")
|
|
296
|
+
return create_array_vector(index, value, type)
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
def pair(a: Any, b: Any, *, type: DataType = None) -> Pair:
|
|
300
|
+
"""
|
|
301
|
+
Creates a Swordfish Pair from two Scalar values.
|
|
302
|
+
|
|
303
|
+
Parameters
|
|
304
|
+
----------
|
|
305
|
+
a : Any
|
|
306
|
+
The first value in the Pair.
|
|
307
|
+
b : Any
|
|
308
|
+
The second value in the Pair.
|
|
309
|
+
type : DataType, optional
|
|
310
|
+
The data type of the Pair. Defaults to None.
|
|
311
|
+
|
|
312
|
+
Returns
|
|
313
|
+
-------
|
|
314
|
+
Pair
|
|
315
|
+
A Swordfish Pair object.
|
|
316
|
+
|
|
317
|
+
Examples
|
|
318
|
+
--------
|
|
319
|
+
>>> import swordfish as sf
|
|
320
|
+
>>> sf.pair(1, 0, type="LONG")
|
|
321
|
+
Pair(1 : 0, type=LONG)
|
|
322
|
+
"""
|
|
323
|
+
if not isinstance(a, Constant):
|
|
324
|
+
a = scalar(a, type=type)
|
|
325
|
+
if not isinstance(b, Constant):
|
|
326
|
+
b = scalar(b, type=type)
|
|
327
|
+
return create_pair(a, b)
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
@typing.overload
|
|
331
|
+
def matrix(data: Any = None, *, type: DataType = None) -> Matrix:
|
|
332
|
+
...
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
@typing.overload
|
|
336
|
+
def matrix(*, type: DataType = None, rows: int = 1, cols: int = 1, columns_capacity: int = 1, default: Any = None) -> Matrix:
|
|
337
|
+
...
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
def matrix(
|
|
341
|
+
data: Any = None,
|
|
342
|
+
*,
|
|
343
|
+
type: DataType = None,
|
|
344
|
+
rows: int = 1,
|
|
345
|
+
cols: int = 1,
|
|
346
|
+
columns_capacity: int = 1,
|
|
347
|
+
default: Any = None
|
|
348
|
+
) -> Matrix:
|
|
349
|
+
"""
|
|
350
|
+
Creates a Swordfish Matrix from a Python object or initializes one with
|
|
351
|
+
specified parameters.
|
|
352
|
+
|
|
353
|
+
There are two modes of initialization:
|
|
354
|
+
|
|
355
|
+
- If ``data`` is provided, it converts the given Python object into a
|
|
356
|
+
Matrix of the specified ``type``.
|
|
357
|
+
- If ``data`` is not provided, a new Matrix is created with the
|
|
358
|
+
specified ``type``, ``rows``, ``cols``, ``columns_capacity``, and
|
|
359
|
+
``default`` value.
|
|
360
|
+
|
|
361
|
+
Parameters
|
|
362
|
+
----------
|
|
363
|
+
data : Any, optional
|
|
364
|
+
The input data to initialize the Matrix. Defaults to None.
|
|
365
|
+
type : DataType, optional
|
|
366
|
+
The data type for the Matrix. Defaults to None.
|
|
367
|
+
rows : int, optional
|
|
368
|
+
The number of rows in the Matrix (used when `data` is None). Defaults to
|
|
369
|
+
1.
|
|
370
|
+
cols : int, optional
|
|
371
|
+
The number of columns in the Matrix (used when `data` is None). Defaults
|
|
372
|
+
to 1.
|
|
373
|
+
columns_capacity : int, optional
|
|
374
|
+
The capacity for each column in the Matrix (used when `data` is None).
|
|
375
|
+
Defaults to 1.
|
|
376
|
+
default : Any, optional
|
|
377
|
+
The value used to fill the Matrix (used when `data` is None). Defaults
|
|
378
|
+
to None.
|
|
379
|
+
|
|
380
|
+
Returns
|
|
381
|
+
-------
|
|
382
|
+
Matrix
|
|
383
|
+
A Swordfish Matrix initialized based on the provided arguments.
|
|
384
|
+
|
|
385
|
+
Examples
|
|
386
|
+
--------
|
|
387
|
+
Creating a Matrix from existing data:
|
|
388
|
+
>>> import swordfish as sf
|
|
389
|
+
>>> sf.matrix([1, 2, 3], type="INT")
|
|
390
|
+
Matrix(#0 #1 #2
|
|
391
|
+
-- -- --
|
|
392
|
+
1 2 3
|
|
393
|
+
, type=INT)
|
|
394
|
+
|
|
395
|
+
Creating an empty Matrix with specific type, rows, columns, and default value:
|
|
396
|
+
>>> sf.matrix(type="INT", rows=2, cols=2, columns_capacity=1, default=1)
|
|
397
|
+
Matrix(#0 #1
|
|
398
|
+
-- --
|
|
399
|
+
1 1
|
|
400
|
+
1 1
|
|
401
|
+
, type=INT)
|
|
402
|
+
"""
|
|
403
|
+
if data is not None:
|
|
404
|
+
return convert_matrix(data, type)
|
|
405
|
+
return create_matrix(type, rows, cols, columns_capacity, default)
|
|
406
|
+
|
|
407
|
+
@typing.overload
|
|
408
|
+
def set(data: Any = None, *, type: DataType = None) -> Set:
|
|
409
|
+
...
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
@typing.overload
|
|
413
|
+
def set(*, type: DataType = None, capacity: int = 0) -> Set:
|
|
414
|
+
...
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
def set(data: Any = None, *, type: DataType = None, capacity: int = 0) -> Set:
|
|
418
|
+
"""
|
|
419
|
+
Creates a Swordfish Set from a Python object or initializes one with a
|
|
420
|
+
specified type and capacity.
|
|
421
|
+
|
|
422
|
+
There are two modes of initialization:
|
|
423
|
+
|
|
424
|
+
- If ``data`` is provided, it converts the given Python object into a
|
|
425
|
+
Set of the specified ``type``.
|
|
426
|
+
- If ``data`` is not provided, a new Set is created with the specified
|
|
427
|
+
``type`` and ``capacity``.
|
|
428
|
+
|
|
429
|
+
Parameters
|
|
430
|
+
----------
|
|
431
|
+
data : Any, optional
|
|
432
|
+
The input data to initialize the Set. Defaults to None.
|
|
433
|
+
type : DataType, optional
|
|
434
|
+
The data type for the Set. Defaults to None.
|
|
435
|
+
capacity : int, optional
|
|
436
|
+
The initial capacity of the Set (used when ``data`` is None).
|
|
437
|
+
Defaults to 0.
|
|
438
|
+
|
|
439
|
+
Returns
|
|
440
|
+
-------
|
|
441
|
+
Set
|
|
442
|
+
A Swordfish Set initialized based on the provided arguments.
|
|
443
|
+
|
|
444
|
+
Examples
|
|
445
|
+
--------
|
|
446
|
+
Creating a Set from existing data:
|
|
447
|
+
>>> import swordfish as sf
|
|
448
|
+
>>> sf.set({1, 2, 3}, type="INT")
|
|
449
|
+
Set(set(3, 2, 1), type=INT)
|
|
450
|
+
|
|
451
|
+
Creating an empty Set with a specific type and capacity:
|
|
452
|
+
>>> sf.set(type="CHAR", capacity=5)
|
|
453
|
+
Set(set(), type=CHAR)
|
|
454
|
+
"""
|
|
455
|
+
if data is not None:
|
|
456
|
+
return convert_set(data, type)
|
|
457
|
+
return create_set(type, capacity)
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
@typing.overload
|
|
461
|
+
def dictionary(
|
|
462
|
+
data: Any = None,
|
|
463
|
+
*,
|
|
464
|
+
key_type: DataType = None,
|
|
465
|
+
val_type: DataType = None,
|
|
466
|
+
ordered: bool = True,
|
|
467
|
+
) -> Dictionary:
|
|
468
|
+
...
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
@typing.overload
|
|
472
|
+
def dictionary(
|
|
473
|
+
*,
|
|
474
|
+
keys: Any = None,
|
|
475
|
+
vals: Any = None,
|
|
476
|
+
key_type: DataType = None,
|
|
477
|
+
val_type: DataType = None,
|
|
478
|
+
ordered: bool = True,
|
|
479
|
+
) -> Dictionary:
|
|
480
|
+
...
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
@typing.overload
|
|
484
|
+
def dictionary(
|
|
485
|
+
*,
|
|
486
|
+
key_type: DataType = None,
|
|
487
|
+
val_type: DataType = None,
|
|
488
|
+
ordered: bool = True,
|
|
489
|
+
) -> Dictionary:
|
|
490
|
+
...
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
def dictionary(
|
|
494
|
+
data: Any = None,
|
|
495
|
+
*,
|
|
496
|
+
keys: Any = None,
|
|
497
|
+
vals: Any = None,
|
|
498
|
+
key_type: DataType = None,
|
|
499
|
+
val_type: DataType = None,
|
|
500
|
+
ordered: bool = True,
|
|
501
|
+
) -> Dictionary:
|
|
502
|
+
"""
|
|
503
|
+
Creates a Swordfish Dictionary from a Python object, from separate keys and
|
|
504
|
+
values, or as an empty dictionary with specified key and value types.
|
|
505
|
+
|
|
506
|
+
This function provides three modes of initialization:
|
|
507
|
+
|
|
508
|
+
- If ``data`` is provided, it converts a given Python object into a
|
|
509
|
+
Dictionary, optionally with the specified ``key_type`` and
|
|
510
|
+
``val_type``.
|
|
511
|
+
- If ``keys`` and ``vals`` are provided, it constructs a Dictionary
|
|
512
|
+
from these separate sequences, optionally with the specified
|
|
513
|
+
``key_type`` and ``val_type``.
|
|
514
|
+
- If neither ``data`` nor ``keys`` and ``vals`` are provided, it
|
|
515
|
+
initializes an empty Dictionary with the specified ``key_type`` and
|
|
516
|
+
``val_type``.
|
|
517
|
+
|
|
518
|
+
Parameters
|
|
519
|
+
----------
|
|
520
|
+
data : Any, optional
|
|
521
|
+
The Python object to initialize the Dictionary. Defaults to None.
|
|
522
|
+
keys : Any, optional
|
|
523
|
+
The keys for the Dictionary (used when ``data`` is None). Defaults to
|
|
524
|
+
None.
|
|
525
|
+
vals : Any, optional
|
|
526
|
+
The values for the Dictionary (used when ``data`` is None). Defaults to
|
|
527
|
+
None.
|
|
528
|
+
key_type : DataType, optional
|
|
529
|
+
The data type of the Dictionary keys. Defaults to None.
|
|
530
|
+
val_type : DataType, optional
|
|
531
|
+
The data type of the Dictionary values. Defaults to None.
|
|
532
|
+
ordered : bool, optional
|
|
533
|
+
Whether to maintain the insertion order of the Dictionary elements.
|
|
534
|
+
Defaults to True.
|
|
535
|
+
|
|
536
|
+
Returns
|
|
537
|
+
-------
|
|
538
|
+
Dictionary
|
|
539
|
+
A Swordfish Dictionary initialized based on the provided arguments.
|
|
540
|
+
|
|
541
|
+
Examples
|
|
542
|
+
--------
|
|
543
|
+
Creating a Dictionary from existing data:
|
|
544
|
+
>>> import swordfish as sf
|
|
545
|
+
>>> my_dict = {"name": "Alice", "age": 25}
|
|
546
|
+
>>> sf.dictionary(my_dict, key_type="STRING", val_type="ANY", ordered=True)
|
|
547
|
+
Dictionary(name->Alice
|
|
548
|
+
age->25
|
|
549
|
+
, key_type=STRING, val_type=ANY)
|
|
550
|
+
|
|
551
|
+
Creating a Dictionary using separate keys and values:
|
|
552
|
+
>>> sf.dictionary(keys=[1, 2, 3], vals=['a', 'b', 'c'],
|
|
553
|
+
... key_type="INT", val_type="STRING", ordered=False)
|
|
554
|
+
Dictionary(3->c
|
|
555
|
+
2->b
|
|
556
|
+
1->a
|
|
557
|
+
, key_type=INT, val_type=STRING)
|
|
558
|
+
|
|
559
|
+
Creating an empty Dictionary with specified key and value types:
|
|
560
|
+
>>> sf.dictionary(key_type="STRING", val_type="INT", ordered=True)
|
|
561
|
+
Dictionary(, key_type=STRING, val_type=INT)
|
|
562
|
+
"""
|
|
563
|
+
if data is not None:
|
|
564
|
+
# func1
|
|
565
|
+
return convert_dictionary(data, key_type, val_type, ordered)
|
|
566
|
+
if keys is not None and vals is not None:
|
|
567
|
+
# func2
|
|
568
|
+
return create_dictionary_with_key_and_val(keys, vals, key_type, val_type, ordered)
|
|
569
|
+
# func3
|
|
570
|
+
return create_dictionary(key_type, val_type, ordered)
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
@typing.overload
|
|
574
|
+
def table(data: Any = None, *, types: TypeDict = None) -> Table:
|
|
575
|
+
...
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
@typing.overload
|
|
579
|
+
def table(data: Any = None, *, names: List[str] = None, types: TypeList = None) -> Table:
|
|
580
|
+
|
|
581
|
+
...
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
@typing.overload
|
|
585
|
+
def table(*, types: TypeDict = None, size: int = 0, capacity: int = 1) -> Table:
|
|
586
|
+
...
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
@typing.overload
|
|
590
|
+
def table(*, names: List[str] = None, types: TypeList = None, size: int = 0, capacity: int = 1) -> Table:
|
|
591
|
+
...
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
@typing.overload
|
|
595
|
+
def table(data: str) -> Table:
|
|
596
|
+
...
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
def table(
|
|
600
|
+
data: Any = None,
|
|
601
|
+
*,
|
|
602
|
+
names: List[str] = None,
|
|
603
|
+
types: Union[TypeDict, TypeList] = None,
|
|
604
|
+
size: int = 0,
|
|
605
|
+
capacity: int = 1,
|
|
606
|
+
) -> Table:
|
|
607
|
+
"""
|
|
608
|
+
Creates or retrieves a Swordfish Table using various initialization methods.
|
|
609
|
+
|
|
610
|
+
There are multiple modes of initialization:
|
|
611
|
+
|
|
612
|
+
- If ``data`` is a string, it retrieves a shared Swordfish Table by its
|
|
613
|
+
name.
|
|
614
|
+
- If ``data`` is provided (and not a string), it converts the given
|
|
615
|
+
Python object into a Table, optionally using ``types`` and ``names``.
|
|
616
|
+
- If ``names`` and ``types`` are provided (without ``data``), an empty
|
|
617
|
+
Table is created with the given column names, types, size, and
|
|
618
|
+
capacity.
|
|
619
|
+
- If ``types`` is provided as a dictionary (without ``data``), an empty
|
|
620
|
+
Table is created using the given column types, size, and capacity.
|
|
621
|
+
|
|
622
|
+
Parameters
|
|
623
|
+
----------
|
|
624
|
+
data : Any, optional
|
|
625
|
+
The data to initialize the Table. Can be a Python dict, Pandas DataFrame,
|
|
626
|
+
or a str referring to a shared Table. Defaults to None.
|
|
627
|
+
names : List[str], optional
|
|
628
|
+
The column names for the Table (used when ``data`` is provided).
|
|
629
|
+
Defaults to None.
|
|
630
|
+
types : Union[TypeDict, TypeList], optional
|
|
631
|
+
A mapping of column names to their respective data types, or a list of
|
|
632
|
+
types matching ``names``. Defaults to None.
|
|
633
|
+
size : int, optional
|
|
634
|
+
The initial number of rows in the Table (used when creating an empty
|
|
635
|
+
Table). Defaults to 0.
|
|
636
|
+
capacity : int, optional
|
|
637
|
+
The initial allocated capacity for storing rows in the Table (used when
|
|
638
|
+
creating an empty Table). Defaults to 1.
|
|
639
|
+
|
|
640
|
+
Returns
|
|
641
|
+
-------
|
|
642
|
+
Table
|
|
643
|
+
A Swordfish Table initialized based on the provided arguments.
|
|
644
|
+
|
|
645
|
+
Examples
|
|
646
|
+
--------
|
|
647
|
+
Retrieving a shared Table by name:
|
|
648
|
+
>>> import swordfish as sf
|
|
649
|
+
>>> table = sf.table("shared_table_name")
|
|
650
|
+
|
|
651
|
+
Creating a Table from a Python dictionary with type mapping:
|
|
652
|
+
>>> my_dict = {
|
|
653
|
+
... "id": [1, 2, 3, 4],
|
|
654
|
+
... "name": ["Alice", "Bob", "Charlie", "David"],
|
|
655
|
+
... "age": [25, 30, 35, 40],
|
|
656
|
+
... }
|
|
657
|
+
>>> column_types = {
|
|
658
|
+
... "id": "LONG",
|
|
659
|
+
... "name": "STRING",
|
|
660
|
+
... "age": "INT",
|
|
661
|
+
... }
|
|
662
|
+
>>> t = sf.table(my_dict, types=column_types)
|
|
663
|
+
>>> t
|
|
664
|
+
id name age
|
|
665
|
+
-- ------- ---
|
|
666
|
+
1 Alice 25
|
|
667
|
+
2 Bob 30
|
|
668
|
+
3 Charlie 35
|
|
669
|
+
4 David 40
|
|
670
|
+
|
|
671
|
+
Creating a Table using column names and types:
|
|
672
|
+
>>> t = sf.table(data=my_dict, names=["id", "name", "age"],
|
|
673
|
+
... types=["LONG", "STRING", "INT"])
|
|
674
|
+
>>> t
|
|
675
|
+
id name age
|
|
676
|
+
-- ------- ---
|
|
677
|
+
|
|
678
|
+
Creating an empty Table with column names, types, and initial size:
|
|
679
|
+
>>> t = sf.table(names=["id", "name", "age"], types=["INT", "STRING",
|
|
680
|
+
... "INT"], size=5, capacity=10)
|
|
681
|
+
>>> t
|
|
682
|
+
id name age
|
|
683
|
+
-- ------- ---
|
|
684
|
+
|
|
685
|
+
Creating an empty Table using a type dictionary:
|
|
686
|
+
>>> t = sf.table(types=column_types, size=5, capacity=10)
|
|
687
|
+
>>> t
|
|
688
|
+
id name age
|
|
689
|
+
-- ------- ---
|
|
690
|
+
"""
|
|
691
|
+
if data is not None:
|
|
692
|
+
if isinstance(data, str):
|
|
693
|
+
re = _global_call("objByName", data, True)
|
|
694
|
+
if not isinstance(re, Table):
|
|
695
|
+
raise ProgrammingError("Cannot find the shared table.")
|
|
696
|
+
return re
|
|
697
|
+
if names is None and types is None:
|
|
698
|
+
return convert_table(data, dict())
|
|
699
|
+
if isinstance(names, list) and isinstance(types, list):
|
|
700
|
+
if len(names) != len(types):
|
|
701
|
+
raise ProgrammingError("The number of column names should be the same as the number of data types.")
|
|
702
|
+
new_types = dict()
|
|
703
|
+
for n, t in zip(names, types):
|
|
704
|
+
new_types[n] = t
|
|
705
|
+
return convert_table(data, new_types)
|
|
706
|
+
elif isinstance(types, dict):
|
|
707
|
+
return convert_table(data, types)
|
|
708
|
+
elif types is None:
|
|
709
|
+
return convert_table(data, dict())
|
|
710
|
+
else:
|
|
711
|
+
raise ProgrammingError("Can't create Table with invalid names or types.")
|
|
712
|
+
if names is None and types is None:
|
|
713
|
+
raise ProgrammingError("Can't create Table with empty names and empty types.")
|
|
714
|
+
if isinstance(names, list) and isinstance(types, list):
|
|
715
|
+
if len(names) != len(types):
|
|
716
|
+
raise ProgrammingError("The number of column names should be the same as the number of data types.")
|
|
717
|
+
new_types = dict()
|
|
718
|
+
for n, t in zip(names, types):
|
|
719
|
+
new_types[n] = t
|
|
720
|
+
types = new_types
|
|
721
|
+
if isinstance(types, dict):
|
|
722
|
+
return create_table(types, size, capacity)
|
|
723
|
+
if types is None:
|
|
724
|
+
raise ProgrammingError("Can't create Table with empty names and empty types.")
|
|
725
|
+
raise ProgrammingError("Can't create Table with invalid names or types.")
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
Constant.rows = F.rows
|
|
729
|
+
Constant.cols = F.cols
|
|
730
|
+
|
|
731
|
+
Vector.rowRank = F.rowRank
|
|
732
|
+
Vector.rename_ = F.rename_
|
|
733
|
+
Vector.mrank = F.mrank
|
|
734
|
+
|
|
735
|
+
Set.keys = F.keys
|
|
736
|
+
|
|
737
|
+
Dictionary.keys = F.keys
|
|
738
|
+
Dictionary.values = F.values
|
|
739
|
+
|
|
740
|
+
Table.schema = F.schema
|
|
741
|
+
Table.keys = F.keys
|
|
742
|
+
Table.values = F.values
|
|
743
|
+
Table.head = F.head
|
|
744
|
+
Table.tail = F.tail
|
|
745
|
+
Table.count = F.count
|
|
746
|
+
Table.summary = F.summary
|
|
747
|
+
Table.sortBy_ = F.sortBy_
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
__all__ = [
|
|
751
|
+
"Constant",
|
|
752
|
+
"Scalar",
|
|
753
|
+
"Vector",
|
|
754
|
+
"Matrix",
|
|
755
|
+
"Set",
|
|
756
|
+
"Dictionary",
|
|
757
|
+
"Table",
|
|
758
|
+
|
|
759
|
+
"AnyVector",
|
|
760
|
+
"ArrayVector",
|
|
761
|
+
|
|
762
|
+
"Void",
|
|
763
|
+
"NULL",
|
|
764
|
+
"DFLT",
|
|
765
|
+
"Nothing",
|
|
766
|
+
"Bool",
|
|
767
|
+
"Char",
|
|
768
|
+
"Short",
|
|
769
|
+
"Int",
|
|
770
|
+
"Long",
|
|
771
|
+
"Float",
|
|
772
|
+
"Double",
|
|
773
|
+
"String",
|
|
774
|
+
"Blob",
|
|
775
|
+
"Date",
|
|
776
|
+
"Month",
|
|
777
|
+
"Time",
|
|
778
|
+
"Minute",
|
|
779
|
+
"Second",
|
|
780
|
+
"DateTime",
|
|
781
|
+
"Timestamp",
|
|
782
|
+
"NanoTime",
|
|
783
|
+
"NanoTimestamp",
|
|
784
|
+
"DateHour",
|
|
785
|
+
"Uuid",
|
|
786
|
+
"Int128",
|
|
787
|
+
"Ipaddr",
|
|
788
|
+
"Duration",
|
|
789
|
+
"MetaCode",
|
|
790
|
+
"Point",
|
|
791
|
+
"Decimal32",
|
|
792
|
+
"Decimal64",
|
|
793
|
+
"Decimal128",
|
|
794
|
+
"FunctionDef",
|
|
795
|
+
|
|
796
|
+
"partial",
|
|
797
|
+
"scalar",
|
|
798
|
+
"vector",
|
|
799
|
+
"any_vector",
|
|
800
|
+
"array_vector",
|
|
801
|
+
"pair",
|
|
802
|
+
"matrix",
|
|
803
|
+
"set",
|
|
804
|
+
"dictionary",
|
|
805
|
+
"table",
|
|
806
|
+
]
|