hdx-python-api 6.5.2__tar.gz → 6.5.3__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_api-6.5.2 → hdx_python_api-6.5.3}/PKG-INFO +1 -1
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/requirements.txt +23 -23
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/_version.py +2 -2
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/resource.py +8 -2
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_resource.py +13 -2
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/.coveragerc +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/.github/workflows/publish.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/.gitignore +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/.pre-commit-config.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/CONTRIBUTING.md +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/LICENSE +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/README.md +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/documentation/index.md +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/documentation/mkdocs.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/hatch.toml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/pyproject.toml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/pytest.ini +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/ruff.toml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/configuration.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/hdx_base_configuration.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/locations.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/remotehdx.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/dataset_title_helper.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/date_helper.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/filestore_helper.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/hdx_error_handler.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/hdx_state.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/api/utilities/size_hash.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/dataset.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/hdx_datasource_topline.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/hdxobject.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/indicator_resource_view_template.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/organization.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/resource_matcher.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/resource_view.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/showcase.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/user.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/vocabulary.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/facades/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/facades/infer_arguments.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/facades/keyword_arguments.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/facades/simple.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/Accepted_Tags.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/CKAN/hdx_dataset_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/Tag_Mapping.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/Tag_Mapping_ChainRuleError.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/empty.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_base_config.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_base_config.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_config.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_config.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_dataset_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_dataset_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_datasource_topline.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_datasource_topline.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_email_configuration.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_email_configuration.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_missing_site_config.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_organization_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_organization_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_view_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_view_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_showcase_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_showcase_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_user_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_user_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_vocabulary_static.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_vocabulary_static.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/project_configuration.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/project_configuration.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/user_agent_config.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/user_agent_config2.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/user_agent_config3.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/user_agent_config_wrong.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/dataset_search_results.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/download_gen_resource/conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/download_gen_resource/min_qc_conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/download_gen_resource/qc_conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/download_gen_resource/test_data_no_data.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/download_gen_resource/test_data_no_years.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/empty.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/min_qc_conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/qc_conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/test_data_no_data.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/test_data_no_years.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/organization_show_results.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/qc_from_rows/qc_conflict_data_alg.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/qc_from_rows/qc_conflict_data_alg_one_col.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/resource_formats.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/showcase_all_search_results.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/size_hash/ACLED-All-Africa-File_20170101-to-20170708.xlsx +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/state/analysis_dates.txt +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/state/last_build_date.txt +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/test_data.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/test_data.zip +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/dem_data_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/dem_indicatorlist_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/expected_resources_to_update.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/opri_data_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/opri_indicatorlist_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/opri_metadata_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/qc_sdg_data_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/sdg_data_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/sdg_indicatorlist_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/sdg_metadata_zwe.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/unesco_dataset.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_dataset_resources/unesco_update_dataset.json +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_logic/update_logic_resources.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/update_logic/update_logic_resources_new.yaml +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/test_ckan.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/test_configuration.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/test_locations.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_dataset_title_helper.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_filestore_helper.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_hdx_error_handler.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_hdx_state.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_size_hash.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/conftest.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_dataset_add_hapi_error.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_dataset_core.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_dataset_noncore.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_dataset_resource_generation.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_organization.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_resource_view.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_showcase.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_update_dataset_resources.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_update_logic.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_user.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_vocabulary.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/facades/__init__.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/facades/test_infer_arguments.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/facades/test_keyword_arguments.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/facades/test_simple.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/workingexample/my_code.py +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/workingexample/my_resource.csv +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/workingexample/my_resource.xlsx +0 -0
- {hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/workingexample/run.py +0 -0
|
@@ -12,7 +12,7 @@ attrs==25.4.0
|
|
|
12
12
|
# referencing
|
|
13
13
|
babel==2.17.0
|
|
14
14
|
# via mkdocs-material
|
|
15
|
-
backrefs==
|
|
15
|
+
backrefs==6.0.1
|
|
16
16
|
# via mkdocs-material
|
|
17
17
|
cachetools==6.2.1
|
|
18
18
|
# via google-auth
|
|
@@ -22,9 +22,9 @@ cfgv==3.4.0
|
|
|
22
22
|
# via pre-commit
|
|
23
23
|
chardet==5.2.0
|
|
24
24
|
# via frictionless
|
|
25
|
-
charset-normalizer==3.4.
|
|
25
|
+
charset-normalizer==3.4.4
|
|
26
26
|
# via requests
|
|
27
|
-
ckanapi==4.
|
|
27
|
+
ckanapi==4.9
|
|
28
28
|
# via hdx-python-api (pyproject.toml)
|
|
29
29
|
click==8.3.0
|
|
30
30
|
# via
|
|
@@ -32,7 +32,7 @@ click==8.3.0
|
|
|
32
32
|
# typer
|
|
33
33
|
colorama==0.4.6
|
|
34
34
|
# via mkdocs-material
|
|
35
|
-
coverage==7.
|
|
35
|
+
coverage==7.11.3
|
|
36
36
|
# via pytest-cov
|
|
37
37
|
defopt==7.0.0
|
|
38
38
|
# via hdx-python-api (pyproject.toml)
|
|
@@ -44,7 +44,7 @@ docopt==0.6.2
|
|
|
44
44
|
# via
|
|
45
45
|
# ckanapi
|
|
46
46
|
# num2words
|
|
47
|
-
docutils==0.22.
|
|
47
|
+
docutils==0.22.3
|
|
48
48
|
# via defopt
|
|
49
49
|
email-validator==2.3.0
|
|
50
50
|
# via hdx-python-api (pyproject.toml)
|
|
@@ -56,7 +56,7 @@ frictionless==5.18.1
|
|
|
56
56
|
# via hdx-python-utilities
|
|
57
57
|
ghp-import==2.1.0
|
|
58
58
|
# via mkdocs
|
|
59
|
-
google-auth==2.
|
|
59
|
+
google-auth==2.43.0
|
|
60
60
|
# via
|
|
61
61
|
# google-auth-oauthlib
|
|
62
62
|
# gspread
|
|
@@ -70,7 +70,7 @@ hdx-python-utilities==3.9.5
|
|
|
70
70
|
# via
|
|
71
71
|
# hdx-python-api (pyproject.toml)
|
|
72
72
|
# hdx-python-country
|
|
73
|
-
humanize==4.
|
|
73
|
+
humanize==4.14.0
|
|
74
74
|
# via frictionless
|
|
75
75
|
identify==2.6.15
|
|
76
76
|
# via pre-commit
|
|
@@ -82,7 +82,7 @@ ijson==3.4.0.post0
|
|
|
82
82
|
# via hdx-python-utilities
|
|
83
83
|
inflect==7.5.0
|
|
84
84
|
# via quantulum3
|
|
85
|
-
iniconfig==2.
|
|
85
|
+
iniconfig==2.3.0
|
|
86
86
|
# via pytest
|
|
87
87
|
isodate==0.7.2
|
|
88
88
|
# via frictionless
|
|
@@ -110,14 +110,14 @@ loguru==0.7.3
|
|
|
110
110
|
# via hdx-python-utilities
|
|
111
111
|
makefun==1.16.0
|
|
112
112
|
# via hdx-python-api (pyproject.toml)
|
|
113
|
-
markdown==3.
|
|
113
|
+
markdown==3.10
|
|
114
114
|
# via
|
|
115
115
|
# mkdocs
|
|
116
116
|
# mkdocs-material
|
|
117
117
|
# pymdown-extensions
|
|
118
118
|
markdown-it-py==4.0.0
|
|
119
119
|
# via rich
|
|
120
|
-
marko==2.2.
|
|
120
|
+
marko==2.2.1
|
|
121
121
|
# via frictionless
|
|
122
122
|
markupsafe==3.0.3
|
|
123
123
|
# via
|
|
@@ -137,7 +137,7 @@ mkdocs==1.6.1
|
|
|
137
137
|
# mkdocs-material
|
|
138
138
|
mkdocs-get-deps==0.2.0
|
|
139
139
|
# via mkdocs
|
|
140
|
-
mkdocs-material==9.
|
|
140
|
+
mkdocs-material==9.7.0
|
|
141
141
|
# via mkapi
|
|
142
142
|
mkdocs-material-extensions==1.3.1
|
|
143
143
|
# via mkdocs-material
|
|
@@ -175,7 +175,7 @@ ply==3.11
|
|
|
175
175
|
# libhxl
|
|
176
176
|
pockets==0.9.1
|
|
177
177
|
# via sphinxcontrib-napoleon
|
|
178
|
-
pre-commit==4.
|
|
178
|
+
pre-commit==4.4.0
|
|
179
179
|
# via hdx-python-api (pyproject.toml)
|
|
180
180
|
pyasn1==0.6.1
|
|
181
181
|
# via
|
|
@@ -183,20 +183,20 @@ pyasn1==0.6.1
|
|
|
183
183
|
# rsa
|
|
184
184
|
pyasn1-modules==0.4.2
|
|
185
185
|
# via google-auth
|
|
186
|
-
pydantic==2.12.
|
|
186
|
+
pydantic==2.12.4
|
|
187
187
|
# via frictionless
|
|
188
|
-
pydantic-core==2.41.
|
|
188
|
+
pydantic-core==2.41.5
|
|
189
189
|
# via pydantic
|
|
190
190
|
pygments==2.19.2
|
|
191
191
|
# via
|
|
192
192
|
# mkdocs-material
|
|
193
193
|
# pytest
|
|
194
194
|
# rich
|
|
195
|
-
pymdown-extensions==10.
|
|
195
|
+
pymdown-extensions==10.17.1
|
|
196
196
|
# via mkdocs-material
|
|
197
197
|
pyphonetics==0.5.3
|
|
198
198
|
# via hdx-python-utilities
|
|
199
|
-
pytest==
|
|
199
|
+
pytest==9.0.0
|
|
200
200
|
# via
|
|
201
201
|
# hdx-python-api (pyproject.toml)
|
|
202
202
|
# pytest-check
|
|
@@ -232,7 +232,7 @@ quantulum3==0.9.2
|
|
|
232
232
|
# via hdx-python-api (pyproject.toml)
|
|
233
233
|
ratelimit==2.2.1
|
|
234
234
|
# via hdx-python-utilities
|
|
235
|
-
referencing==0.
|
|
235
|
+
referencing==0.37.0
|
|
236
236
|
# via
|
|
237
237
|
# jsonschema
|
|
238
238
|
# jsonschema-specifications
|
|
@@ -245,7 +245,7 @@ requests==2.32.5
|
|
|
245
245
|
# mkdocs-material
|
|
246
246
|
# requests-file
|
|
247
247
|
# requests-oauthlib
|
|
248
|
-
requests-file==
|
|
248
|
+
requests-file==3.0.1
|
|
249
249
|
# via hdx-python-utilities
|
|
250
250
|
requests-oauthlib==2.0.0
|
|
251
251
|
# via google-auth-oauthlib
|
|
@@ -253,13 +253,13 @@ rfc3986==2.0.0
|
|
|
253
253
|
# via frictionless
|
|
254
254
|
rich==14.2.0
|
|
255
255
|
# via typer
|
|
256
|
-
rpds-py==0.
|
|
256
|
+
rpds-py==0.28.0
|
|
257
257
|
# via
|
|
258
258
|
# jsonschema
|
|
259
259
|
# referencing
|
|
260
260
|
rsa==4.9.1
|
|
261
261
|
# via google-auth
|
|
262
|
-
ruamel-yaml==0.18.
|
|
262
|
+
ruamel-yaml==0.18.16
|
|
263
263
|
# via hdx-python-utilities
|
|
264
264
|
ruamel-yaml-clib==0.2.14
|
|
265
265
|
# via ruamel-yaml
|
|
@@ -279,7 +279,7 @@ six==1.17.0
|
|
|
279
279
|
# sphinxcontrib-napoleon
|
|
280
280
|
sphinxcontrib-napoleon==0.7
|
|
281
281
|
# via defopt
|
|
282
|
-
structlog==25.
|
|
282
|
+
structlog==25.5.0
|
|
283
283
|
# via libhxl
|
|
284
284
|
tableschema-to-template==0.0.13
|
|
285
285
|
# via hdx-python-utilities
|
|
@@ -291,7 +291,7 @@ text-unidecode==1.3
|
|
|
291
291
|
# via python-slugify
|
|
292
292
|
typeguard==4.4.4
|
|
293
293
|
# via inflect
|
|
294
|
-
typer==0.
|
|
294
|
+
typer==0.20.0
|
|
295
295
|
# via frictionless
|
|
296
296
|
typing-extensions==4.15.0
|
|
297
297
|
# via
|
|
@@ -313,7 +313,7 @@ urllib3==2.5.0
|
|
|
313
313
|
# requests
|
|
314
314
|
validators==0.35.0
|
|
315
315
|
# via frictionless
|
|
316
|
-
virtualenv==20.35.
|
|
316
|
+
virtualenv==20.35.4
|
|
317
317
|
# via pre-commit
|
|
318
318
|
watchdog==6.0.0
|
|
319
319
|
# via mkdocs
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '6.5.
|
|
32
|
-
__version_tuple__ = version_tuple = (6, 5,
|
|
31
|
+
__version__ = version = '6.5.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (6, 5, 3)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -15,6 +15,7 @@ from hdx.data.hdxobject import HDXError, HDXObject
|
|
|
15
15
|
from hdx.data.resource_view import ResourceView
|
|
16
16
|
from hdx.utilities.dateparse import now_utc, now_utc_notz, parse_date
|
|
17
17
|
from hdx.utilities.downloader import Download
|
|
18
|
+
from hdx.utilities.retriever import Retrieve
|
|
18
19
|
from hdx.utilities.typehint import ListTuple
|
|
19
20
|
from hdx.utilities.uuid import is_valid_uuid
|
|
20
21
|
|
|
@@ -591,12 +592,15 @@ class Resource(HDXObject):
|
|
|
591
592
|
logger.debug(result)
|
|
592
593
|
return resources
|
|
593
594
|
|
|
594
|
-
def download(
|
|
595
|
+
def download(
|
|
596
|
+
self, folder: Optional[str] = None, retriever: Optional[Retrieve] = None
|
|
597
|
+
) -> Tuple[str, str]:
|
|
595
598
|
"""Download resource store to provided folder or temporary folder if no folder
|
|
596
599
|
supplied
|
|
597
600
|
|
|
598
601
|
Args:
|
|
599
602
|
folder (Optional[str]): Folder to download resource to. Defaults to None.
|
|
603
|
+
retriever (Optional[Retrieve]): Retrieve object to use. Defaults to None.
|
|
600
604
|
|
|
601
605
|
Returns:
|
|
602
606
|
Tuple[str, str]: (URL downloaded, Path to downloaded file)
|
|
@@ -613,7 +617,7 @@ class Resource(HDXObject):
|
|
|
613
617
|
filename = f"{filename}{file_format}"
|
|
614
618
|
apikey = self.configuration.get_api_key()
|
|
615
619
|
if apikey:
|
|
616
|
-
headers = {"Authorization":
|
|
620
|
+
headers = {"Authorization": apikey}
|
|
617
621
|
else:
|
|
618
622
|
headers = None
|
|
619
623
|
with Download(
|
|
@@ -621,6 +625,8 @@ class Resource(HDXObject):
|
|
|
621
625
|
use_env=False,
|
|
622
626
|
headers=headers,
|
|
623
627
|
) as downloader:
|
|
628
|
+
if retriever:
|
|
629
|
+
downloader = retriever.clone(downloader)
|
|
624
630
|
path = downloader.download_file(url, folder=folder, filename=filename)
|
|
625
631
|
return url, path
|
|
626
632
|
|
|
@@ -16,7 +16,9 @@ from hdx.data.hdxobject import HDXError
|
|
|
16
16
|
from hdx.data.resource import Resource
|
|
17
17
|
from hdx.utilities.dateparse import parse_date
|
|
18
18
|
from hdx.utilities.dictandlist import merge_two_dictionaries
|
|
19
|
-
from hdx.utilities.downloader import DownloadError
|
|
19
|
+
from hdx.utilities.downloader import Download, DownloadError
|
|
20
|
+
from hdx.utilities.path import get_temp_dir
|
|
21
|
+
from hdx.utilities.retriever import Retrieve
|
|
20
22
|
|
|
21
23
|
resultdict = {
|
|
22
24
|
"cache_last_updated": None,
|
|
@@ -940,7 +942,6 @@ class TestResource:
|
|
|
940
942
|
|
|
941
943
|
def test_download(self, configuration, read):
|
|
942
944
|
resource = Resource.read_from_hdx("74b74ae1-df0c-4716-829f-4f939a046811")
|
|
943
|
-
resource2 = Resource.read_from_hdx("74b74ae1-df0c-4716-829f-4f939a046814")
|
|
944
945
|
url, path = resource.download()
|
|
945
946
|
remove(path)
|
|
946
947
|
assert (
|
|
@@ -948,9 +949,19 @@ class TestResource:
|
|
|
948
949
|
== "https://raw.githubusercontent.com/OCHA-DAP/hdx-python-api/main/tests/fixtures/test_data.csv"
|
|
949
950
|
)
|
|
950
951
|
assert basename(path) == "MyResource1.csv"
|
|
952
|
+
tempdir = get_temp_dir()
|
|
953
|
+
retriever = Retrieve(Download(user_agent="test"), tempdir, tempdir, tempdir)
|
|
954
|
+
url, path = resource.download(retriever=retriever)
|
|
955
|
+
remove(path)
|
|
956
|
+
assert (
|
|
957
|
+
url
|
|
958
|
+
== "https://raw.githubusercontent.com/OCHA-DAP/hdx-python-api/main/tests/fixtures/test_data.csv"
|
|
959
|
+
)
|
|
960
|
+
|
|
951
961
|
resource["url"] = ""
|
|
952
962
|
with pytest.raises(HDXError):
|
|
953
963
|
resource.download()
|
|
964
|
+
resource2 = Resource.read_from_hdx("74b74ae1-df0c-4716-829f-4f939a046814")
|
|
954
965
|
with pytest.raises(DownloadError):
|
|
955
966
|
resource2.download()
|
|
956
967
|
|
|
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_api-6.5.2 → hdx_python_api-6.5.3}/src/hdx/data/indicator_resource_view_template.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
|
|
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_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_datasource_topline.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_datasource_topline.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_email_configuration.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_email_configuration.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_missing_site_config.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_organization_static.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_organization_static.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_static.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_static.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_view_static.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_resource_view_static.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_showcase_static.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_showcase_static.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_vocabulary_static.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/hdx_vocabulary_static.yaml
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/project_configuration.json
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/project_configuration.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/config/user_agent_config_wrong.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
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/conflict_data_alg.csv
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/qc_conflict_data_alg.csv
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/test_data_no_data.csv
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/gen_resource/test_data_no_years.csv
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/qc_from_rows/qc_conflict_data_alg.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/fixtures/showcase_all_search_results.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
|
|
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_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_dataset_title_helper.py
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_filestore_helper.py
RENAMED
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/api/utilities/test_hdx_error_handler.py
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
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_dataset_resource_generation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_api-6.5.2 → hdx_python_api-6.5.3}/tests/hdx/data/test_update_dataset_resources.py
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
|