hdx-python-scraper 2.6.5__tar.gz → 2.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/.pre-commit-config.yaml +6 -5
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/PKG-INFO +5 -5
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/documentation/index.md +2 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/hatch.toml +1 -1
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/pyproject.toml +4 -4
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/requirements.txt +50 -153
- hdx_python_scraper-2.7.1/ruff.toml +10 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/_version.py +16 -3
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/base_scraper.py +49 -49
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/outputs/base.py +21 -21
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/outputs/excelfile.py +10 -10
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/outputs/googlesheets.py +16 -17
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/outputs/json.py +38 -36
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/runner.py +231 -229
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/aggregator.py +45 -45
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/configurable_scraper.py +39 -38
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/resource_downloader.py +6 -6
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/rowparser.py +52 -53
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/timeseries.py +8 -8
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/__init__.py +14 -14
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/fallbacks.py +13 -19
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/hapi_admins.py +20 -22
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/lookup.py +17 -16
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/reader.py +119 -119
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/region_lookup.py +9 -9
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/sources.py +52 -53
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/writer.py +72 -72
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/conftest.py +11 -10
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/custom/affected_targeted_reached.py +3 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/custom/education_closures.py +3 -3
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/custom/education_enrolment.py +2 -1
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/custom/test_custom.py +6 -5
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/outputs/test_output.py +10 -11
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_aggregation.py +4 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_appenddata.py +4 -3
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_global.py +3 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_multipleurls.py +4 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_national.py +6 -4
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_regionaltoplevel.py +4 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_resource_downloaders.py +4 -4
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_subnational.py +4 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/test_timeseries.py +2 -1
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/test_runner.py +4 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_hapi_admins.py +1 -0
- hdx_python_scraper-2.6.5/ruff.toml +0 -15
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/.coveragerc +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/.github/workflows/publish.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/.gitignore +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/CONTRIBUTING.md +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/LICENSE +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/README.md +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/documentation/mkdocs.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/pytest.ini +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/outputs/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/scrapers/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/org_type.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/org_type_configuration.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/sector.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/src/hdx/scraper/framework/utilities/sector_configuration.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/config/project_configuration.yaml +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/access_2pacx-1vrszjzuyvt9i-mkrq2hbxrul2lx2vihkthqm-lae8nyhqty70zqtcufs3pxbhzgat1l2bkoa4-daoap-pub-gid-574237756-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/additional-json.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/altworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cbpf-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cbpf2-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cerf-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cerf2-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cerf2_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/cerf_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/covax_2pacx-1vtvzu79pptfaa2syevoqfyrrjy63djwitqu0ffbxiqczoun9k9timwmrvfgg1rbsnlmgyugzseiaye2-pub-gid-992438980-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/covidtests_data-owid-covid-data.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/download-global-pcode-lengths.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/download-global-pcodes-adm-1-2.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/education_closures_broken.xls +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/education_closures_school_closures.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/education_enrolment_enrollment_data.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ethiopia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ethiopia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ethiopia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/fallbacks.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/gam_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/gam_other_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/global-coordination-groups-beta.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/global-school-closures-covid19.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/hno_2017_sahel_nutrition.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/hno_2017_sahel_people_in_need.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/idmc-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/idps_download-displacement-data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/idps_override_population-widget-id-264111-geo-id-693-population-group-54074999.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/idps_somalia_som_unhcr_prmn_displacement_dataset.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ipc_somalia_som_food_insecurity_oct_dec2022_projection.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/kenya-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/kenya-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/kenya_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_eth_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_ken_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/key_figures_som_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/org_type_organization_types_beta_csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/organization-types-beta.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ourworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ourworldindata_other_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/oxford-covid-19-government-response-tracker.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/population.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/population_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/population_other_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/regions_tbl_regcov_2020_ocha.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/resource_downloader_xlsx_ukr_border_crossings_090622.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/sadd-countries-to-include.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/sadd_covid-data-dataset-fullvars-extype-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/sahel-humanitarian-needs-overview.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/sahel-humanitarian-needs-overview_prefix.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/sector_global_coordination_groups_beta_csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/somalia-acute-food-insecurity-country-data.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/somalia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/somalia-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/somalia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/somalia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/timeseries_casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/total-covid-19-tests-performed-by-country.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ukraine-border-crossings.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/ukraine-who-does-what-where-3w.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/unocha-office-locations.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/who_national2_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/who_national3_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/who_national_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/whowhatwhere_afg_3w_data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/input/whowhatwhere_notags_3w_data.csv +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/test_output.xlsx +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/test_scraper_all.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/test_scraper_other.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/fixtures/test_scraper_population.json +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/custom/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/outputs/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/scrapers/unhcr_myanmar_idps.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/__init__.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_lookup.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_readers.py +2 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_regionlookup.py +0 -0
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_sources.py +2 -2
- {hdx_python_scraper-2.6.5 → hdx_python_scraper-2.7.1}/tests/hdx/scraper/framework/utilities/test_utils.py +0 -0
|
@@ -2,25 +2,26 @@ default_language_version:
|
|
|
2
2
|
python: python3.13
|
|
3
3
|
repos:
|
|
4
4
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
-
rev:
|
|
5
|
+
rev: v6.0.0
|
|
6
6
|
hooks:
|
|
7
7
|
- id: trailing-whitespace
|
|
8
8
|
- id: end-of-file-fixer
|
|
9
9
|
exclude: test_scraper_.*\.json
|
|
10
10
|
- id: check-ast
|
|
11
11
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
12
|
-
rev: v0.
|
|
12
|
+
rev: v0.14.10
|
|
13
13
|
hooks:
|
|
14
14
|
# Run the linter.
|
|
15
|
-
- id: ruff
|
|
15
|
+
- id: ruff-check
|
|
16
16
|
args: [ --fix ]
|
|
17
17
|
# Run the formatter.
|
|
18
18
|
- id: ruff-format
|
|
19
19
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
20
|
-
rev: 0.
|
|
20
|
+
rev: 0.9.22
|
|
21
21
|
hooks:
|
|
22
22
|
# Run the pip compile
|
|
23
23
|
- id: pip-compile
|
|
24
24
|
name: pip-compile requirements.txt
|
|
25
25
|
files: pyproject.toml
|
|
26
|
-
args: [ pyproject.toml, --resolver=backtracking, --
|
|
26
|
+
args: [ pyproject.toml, --resolver=backtracking, --upgrade, -q,
|
|
27
|
+
-o, requirements.txt ]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hdx-python-scraper
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.1
|
|
4
4
|
Summary: HDX Python scraper utilities to assemble data from multiple sources
|
|
5
5
|
Project-URL: Homepage, https://github.com/OCHA-DAP/hdx-python-scraper
|
|
6
6
|
Author-email: Michael Rans <rans@email.com>
|
|
@@ -24,11 +24,11 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
26
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
-
Requires-Python: >=3.
|
|
27
|
+
Requires-Python: >=3.10
|
|
28
28
|
Requires-Dist: gspread
|
|
29
|
-
Requires-Dist: hdx-python-api>=6.
|
|
30
|
-
Requires-Dist: hdx-python-country>=
|
|
31
|
-
Requires-Dist: hdx-python-utilities>=
|
|
29
|
+
Requires-Dist: hdx-python-api>=6.6.1
|
|
30
|
+
Requires-Dist: hdx-python-country>=4.0.1
|
|
31
|
+
Requires-Dist: hdx-python-utilities>=4.0.2
|
|
32
32
|
Requires-Dist: regex
|
|
33
33
|
Provides-Extra: dev
|
|
34
34
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
@@ -26,6 +26,8 @@ install with:
|
|
|
26
26
|
pip install hdx-python-scraper[pandas]
|
|
27
27
|
|
|
28
28
|
## Breaking Changes
|
|
29
|
+
From 2.7.0, Python 3.10 or later is required
|
|
30
|
+
|
|
29
31
|
From 2.5.0, package names have changed to avoid name space clashes
|
|
30
32
|
|
|
31
33
|
From 2.3.0, resource name is used when available instead of creating name from
|
|
@@ -31,12 +31,12 @@ classifiers = [
|
|
|
31
31
|
"Operating System :: MacOS",
|
|
32
32
|
"Operating System :: Microsoft :: Windows",
|
|
33
33
|
]
|
|
34
|
-
requires-python = ">=3.
|
|
34
|
+
requires-python = ">=3.10"
|
|
35
35
|
|
|
36
36
|
dependencies = [
|
|
37
|
-
"hdx-python-api>=6.
|
|
38
|
-
"hdx-python-country>=
|
|
39
|
-
"hdx-python-utilities>=
|
|
37
|
+
"hdx-python-api>=6.6.1",
|
|
38
|
+
"hdx-python-country>=4.0.1",
|
|
39
|
+
"hdx-python-utilities>=4.0.2",
|
|
40
40
|
"gspread",
|
|
41
41
|
"regex",
|
|
42
42
|
]
|
|
@@ -1,62 +1,40 @@
|
|
|
1
1
|
# This file was autogenerated by uv via the following command:
|
|
2
|
-
# uv pip compile pyproject.toml --resolver=backtracking
|
|
2
|
+
# uv pip compile pyproject.toml --resolver=backtracking -o requirements.txt
|
|
3
3
|
annotated-types==0.7.0
|
|
4
4
|
# via pydantic
|
|
5
|
-
|
|
6
|
-
# via mkapi
|
|
7
|
-
attrs==25.3.0
|
|
5
|
+
attrs==25.4.0
|
|
8
6
|
# via
|
|
9
7
|
# frictionless
|
|
10
8
|
# jsonlines
|
|
11
9
|
# jsonschema
|
|
12
10
|
# referencing
|
|
13
|
-
|
|
14
|
-
# via mkdocs-material
|
|
15
|
-
backrefs==5.8
|
|
16
|
-
# via mkdocs-material
|
|
17
|
-
cachetools==5.5.2
|
|
18
|
-
# via google-auth
|
|
19
|
-
certifi==2025.4.26
|
|
11
|
+
certifi==2026.1.4
|
|
20
12
|
# via requests
|
|
21
|
-
cfgv==3.4.0
|
|
22
|
-
# via pre-commit
|
|
23
13
|
chardet==5.2.0
|
|
24
14
|
# via frictionless
|
|
25
|
-
charset-normalizer==3.4.
|
|
15
|
+
charset-normalizer==3.4.4
|
|
26
16
|
# via requests
|
|
27
|
-
ckanapi==4.
|
|
17
|
+
ckanapi==4.9
|
|
28
18
|
# via hdx-python-api
|
|
29
|
-
click==8.1
|
|
30
|
-
# via
|
|
31
|
-
|
|
32
|
-
# typer
|
|
33
|
-
colorama==0.4.6
|
|
34
|
-
# via mkdocs-material
|
|
35
|
-
coverage==7.8.0
|
|
36
|
-
# via pytest-cov
|
|
37
|
-
defopt==6.4.0
|
|
19
|
+
click==8.3.1
|
|
20
|
+
# via typer
|
|
21
|
+
defopt==7.0.0
|
|
38
22
|
# via hdx-python-api
|
|
39
|
-
|
|
40
|
-
# via virtualenv
|
|
41
|
-
dnspython==2.7.0
|
|
23
|
+
dnspython==2.8.0
|
|
42
24
|
# via email-validator
|
|
43
25
|
docopt==0.6.2
|
|
44
26
|
# via
|
|
45
27
|
# ckanapi
|
|
46
28
|
# num2words
|
|
47
|
-
docutils==0.
|
|
29
|
+
docutils==0.22.4
|
|
48
30
|
# via defopt
|
|
49
|
-
email-validator==2.
|
|
31
|
+
email-validator==2.3.0
|
|
50
32
|
# via hdx-python-api
|
|
51
33
|
et-xmlfile==2.0.0
|
|
52
34
|
# via openpyxl
|
|
53
|
-
filelock==3.18.0
|
|
54
|
-
# via virtualenv
|
|
55
35
|
frictionless==5.18.1
|
|
56
36
|
# via hdx-python-utilities
|
|
57
|
-
|
|
58
|
-
# via mkdocs
|
|
59
|
-
google-auth==2.40.1
|
|
37
|
+
google-auth==2.47.0
|
|
60
38
|
# via
|
|
61
39
|
# google-auth-oauthlib
|
|
62
40
|
# gspread
|
|
@@ -64,48 +42,40 @@ google-auth-oauthlib==1.2.2
|
|
|
64
42
|
# via gspread
|
|
65
43
|
gspread==6.2.1
|
|
66
44
|
# via hdx-python-scraper (pyproject.toml)
|
|
67
|
-
hdx-python-api==6.
|
|
45
|
+
hdx-python-api==6.6.1
|
|
68
46
|
# via hdx-python-scraper (pyproject.toml)
|
|
69
|
-
hdx-python-country==
|
|
47
|
+
hdx-python-country==4.0.1
|
|
70
48
|
# via
|
|
71
49
|
# hdx-python-scraper (pyproject.toml)
|
|
72
50
|
# hdx-python-api
|
|
73
|
-
hdx-python-utilities==
|
|
51
|
+
hdx-python-utilities==4.0.2
|
|
74
52
|
# via
|
|
75
53
|
# hdx-python-scraper (pyproject.toml)
|
|
76
54
|
# hdx-python-api
|
|
77
55
|
# hdx-python-country
|
|
78
|
-
humanize==4.
|
|
56
|
+
humanize==4.15.0
|
|
79
57
|
# via frictionless
|
|
80
|
-
|
|
81
|
-
# via pre-commit
|
|
82
|
-
idna==3.10
|
|
58
|
+
idna==3.11
|
|
83
59
|
# via
|
|
84
60
|
# email-validator
|
|
85
61
|
# requests
|
|
86
|
-
ijson==3.4.0
|
|
62
|
+
ijson==3.4.0.post0
|
|
87
63
|
# via hdx-python-utilities
|
|
88
64
|
inflect==7.5.0
|
|
89
65
|
# via quantulum3
|
|
90
|
-
iniconfig==2.1.0
|
|
91
|
-
# via pytest
|
|
92
66
|
isodate==0.7.2
|
|
93
67
|
# via frictionless
|
|
94
68
|
jinja2==3.1.6
|
|
95
|
-
# via
|
|
96
|
-
# frictionless
|
|
97
|
-
# mkapi
|
|
98
|
-
# mkdocs
|
|
99
|
-
# mkdocs-material
|
|
69
|
+
# via frictionless
|
|
100
70
|
jsonlines==4.0.0
|
|
101
71
|
# via hdx-python-utilities
|
|
102
72
|
jsonpath-ng==1.7.0
|
|
103
73
|
# via libhxl
|
|
104
|
-
jsonschema==4.
|
|
74
|
+
jsonschema==4.26.0
|
|
105
75
|
# via
|
|
106
76
|
# frictionless
|
|
107
77
|
# tableschema-to-template
|
|
108
|
-
jsonschema-specifications==2025.
|
|
78
|
+
jsonschema-specifications==2025.9.1
|
|
109
79
|
# via jsonschema
|
|
110
80
|
libhxl==5.2.2
|
|
111
81
|
# via
|
|
@@ -115,167 +85,100 @@ loguru==0.7.3
|
|
|
115
85
|
# via hdx-python-utilities
|
|
116
86
|
makefun==1.16.0
|
|
117
87
|
# via hdx-python-api
|
|
118
|
-
markdown==
|
|
119
|
-
# via
|
|
120
|
-
# mkdocs
|
|
121
|
-
# mkdocs-material
|
|
122
|
-
# pymdown-extensions
|
|
123
|
-
markdown-it-py==3.0.0
|
|
88
|
+
markdown-it-py==4.0.0
|
|
124
89
|
# via rich
|
|
125
|
-
marko==2.
|
|
90
|
+
marko==2.2.2
|
|
126
91
|
# via frictionless
|
|
127
|
-
markupsafe==3.0.
|
|
128
|
-
# via
|
|
129
|
-
# jinja2
|
|
130
|
-
# mkdocs
|
|
92
|
+
markupsafe==3.0.3
|
|
93
|
+
# via jinja2
|
|
131
94
|
mdurl==0.1.2
|
|
132
95
|
# via markdown-it-py
|
|
133
|
-
|
|
134
|
-
# via
|
|
135
|
-
# mkdocs
|
|
136
|
-
# mkdocs-get-deps
|
|
137
|
-
mkapi==4.4.0
|
|
138
|
-
# via hdx-python-scraper (pyproject.toml)
|
|
139
|
-
mkdocs==1.6.1
|
|
140
|
-
# via
|
|
141
|
-
# mkapi
|
|
142
|
-
# mkdocs-material
|
|
143
|
-
mkdocs-get-deps==0.2.0
|
|
144
|
-
# via mkdocs
|
|
145
|
-
mkdocs-material==9.6.14
|
|
146
|
-
# via mkapi
|
|
147
|
-
mkdocs-material-extensions==1.3.1
|
|
148
|
-
# via mkdocs-material
|
|
149
|
-
more-itertools==10.7.0
|
|
96
|
+
more-itertools==10.8.0
|
|
150
97
|
# via inflect
|
|
151
|
-
nodeenv==1.9.1
|
|
152
|
-
# via pre-commit
|
|
153
98
|
num2words==0.5.14
|
|
154
99
|
# via quantulum3
|
|
155
|
-
|
|
156
|
-
# via pandas
|
|
157
|
-
oauthlib==3.2.2
|
|
100
|
+
oauthlib==3.3.1
|
|
158
101
|
# via requests-oauthlib
|
|
159
102
|
openpyxl==3.1.5
|
|
160
103
|
# via hdx-python-utilities
|
|
161
|
-
|
|
162
|
-
# via
|
|
163
|
-
# mkdocs
|
|
164
|
-
# pytest
|
|
165
|
-
paginate==0.5.7
|
|
166
|
-
# via mkdocs-material
|
|
167
|
-
pandas==2.2.3
|
|
168
|
-
# via hdx-python-scraper (pyproject.toml)
|
|
169
|
-
pathspec==0.12.1
|
|
170
|
-
# via mkdocs
|
|
171
|
-
petl==1.7.16
|
|
104
|
+
petl==1.7.17
|
|
172
105
|
# via frictionless
|
|
173
|
-
platformdirs==4.3.8
|
|
174
|
-
# via
|
|
175
|
-
# mkdocs-get-deps
|
|
176
|
-
# virtualenv
|
|
177
|
-
pluggy==1.6.0
|
|
178
|
-
# via pytest
|
|
179
106
|
ply==3.11
|
|
180
107
|
# via
|
|
181
108
|
# jsonpath-ng
|
|
182
109
|
# libhxl
|
|
183
110
|
pockets==0.9.1
|
|
184
111
|
# via sphinxcontrib-napoleon
|
|
185
|
-
pre-commit==4.2.0
|
|
186
|
-
# via hdx-python-scraper (pyproject.toml)
|
|
187
112
|
pyasn1==0.6.1
|
|
188
113
|
# via
|
|
189
114
|
# pyasn1-modules
|
|
190
115
|
# rsa
|
|
191
116
|
pyasn1-modules==0.4.2
|
|
192
117
|
# via google-auth
|
|
193
|
-
pydantic==2.
|
|
118
|
+
pydantic==2.12.5
|
|
194
119
|
# via frictionless
|
|
195
|
-
pydantic-core==2.
|
|
120
|
+
pydantic-core==2.41.5
|
|
196
121
|
# via pydantic
|
|
197
|
-
pygments==2.19.
|
|
198
|
-
# via
|
|
199
|
-
# mkdocs-material
|
|
200
|
-
# rich
|
|
201
|
-
pymdown-extensions==10.15
|
|
202
|
-
# via mkdocs-material
|
|
122
|
+
pygments==2.19.2
|
|
123
|
+
# via rich
|
|
203
124
|
pyphonetics==0.5.3
|
|
204
125
|
# via hdx-python-utilities
|
|
205
|
-
pytest==8.3.5
|
|
206
|
-
# via
|
|
207
|
-
# hdx-python-scraper (pyproject.toml)
|
|
208
|
-
# pytest-cov
|
|
209
|
-
pytest-cov==6.1.1
|
|
210
|
-
# via hdx-python-scraper (pyproject.toml)
|
|
211
126
|
python-dateutil==2.9.0.post0
|
|
212
127
|
# via
|
|
213
128
|
# frictionless
|
|
214
|
-
# ghp-import
|
|
215
129
|
# hdx-python-utilities
|
|
216
130
|
# libhxl
|
|
217
|
-
# pandas
|
|
218
131
|
python-io-wrapper==0.3.1
|
|
219
132
|
# via libhxl
|
|
220
133
|
python-slugify==8.0.4
|
|
221
134
|
# via
|
|
222
135
|
# ckanapi
|
|
223
136
|
# frictionless
|
|
224
|
-
|
|
225
|
-
# via pandas
|
|
226
|
-
pyyaml==6.0.2
|
|
137
|
+
pyyaml==6.0.3
|
|
227
138
|
# via
|
|
228
139
|
# frictionless
|
|
229
|
-
# mkdocs
|
|
230
|
-
# mkdocs-get-deps
|
|
231
|
-
# pre-commit
|
|
232
|
-
# pymdown-extensions
|
|
233
|
-
# pyyaml-env-tag
|
|
234
140
|
# tableschema-to-template
|
|
235
|
-
pyyaml-env-tag==1.1
|
|
236
|
-
# via mkdocs
|
|
237
141
|
quantulum3==0.9.2
|
|
238
142
|
# via hdx-python-api
|
|
239
143
|
ratelimit==2.2.1
|
|
240
144
|
# via hdx-python-utilities
|
|
241
|
-
referencing==0.
|
|
145
|
+
referencing==0.37.0
|
|
242
146
|
# via
|
|
243
147
|
# jsonschema
|
|
244
148
|
# jsonschema-specifications
|
|
245
|
-
regex==
|
|
149
|
+
regex==2026.1.15
|
|
246
150
|
# via hdx-python-scraper (pyproject.toml)
|
|
247
|
-
requests==2.32.
|
|
151
|
+
requests==2.32.5
|
|
248
152
|
# via
|
|
249
153
|
# ckanapi
|
|
250
154
|
# frictionless
|
|
251
155
|
# hdx-python-api
|
|
252
156
|
# libhxl
|
|
253
|
-
# mkdocs-material
|
|
254
157
|
# requests-file
|
|
255
158
|
# requests-oauthlib
|
|
256
|
-
requests-file==
|
|
159
|
+
requests-file==3.0.1
|
|
257
160
|
# via hdx-python-utilities
|
|
258
161
|
requests-oauthlib==2.0.0
|
|
259
162
|
# via google-auth-oauthlib
|
|
260
163
|
rfc3986==2.0.0
|
|
261
164
|
# via frictionless
|
|
262
|
-
rich==14.
|
|
165
|
+
rich==14.2.0
|
|
263
166
|
# via typer
|
|
264
|
-
rpds-py==0.
|
|
167
|
+
rpds-py==0.30.0
|
|
265
168
|
# via
|
|
266
169
|
# jsonschema
|
|
267
170
|
# referencing
|
|
268
171
|
rsa==4.9.1
|
|
269
172
|
# via google-auth
|
|
270
|
-
ruamel-yaml==0.
|
|
173
|
+
ruamel-yaml==0.19.1
|
|
271
174
|
# via hdx-python-utilities
|
|
272
|
-
setuptools==80.
|
|
175
|
+
setuptools==80.9.0
|
|
273
176
|
# via ckanapi
|
|
274
177
|
shellingham==1.5.4
|
|
275
178
|
# via typer
|
|
276
179
|
simpleeval==1.0.3
|
|
277
180
|
# via frictionless
|
|
278
|
-
simplejson==3.20.
|
|
181
|
+
simplejson==3.20.2
|
|
279
182
|
# via ckanapi
|
|
280
183
|
six==1.17.0
|
|
281
184
|
# via
|
|
@@ -285,7 +188,7 @@ six==1.17.0
|
|
|
285
188
|
# sphinxcontrib-napoleon
|
|
286
189
|
sphinxcontrib-napoleon==0.7
|
|
287
190
|
# via defopt
|
|
288
|
-
structlog==25.
|
|
191
|
+
structlog==25.5.0
|
|
289
192
|
# via libhxl
|
|
290
193
|
tableschema-to-template==0.0.13
|
|
291
194
|
# via hdx-python-utilities
|
|
@@ -295,11 +198,11 @@ tenacity==9.1.2
|
|
|
295
198
|
# via hdx-python-country
|
|
296
199
|
text-unidecode==1.3
|
|
297
200
|
# via python-slugify
|
|
298
|
-
typeguard==4.4.
|
|
201
|
+
typeguard==4.4.4
|
|
299
202
|
# via inflect
|
|
300
|
-
typer==0.
|
|
203
|
+
typer==0.21.1
|
|
301
204
|
# via frictionless
|
|
302
|
-
typing-extensions==4.
|
|
205
|
+
typing-extensions==4.15.0
|
|
303
206
|
# via
|
|
304
207
|
# frictionless
|
|
305
208
|
# pydantic
|
|
@@ -307,33 +210,27 @@ typing-extensions==4.13.2
|
|
|
307
210
|
# typeguard
|
|
308
211
|
# typer
|
|
309
212
|
# typing-inspection
|
|
310
|
-
typing-inspection==0.4.
|
|
213
|
+
typing-inspection==0.4.2
|
|
311
214
|
# via pydantic
|
|
312
|
-
tzdata==2025.2
|
|
313
|
-
# via pandas
|
|
314
215
|
unidecode==1.4.0
|
|
315
216
|
# via
|
|
316
217
|
# libhxl
|
|
317
218
|
# pyphonetics
|
|
318
|
-
urllib3==2.
|
|
219
|
+
urllib3==2.6.3
|
|
319
220
|
# via
|
|
320
221
|
# libhxl
|
|
321
222
|
# requests
|
|
322
223
|
validators==0.35.0
|
|
323
224
|
# via frictionless
|
|
324
|
-
virtualenv==20.31.2
|
|
325
|
-
# via pre-commit
|
|
326
|
-
watchdog==6.0.0
|
|
327
|
-
# via mkdocs
|
|
328
225
|
wheel==0.45.1
|
|
329
226
|
# via libhxl
|
|
330
|
-
xlrd==2.0.
|
|
227
|
+
xlrd==2.0.2
|
|
331
228
|
# via hdx-python-utilities
|
|
332
229
|
xlrd3==1.1.0
|
|
333
230
|
# via libhxl
|
|
334
231
|
xlsx2csv==0.8.4
|
|
335
232
|
# via hdx-python-utilities
|
|
336
|
-
xlsxwriter==3.2.
|
|
233
|
+
xlsxwriter==3.2.9
|
|
337
234
|
# via tableschema-to-template
|
|
338
235
|
xlwt==1.3.0
|
|
339
236
|
# via hdx-python-utilities
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
3
|
|
|
4
|
-
__all__ = [
|
|
4
|
+
__all__ = [
|
|
5
|
+
"__version__",
|
|
6
|
+
"__version_tuple__",
|
|
7
|
+
"version",
|
|
8
|
+
"version_tuple",
|
|
9
|
+
"__commit_id__",
|
|
10
|
+
"commit_id",
|
|
11
|
+
]
|
|
5
12
|
|
|
6
13
|
TYPE_CHECKING = False
|
|
7
14
|
if TYPE_CHECKING:
|
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
|
9
16
|
from typing import Union
|
|
10
17
|
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
+
COMMIT_ID = Union[str, None]
|
|
12
20
|
else:
|
|
13
21
|
VERSION_TUPLE = object
|
|
22
|
+
COMMIT_ID = object
|
|
14
23
|
|
|
15
24
|
version: str
|
|
16
25
|
__version__: str
|
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
|
18
27
|
version_tuple: VERSION_TUPLE
|
|
28
|
+
commit_id: COMMIT_ID
|
|
29
|
+
__commit_id__: COMMIT_ID
|
|
19
30
|
|
|
20
|
-
__version__ = version = '2.
|
|
21
|
-
__version_tuple__ = version_tuple = (2,
|
|
31
|
+
__version__ = version = '2.7.1'
|
|
32
|
+
__version_tuple__ = version_tuple = (2, 7, 1)
|
|
33
|
+
|
|
34
|
+
__commit_id__ = commit_id = None
|