hdx-python-scraper 2.3.9__tar.gz → 2.4.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.3.9 → hdx_python_scraper-2.4.1}/.config/pre-commit-config.yaml +2 -2
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/PKG-INFO +3 -3
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/documentation/main.md +24 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/pyproject.toml +2 -2
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/requirements.txt +17 -15
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/_version.py +2 -2
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/outputs/googlesheets.py +1 -1
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/reader.py +9 -5
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/config/project_configuration.yaml +2 -1
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_subnational.py +3 -2
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.config/coveragerc +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.config/pytest.ini +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.config/ruff.toml +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.github/workflows/publish.yaml +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.gitignore +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/CONTRIBUTING.md +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/LICENSE +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/README.md +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/documentation/pydoc-markdown.yaml +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/__init__.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/base_scraper.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/__init__.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/aggregator.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/resource_downloader.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/rowparser.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/scraper.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/timeseries.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/outputs/__init__.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/outputs/base.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/outputs/excelfile.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/outputs/json.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/runner.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/__init__.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/fallbacks.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/region_lookup.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/sources.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/writer.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/access_2pacx-1vrszjzuyvt9i-mkrq2hbxrul2lx2vihkthqm-lae8nyhqty70zqtcufs3pxbhzgat1l2bkoa4-daoap-pub-gid-574237756-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/additional-json.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/altworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cbpf-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cbpf2-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cerf-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cerf2-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cerf2_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/cerf_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/covax_2pacx-1vtvzu79pptfaa2syevoqfyrrjy63djwitqu0ffbxiqczoun9k9timwmrvfgg1rbsnlmgyugzseiaye2-pub-gid-992438980-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/covidtests_data-owid-covid-data.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/education_closures_broken.xls +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/education_closures_school_closures.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/education_enrolment_enrollment_data.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ethiopia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ethiopia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ethiopia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/fallbacks.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/gam_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/gam_other_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/global-school-closures-covid19.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/hno_2017_sahel_nutrition.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/hno_2017_sahel_people_in_need.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/idmc-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/idps_download-displacement-data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/idps_override_population-widget-id-264111-geo-id-693-population-group-54074999.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/idps_somalia_som_unhcr_prmn_displacement_dataset.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ipc_somalia_som_food_insecurity_oct_dec2022_projection.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/kenya-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/kenya-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/kenya_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.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.3.9 → hdx_python_scraper-2.4.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.3.9 → hdx_python_scraper-2.4.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.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ourworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.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.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/oxford-covid-19-government-response-tracker.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/population.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/population_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/population_other_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/regions_tbl_regcov_2020_ocha.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/resource_downloader_xlsx_ukr_border_crossings_090622.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/sadd-countries-to-include.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/sadd_covid-data-dataset-fullvars-extype-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/sahel-humanitarian-needs-overview.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/sahel-humanitarian-needs-overview_prefix.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/somalia-acute-food-insecurity-country-data.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/somalia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/somalia-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/somalia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/somalia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/timeseries_casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/total-covid-19-tests-performed-by-country.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ukraine-border-crossings.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/ukraine-who-does-what-where-3w.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/unocha-office-locations.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/who_national2_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/who_national3_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/who_national_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/whowhatwhere_afg_3w_data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/whowhatwhere_notags_3w_data.csv +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_output.xlsx +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_scraper_all.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_scraper_other.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_scraper_population.json +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/__init__.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/affected_targeted_reached.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/conftest.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/education_closures.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/education_enrolment.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_output.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_readers.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_regionlookup.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_runner.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_aggregation.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_appenddata.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_custom.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_global.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_multipleurls.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_national.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_regionaltoplevel.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_resource_downloaders.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_timeseries.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_sources.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_utils.py +0 -0
- {hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/unhcr_myanmar_idps.py +0 -0
|
@@ -9,7 +9,7 @@ repos:
|
|
|
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.5.1
|
|
13
13
|
hooks:
|
|
14
14
|
# Run the linter.
|
|
15
15
|
- id: ruff
|
|
@@ -18,7 +18,7 @@ repos:
|
|
|
18
18
|
- id: ruff-format
|
|
19
19
|
args: [--config, .config/ruff.toml]
|
|
20
20
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
21
|
-
rev: 0.2.
|
|
21
|
+
rev: 0.2.13
|
|
22
22
|
hooks:
|
|
23
23
|
# Run the pip compile
|
|
24
24
|
- id: pip-compile
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: hdx-python-scraper
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.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>
|
|
@@ -26,9 +26,9 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
26
26
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
27
|
Requires-Python: >=3.8
|
|
28
28
|
Requires-Dist: gspread
|
|
29
|
-
Requires-Dist: hdx-python-api>=6.3.
|
|
29
|
+
Requires-Dist: hdx-python-api>=6.3.2
|
|
30
30
|
Requires-Dist: hdx-python-country>=3.7.6
|
|
31
|
-
Requires-Dist: hdx-python-utilities>=3.7.
|
|
31
|
+
Requires-Dist: hdx-python-utilities>=3.7.3
|
|
32
32
|
Requires-Dist: regex
|
|
33
33
|
Provides-Extra: dev
|
|
34
34
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
@@ -1089,6 +1089,30 @@ same HXL hashtags.
|
|
|
1089
1089
|
use_hxl: True
|
|
1090
1090
|
should_overwrite_sources: True
|
|
1091
1091
|
|
|
1092
|
+
The xlsx2csv option below converts the xlsx to csv before processing.
|
|
1093
|
+
|
|
1094
|
+
idps_somalia:
|
|
1095
|
+
dataset: "somalia-internally-displaced-persons-idps"
|
|
1096
|
+
format: "xlsx"
|
|
1097
|
+
xlsx2csv: True
|
|
1098
|
+
filter_cols:
|
|
1099
|
+
- "Reason"
|
|
1100
|
+
- "Year"
|
|
1101
|
+
prefilter: "'drought' in Reason.lower() and int(Year) in (self.today.year - 1, self.today.year)"
|
|
1102
|
+
admin:
|
|
1103
|
+
- value: "SOM"
|
|
1104
|
+
- "Current (Arrival) District"
|
|
1105
|
+
input:
|
|
1106
|
+
- "Number of Individuals"
|
|
1107
|
+
sum:
|
|
1108
|
+
- formula: "int(Number of Individuals)"
|
|
1109
|
+
mustbepopulated: True
|
|
1110
|
+
output:
|
|
1111
|
+
- "IDPs"
|
|
1112
|
+
output_hxl:
|
|
1113
|
+
- "#affected+idps+ind"
|
|
1114
|
+
source_date_format: "%Y-%m-%d"
|
|
1115
|
+
|
|
1092
1116
|
## Population Data
|
|
1093
1117
|
|
|
1094
1118
|
Population data is treated as a special class of data. By default, configurable and
|
|
@@ -34,9 +34,9 @@ classifiers = [
|
|
|
34
34
|
requires-python = ">=3.8"
|
|
35
35
|
|
|
36
36
|
dependencies = [
|
|
37
|
-
"hdx-python-api>=6.3.
|
|
37
|
+
"hdx-python-api>=6.3.2",
|
|
38
38
|
"hdx-python-country>=3.7.6",
|
|
39
|
-
"hdx-python-utilities>=3.7.
|
|
39
|
+
"hdx-python-utilities>=3.7.3",
|
|
40
40
|
"gspread",
|
|
41
41
|
"regex",
|
|
42
42
|
]
|
|
@@ -8,7 +8,7 @@ attrs==23.2.0
|
|
|
8
8
|
# jsonlines
|
|
9
9
|
# jsonschema
|
|
10
10
|
# referencing
|
|
11
|
-
cachetools==5.
|
|
11
|
+
cachetools==5.4.0
|
|
12
12
|
# via google-auth
|
|
13
13
|
certifi==2024.7.4
|
|
14
14
|
# via requests
|
|
@@ -26,7 +26,7 @@ click==8.1.7
|
|
|
26
26
|
# via typer
|
|
27
27
|
coverage==7.6.0
|
|
28
28
|
# via pytest-cov
|
|
29
|
-
cryptography==
|
|
29
|
+
cryptography==43.0.0
|
|
30
30
|
# via pyopenssl
|
|
31
31
|
defopt==6.4.0
|
|
32
32
|
# via hdx-python-api
|
|
@@ -56,13 +56,13 @@ google-auth-oauthlib==1.2.1
|
|
|
56
56
|
# via gspread
|
|
57
57
|
gspread==6.1.2
|
|
58
58
|
# via hdx-python-scraper (pyproject.toml)
|
|
59
|
-
hdx-python-api==6.3.
|
|
59
|
+
hdx-python-api==6.3.2
|
|
60
60
|
# via hdx-python-scraper (pyproject.toml)
|
|
61
|
-
hdx-python-country==3.7.
|
|
61
|
+
hdx-python-country==3.7.7
|
|
62
62
|
# via
|
|
63
63
|
# hdx-python-scraper (pyproject.toml)
|
|
64
64
|
# hdx-python-api
|
|
65
|
-
hdx-python-utilities==3.7.
|
|
65
|
+
hdx-python-utilities==3.7.3
|
|
66
66
|
# via
|
|
67
67
|
# hdx-python-scraper (pyproject.toml)
|
|
68
68
|
# hdx-python-api
|
|
@@ -101,7 +101,7 @@ libhxl==5.2.1
|
|
|
101
101
|
# hdx-python-country
|
|
102
102
|
loguru==0.7.2
|
|
103
103
|
# via hdx-python-utilities
|
|
104
|
-
makefun==1.15.
|
|
104
|
+
makefun==1.15.4
|
|
105
105
|
# via hdx-python-api
|
|
106
106
|
markdown-it-py==3.0.0
|
|
107
107
|
# via rich
|
|
@@ -119,7 +119,7 @@ nodeenv==1.9.1
|
|
|
119
119
|
# via pre-commit
|
|
120
120
|
num2words==0.5.13
|
|
121
121
|
# via quantulum3
|
|
122
|
-
numpy==2.0.
|
|
122
|
+
numpy==2.0.1
|
|
123
123
|
# via pandas
|
|
124
124
|
oauthlib==3.2.2
|
|
125
125
|
# via requests-oauthlib
|
|
@@ -141,7 +141,7 @@ ply==3.11
|
|
|
141
141
|
# libhxl
|
|
142
142
|
pockets==0.9.1
|
|
143
143
|
# via sphinxcontrib-napoleon
|
|
144
|
-
pre-commit==3.
|
|
144
|
+
pre-commit==3.8.0
|
|
145
145
|
# via hdx-python-scraper (pyproject.toml)
|
|
146
146
|
pyasn1==0.6.0
|
|
147
147
|
# via
|
|
@@ -159,13 +159,13 @@ pydantic-core==2.20.1
|
|
|
159
159
|
# via pydantic
|
|
160
160
|
pygments==2.18.0
|
|
161
161
|
# via rich
|
|
162
|
-
pyopenssl==24.1
|
|
162
|
+
pyopenssl==24.2.1
|
|
163
163
|
# via
|
|
164
164
|
# hdx-python-api
|
|
165
165
|
# ndg-httpsclient
|
|
166
166
|
pyphonetics==0.5.3
|
|
167
167
|
# via hdx-python-country
|
|
168
|
-
pytest==8.
|
|
168
|
+
pytest==8.3.2
|
|
169
169
|
# via
|
|
170
170
|
# hdx-python-scraper (pyproject.toml)
|
|
171
171
|
# pytest-cov
|
|
@@ -198,7 +198,7 @@ referencing==0.35.1
|
|
|
198
198
|
# via
|
|
199
199
|
# jsonschema
|
|
200
200
|
# jsonschema-specifications
|
|
201
|
-
regex==2024.
|
|
201
|
+
regex==2024.7.24
|
|
202
202
|
# via hdx-python-scraper (pyproject.toml)
|
|
203
203
|
requests==2.32.3
|
|
204
204
|
# via
|
|
@@ -216,7 +216,7 @@ rfc3986==2.0.0
|
|
|
216
216
|
# via frictionless
|
|
217
217
|
rich==13.7.1
|
|
218
218
|
# via typer
|
|
219
|
-
rpds-py==0.19.
|
|
219
|
+
rpds-py==0.19.1
|
|
220
220
|
# via
|
|
221
221
|
# jsonschema
|
|
222
222
|
# referencing
|
|
@@ -226,7 +226,7 @@ ruamel-yaml==0.18.6
|
|
|
226
226
|
# via hdx-python-utilities
|
|
227
227
|
ruamel-yaml-clib==0.2.8
|
|
228
228
|
# via ruamel-yaml
|
|
229
|
-
setuptools==
|
|
229
|
+
setuptools==72.1.0
|
|
230
230
|
# via ckanapi
|
|
231
231
|
shellingham==1.5.4
|
|
232
232
|
# via typer
|
|
@@ -245,7 +245,7 @@ sphinxcontrib-napoleon==0.7
|
|
|
245
245
|
# via defopt
|
|
246
246
|
stringcase==1.2.0
|
|
247
247
|
# via frictionless
|
|
248
|
-
structlog==24.
|
|
248
|
+
structlog==24.4.0
|
|
249
249
|
# via libhxl
|
|
250
250
|
tableschema-to-template==0.0.13
|
|
251
251
|
# via hdx-python-utilities
|
|
@@ -274,7 +274,7 @@ urllib3==2.2.2
|
|
|
274
274
|
# via
|
|
275
275
|
# libhxl
|
|
276
276
|
# requests
|
|
277
|
-
validators==0.
|
|
277
|
+
validators==0.33.0
|
|
278
278
|
# via frictionless
|
|
279
279
|
virtualenv==20.26.3
|
|
280
280
|
# via pre-commit
|
|
@@ -284,6 +284,8 @@ xlrd==2.0.1
|
|
|
284
284
|
# via hdx-python-utilities
|
|
285
285
|
xlrd3==1.1.0
|
|
286
286
|
# via libhxl
|
|
287
|
+
xlsx2csv==0.8.3
|
|
288
|
+
# via hdx-python-utilities
|
|
287
289
|
xlsxwriter==3.2.0
|
|
288
290
|
# via tableschema-to-template
|
|
289
291
|
xlwt==1.3.0
|
|
@@ -206,15 +206,19 @@ class Read(Retrieve):
|
|
|
206
206
|
if headers is None:
|
|
207
207
|
headers = 1
|
|
208
208
|
datasetinfo["headers"] = 1
|
|
209
|
-
kwargs["headers"] = headers
|
|
210
|
-
if isinstance(headers, list):
|
|
211
|
-
kwargs["fill_merged_cells"] = True
|
|
212
209
|
format = datasetinfo["format"]
|
|
213
210
|
kwargs["format"] = format
|
|
214
|
-
if
|
|
215
|
-
|
|
211
|
+
if format in ("xls", "xlsx"):
|
|
212
|
+
if not sheet:
|
|
213
|
+
sheet = 1
|
|
214
|
+
if isinstance(headers, list):
|
|
215
|
+
kwargs["fill_merged_cells"] = True
|
|
216
|
+
elif "fill_merged_cells" not in kwargs:
|
|
217
|
+
kwargs["fill_merged_cells"] = False
|
|
218
|
+
kwargs["xlsx2csv"] = datasetinfo.get("xlsx2csv", False)
|
|
216
219
|
if sheet:
|
|
217
220
|
kwargs["sheet"] = sheet
|
|
221
|
+
kwargs["headers"] = headers
|
|
218
222
|
compression = datasetinfo.get("compression")
|
|
219
223
|
if compression:
|
|
220
224
|
kwargs["compression"] = compression
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/config/project_configuration.yaml
RENAMED
|
@@ -1049,10 +1049,11 @@ scraper_subnational:
|
|
|
1049
1049
|
idps_somalia:
|
|
1050
1050
|
dataset: "somalia-internally-displaced-persons-idps"
|
|
1051
1051
|
format: "xlsx"
|
|
1052
|
+
xlsx2csv: True
|
|
1052
1053
|
filter_cols:
|
|
1053
1054
|
- "Reason"
|
|
1054
1055
|
- "Year"
|
|
1055
|
-
prefilter: "'drought' in Reason.lower() and Year in (self.today.year - 1, self.today.year)"
|
|
1056
|
+
prefilter: "'drought' in Reason.lower() and int(Year) in (self.today.year - 1, self.today.year)"
|
|
1056
1057
|
admin:
|
|
1057
1058
|
- value: "SOM"
|
|
1058
1059
|
- "Current (Arrival) District"
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_subnational.py
RENAMED
|
@@ -353,10 +353,11 @@ class TestScrapersSubnational:
|
|
|
353
353
|
def test_fixed_country(self, configuration):
|
|
354
354
|
BaseScraper.population_lookup = {}
|
|
355
355
|
today = parse_date("2020-10-01")
|
|
356
|
-
adminlevel = AdminLevel(configuration["admin1"])
|
|
357
|
-
adminlevel.setup_from_admin_info(configuration["admin1"]["admin_info"])
|
|
358
356
|
level = "subnational"
|
|
359
357
|
scraper_configuration = configuration[f"scraper_{level}"]
|
|
358
|
+
|
|
359
|
+
adminlevel = AdminLevel(configuration["admin1"])
|
|
360
|
+
adminlevel.setup_from_admin_info(configuration["admin1"]["admin_info"])
|
|
360
361
|
runner = Runner(("SOM",), today)
|
|
361
362
|
runner.add_configurables(
|
|
362
363
|
scraper_configuration, level, adminlevel=adminlevel
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/.github/workflows/run-python-tests.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/__init__.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/aggregator.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/rowparser.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/scraper.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/configurable/timeseries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/fallbacks.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/src/hdx/scraper/utilities/region_lookup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/additional-json.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_scraper_other.json
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/fixtures/test_scraper_population.json
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/affected_targeted_reached.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/education_closures.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/education_enrolment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_regionlookup.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_aggregation.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_appenddata.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_custom.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_global.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_national.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/test_scrapers_timeseries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.3.9 → hdx_python_scraper-2.4.1}/tests/hdx/scraper/unhcr_myanmar_idps.py
RENAMED
|
File without changes
|