hdx-python-api 6.3.2__tar.gz → 6.3.4__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.
Files changed (129) hide show
  1. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.config/pre-commit-config.yaml +2 -2
  2. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/PKG-INFO +3 -6
  3. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/pyproject.toml +2 -5
  4. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/requirements.txt +27 -39
  5. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/_version.py +2 -2
  6. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/dataset.py +2 -1
  7. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/api/test_ckan.py +22 -17
  8. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/api/test_locations.py +1 -1
  9. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.config/coveragerc +0 -0
  10. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.config/pytest.ini +0 -0
  11. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.config/ruff.toml +0 -0
  12. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.github/workflows/publish.yaml +0 -0
  13. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.github/workflows/run-python-tests.yaml +0 -0
  14. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/.gitignore +0 -0
  15. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/CONTRIBUTING.md +0 -0
  16. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/LICENSE +0 -0
  17. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/README.md +0 -0
  18. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/documentation/.readthedocs.yaml +0 -0
  19. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/documentation/main.md +0 -0
  20. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/documentation/pydoc-markdown.yaml +0 -0
  21. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/__init__.py +0 -0
  22. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/configuration.py +0 -0
  23. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/hdx_base_configuration.yaml +0 -0
  24. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/locations.py +0 -0
  25. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/api/remotehdx.py +0 -0
  26. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/__init__.py +0 -0
  27. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/dataset_title_helper.py +0 -0
  28. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/date_helper.py +0 -0
  29. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/filestore_helper.py +0 -0
  30. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/hdx_datasource_topline.yaml +0 -0
  31. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/hdxobject.py +0 -0
  32. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/indicator_resource_view_template.yaml +0 -0
  33. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/organization.py +0 -0
  34. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/resource.py +0 -0
  35. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/resource_matcher.py +0 -0
  36. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/resource_view.py +0 -0
  37. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/showcase.py +0 -0
  38. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/user.py +0 -0
  39. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/data/vocabulary.py +0 -0
  40. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/facades/__init__.py +0 -0
  41. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/facades/infer_arguments.py +0 -0
  42. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/facades/keyword_arguments.py +0 -0
  43. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/src/hdx/facades/simple.py +0 -0
  44. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/Accepted_Tags.csv +0 -0
  45. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/CKAN/hdx_dataset_static.yaml +0 -0
  46. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/Tag_Mapping.csv +0 -0
  47. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/Tag_Mapping_ChainRuleError.csv +0 -0
  48. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/empty.yaml +0 -0
  49. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_base_config.json +0 -0
  50. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_base_config.yaml +0 -0
  51. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_config.json +0 -0
  52. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_config.yaml +0 -0
  53. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_dataset_static.json +0 -0
  54. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_dataset_static.yaml +0 -0
  55. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_datasource_topline.json +0 -0
  56. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_datasource_topline.yaml +0 -0
  57. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_email_configuration.json +0 -0
  58. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_email_configuration.yaml +0 -0
  59. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_missing_site_config.json +0 -0
  60. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_organization_static.json +0 -0
  61. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_organization_static.yaml +0 -0
  62. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_resource_static.json +0 -0
  63. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_resource_static.yaml +0 -0
  64. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_resource_view_static.json +0 -0
  65. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_resource_view_static.yaml +0 -0
  66. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_showcase_static.json +0 -0
  67. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_showcase_static.yaml +0 -0
  68. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_user_static.json +0 -0
  69. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_user_static.yaml +0 -0
  70. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_vocabulary_static.json +0 -0
  71. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/hdx_vocabulary_static.yaml +0 -0
  72. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/project_configuration.json +0 -0
  73. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/project_configuration.yaml +0 -0
  74. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/user_agent_config.yaml +0 -0
  75. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/user_agent_config2.yaml +0 -0
  76. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/user_agent_config3.yaml +0 -0
  77. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/config/user_agent_config_wrong.yaml +0 -0
  78. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/dataset_search_results.yaml +0 -0
  79. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/datastore/ACLED-All-Africa-File_20170101-to-20170708.xlsx +0 -0
  80. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/empty.csv +0 -0
  81. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/gen_resource/conflict_data_alg.csv +0 -0
  82. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/gen_resource/min_qc_conflict_data_alg.csv +0 -0
  83. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/gen_resource/qc_conflict_data_alg.csv +0 -0
  84. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/gen_resource/test_data_no_data.csv +0 -0
  85. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/gen_resource/test_data_no_years.csv +0 -0
  86. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/organization_show_results.yaml +0 -0
  87. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/qc_from_rows/qc_conflict_data_alg.csv +0 -0
  88. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/qc_from_rows/qc_conflict_data_alg_one_col.csv +0 -0
  89. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/resource_formats.json +0 -0
  90. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/showcase_all_search_results.yaml +0 -0
  91. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/test_data.csv +0 -0
  92. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/test_data.zip +0 -0
  93. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/dem_data_zwe.csv +0 -0
  94. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/dem_indicatorlist_zwe.csv +0 -0
  95. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/expected_resources_to_update.json +0 -0
  96. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/opri_data_zwe.csv +0 -0
  97. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/opri_indicatorlist_zwe.csv +0 -0
  98. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/opri_metadata_zwe.csv +0 -0
  99. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/qc_sdg_data_zwe.csv +0 -0
  100. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/sdg_data_zwe.csv +0 -0
  101. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/sdg_indicatorlist_zwe.csv +0 -0
  102. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/sdg_metadata_zwe.csv +0 -0
  103. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/unesco_dataset.json +0 -0
  104. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_dataset_resources/unesco_update_dataset.json +0 -0
  105. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_logic/update_logic_resources.yaml +0 -0
  106. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/fixtures/update_logic/update_logic_resources_new.yaml +0 -0
  107. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/api/test_configuration.py +0 -0
  108. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/conftest.py +0 -0
  109. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/__init__.py +0 -0
  110. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_dataset_core.py +0 -0
  111. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_dataset_noncore.py +0 -0
  112. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_dataset_title_helper.py +0 -0
  113. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_filestore_helper.py +0 -0
  114. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_organization.py +0 -0
  115. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_resource.py +0 -0
  116. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_resource_view.py +0 -0
  117. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_showcase.py +0 -0
  118. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_update_dataset_resources.py +0 -0
  119. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_update_logic.py +0 -0
  120. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_user.py +0 -0
  121. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/data/test_vocabulary.py +0 -0
  122. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/facades/__init__.py +0 -0
  123. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/facades/test_infer_arguments.py +0 -0
  124. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/facades/test_keyword_arguments.py +0 -0
  125. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/tests/hdx/facades/test_simple.py +0 -0
  126. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/workingexample/my_code.py +0 -0
  127. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/workingexample/my_resource.csv +0 -0
  128. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/workingexample/my_resource.xlsx +0 -0
  129. {hdx_python_api-6.3.2 → hdx_python_api-6.3.4}/workingexample/run.py +0 -0
@@ -8,7 +8,7 @@ repos:
8
8
  - id: end-of-file-fixer
9
9
  - id: check-ast
10
10
  - repo: https://github.com/astral-sh/ruff-pre-commit
11
- rev: v0.5.1
11
+ rev: v0.6.4
12
12
  hooks:
13
13
  # Run the linter.
14
14
  - id: ruff
@@ -17,7 +17,7 @@ repos:
17
17
  - id: ruff-format
18
18
  args: [--config, .config/ruff.toml]
19
19
  - repo: https://github.com/astral-sh/uv-pre-commit
20
- rev: 0.2.13
20
+ rev: 0.4.7
21
21
  hooks:
22
22
  # Run the pip compile
23
23
  - id: pip-compile
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hdx-python-api
3
- Version: 6.3.2
3
+ Version: 6.3.4
4
4
  Summary: HDX Python API for interacting with the Humanitarian Data Exchange
5
5
  Project-URL: Homepage, https://github.com/OCHA-DAP/hdx-python-api
6
6
  Author: Michael Rans
@@ -28,13 +28,10 @@ Requires-Python: >=3.8
28
28
  Requires-Dist: ckanapi>=4.8
29
29
  Requires-Dist: defopt>=6.4.0
30
30
  Requires-Dist: email-validator
31
- Requires-Dist: hdx-python-country>=3.7.7
32
- Requires-Dist: hdx-python-utilities>=3.7.2
31
+ Requires-Dist: hdx-python-country>=3.7.8
32
+ Requires-Dist: hdx-python-utilities>=3.7.3
33
33
  Requires-Dist: libhxl>=5.2.1
34
34
  Requires-Dist: makefun
35
- Requires-Dist: ndg-httpsclient
36
- Requires-Dist: pyasn1
37
- Requires-Dist: pyopenssl
38
35
  Requires-Dist: quantulum3
39
36
  Requires-Dist: requests
40
37
  Provides-Extra: dev
@@ -37,13 +37,10 @@ dependencies = [
37
37
  "ckanapi>=4.8",
38
38
  "defopt>=6.4.0",
39
39
  "email_validator",
40
- "hdx-python-country>=3.7.7",
41
- "hdx-python-utilities>=3.7.2",
40
+ "hdx-python-country>=3.7.8",
41
+ "hdx-python-utilities>=3.7.3",
42
42
  "libhxl>=5.2.1",
43
43
  "makefun",
44
- "ndg-httpsclient",
45
- "pyasn1",
46
- "pyOpenSSL",
47
44
  "quantulum3",
48
45
  "requests",
49
46
  ]
@@ -2,18 +2,16 @@
2
2
  # uv pip compile pyproject.toml --resolver=backtracking --all-extras -o requirements.txt
3
3
  annotated-types==0.7.0
4
4
  # via pydantic
5
- attrs==23.2.0
5
+ attrs==24.2.0
6
6
  # via
7
7
  # frictionless
8
8
  # jsonlines
9
9
  # jsonschema
10
10
  # referencing
11
- cachetools==5.4.0
11
+ cachetools==5.5.0
12
12
  # via google-auth
13
- certifi==2024.7.4
13
+ certifi==2024.8.30
14
14
  # via requests
15
- cffi==1.16.0
16
- # via cryptography
17
15
  cfgv==3.4.0
18
16
  # via pre-commit
19
17
  chardet==5.2.0
@@ -24,10 +22,8 @@ ckanapi==4.8
24
22
  # via hdx-python-api (pyproject.toml)
25
23
  click==8.1.7
26
24
  # via typer
27
- coverage==7.6.0
25
+ coverage==7.6.1
28
26
  # via pytest-cov
29
- cryptography==43.0.0
30
- # via pyopenssl
31
27
  defopt==6.4.0
32
28
  # via hdx-python-api (pyproject.toml)
33
29
  distlib==0.3.8
@@ -44,11 +40,11 @@ email-validator==2.2.0
44
40
  # via hdx-python-api (pyproject.toml)
45
41
  et-xmlfile==1.1.0
46
42
  # via openpyxl
47
- filelock==3.15.4
43
+ filelock==3.16.0
48
44
  # via virtualenv
49
- frictionless==5.17.0
45
+ frictionless==5.17.1
50
46
  # via hdx-python-utilities
51
- google-auth==2.32.0
47
+ google-auth==2.34.0
52
48
  # via
53
49
  # google-auth-oauthlib
54
50
  # gspread
@@ -56,9 +52,9 @@ google-auth-oauthlib==1.2.1
56
52
  # via gspread
57
53
  gspread==6.1.2
58
54
  # via hdx-python-api (pyproject.toml)
59
- hdx-python-country==3.7.7
55
+ hdx-python-country==3.7.8
60
56
  # via hdx-python-api (pyproject.toml)
61
- hdx-python-utilities==3.7.2
57
+ hdx-python-utilities==3.7.3
62
58
  # via
63
59
  # hdx-python-api (pyproject.toml)
64
60
  # hdx-python-country
@@ -66,13 +62,13 @@ humanize==4.10.0
66
62
  # via frictionless
67
63
  identify==2.6.0
68
64
  # via pre-commit
69
- idna==3.7
65
+ idna==3.8
70
66
  # via
71
67
  # email-validator
72
68
  # requests
73
69
  ijson==3.3.0
74
70
  # via hdx-python-utilities
75
- inflect==7.3.1
71
+ inflect==7.4.0
76
72
  # via quantulum3
77
73
  iniconfig==2.0.0
78
74
  # via pytest
@@ -106,10 +102,8 @@ markupsafe==2.1.5
106
102
  # via jinja2
107
103
  mdurl==0.1.2
108
104
  # via markdown-it-py
109
- more-itertools==10.3.0
105
+ more-itertools==10.5.0
110
106
  # via inflect
111
- ndg-httpsclient==0.5.1
112
- # via hdx-python-api (pyproject.toml)
113
107
  nodeenv==1.9.1
114
108
  # via pre-commit
115
109
  num2words==0.5.13
@@ -122,7 +116,7 @@ packaging==24.1
122
116
  # via pytest
123
117
  petl==1.7.15
124
118
  # via frictionless
125
- platformdirs==4.2.2
119
+ platformdirs==4.3.2
126
120
  # via virtualenv
127
121
  pluggy==1.5.0
128
122
  # via pytest
@@ -132,28 +126,20 @@ ply==3.11
132
126
  # libhxl
133
127
  pockets==0.9.1
134
128
  # via sphinxcontrib-napoleon
135
- pre-commit==3.7.1
129
+ pre-commit==3.8.0
136
130
  # via hdx-python-api (pyproject.toml)
137
131
  pyasn1==0.6.0
138
132
  # via
139
- # hdx-python-api (pyproject.toml)
140
- # ndg-httpsclient
141
133
  # pyasn1-modules
142
134
  # rsa
143
135
  pyasn1-modules==0.4.0
144
136
  # via google-auth
145
- pycparser==2.22
146
- # via cffi
147
- pydantic==2.8.2
137
+ pydantic==2.9.1
148
138
  # via frictionless
149
- pydantic-core==2.20.1
139
+ pydantic-core==2.23.3
150
140
  # via pydantic
151
141
  pygments==2.18.0
152
142
  # via rich
153
- pyopenssl==24.2.1
154
- # via
155
- # hdx-python-api (pyproject.toml)
156
- # ndg-httpsclient
157
143
  pyphonetics==0.5.3
158
144
  # via hdx-python-country
159
145
  pytest==8.3.2
@@ -173,7 +159,7 @@ python-slugify==8.0.4
173
159
  # via
174
160
  # ckanapi
175
161
  # frictionless
176
- pyyaml==6.0.1
162
+ pyyaml==6.0.2
177
163
  # via
178
164
  # frictionless
179
165
  # pre-commit
@@ -200,9 +186,9 @@ requests-oauthlib==2.0.0
200
186
  # via google-auth-oauthlib
201
187
  rfc3986==2.0.0
202
188
  # via frictionless
203
- rich==13.7.1
189
+ rich==13.8.0
204
190
  # via typer
205
- rpds-py==0.19.1
191
+ rpds-py==0.20.0
206
192
  # via
207
193
  # jsonschema
208
194
  # referencing
@@ -212,13 +198,13 @@ ruamel-yaml==0.18.6
212
198
  # via hdx-python-utilities
213
199
  ruamel-yaml-clib==0.2.8
214
200
  # via ruamel-yaml
215
- setuptools==71.1.0
201
+ setuptools==74.1.2
216
202
  # via ckanapi
217
203
  shellingham==1.5.4
218
204
  # via typer
219
205
  simpleeval==0.9.13
220
206
  # via frictionless
221
- simplejson==3.19.2
207
+ simplejson==3.19.3
222
208
  # via ckanapi
223
209
  six==1.16.0
224
210
  # via
@@ -241,7 +227,7 @@ text-unidecode==1.3
241
227
  # via python-slugify
242
228
  typeguard==4.3.0
243
229
  # via inflect
244
- typer==0.12.3
230
+ typer==0.12.5
245
231
  # via frictionless
246
232
  typing-extensions==4.12.2
247
233
  # via
@@ -258,16 +244,18 @@ urllib3==2.2.2
258
244
  # via
259
245
  # libhxl
260
246
  # requests
261
- validators==0.33.0
247
+ validators==0.34.0
262
248
  # via frictionless
263
- virtualenv==20.26.3
249
+ virtualenv==20.26.4
264
250
  # via pre-commit
265
- wheel==0.43.0
251
+ wheel==0.44.0
266
252
  # via libhxl
267
253
  xlrd==2.0.1
268
254
  # via hdx-python-utilities
269
255
  xlrd3==1.1.0
270
256
  # via libhxl
257
+ xlsx2csv==0.8.3
258
+ # via hdx-python-utilities
271
259
  xlsxwriter==3.2.0
272
260
  # via tableschema-to-template
273
261
  xlwt==1.3.0
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '6.3.2'
16
- __version_tuple__ = version_tuple = (6, 3, 2)
15
+ __version__ = version = '6.3.4'
16
+ __version_tuple__ = version_tuple = (6, 3, 4)
@@ -935,7 +935,8 @@ class Dataset(HDXObject):
935
935
  resources_to_delete = list(reversed(resources_to_delete))
936
936
  if match_resource_order:
937
937
  new_resource_order = [
938
- (x["name"], x["format"]) for x in resources_metadata_to_update
938
+ (x["name"], x["format"].lower())
939
+ for x in resources_metadata_to_update
939
940
  ]
940
941
  else:
941
942
  new_resource_order = None
@@ -15,6 +15,7 @@ import pytest
15
15
  from gspread.urls import DRIVE_FILES_API_V3_URL
16
16
 
17
17
  from hdx.api.configuration import Configuration
18
+ from hdx.api.locations import Locations
18
19
  from hdx.data.dataset import Dataset
19
20
  from hdx.data.resource import Resource
20
21
  from hdx.data.vocabulary import Vocabulary
@@ -33,6 +34,7 @@ class TestCKAN:
33
34
  user_agent="test",
34
35
  hdx_key=hdx_key,
35
36
  )
37
+ Locations._validlocations = None
36
38
  Country.countriesdata(use_live=False)
37
39
 
38
40
  @pytest.fixture(scope="function")
@@ -74,23 +76,26 @@ class TestCKAN:
74
76
 
75
77
  @pytest.fixture(scope="function")
76
78
  def setup_teardown_folder(self, configuration, gclient, params):
77
- payload = {
78
- "name": "hdx_python_api_test_tmp",
79
- "mimeType": "application/vnd.google-apps.folder",
80
- "parents": ["1dvx0H0RG5ZfM9QL148uymWpbuxAqmOzD"],
81
- }
82
- r = gclient.http_client.request(
83
- "post", DRIVE_FILES_API_V3_URL, json=payload, params=params
84
- )
85
- folderid = r.json()["id"]
86
- yield gclient, folderid
87
-
88
- payload = {"trashed": True}
89
- url = f"{DRIVE_FILES_API_V3_URL}/{folderid}"
90
- gclient.http_client.request("patch", url, json=payload, params=params)
91
- Vocabulary._approved_vocabulary = None
92
- Vocabulary._tags_dict = None
93
- Configuration.delete()
79
+ try:
80
+ payload = {
81
+ "name": "hdx_python_api_test_tmp",
82
+ "mimeType": "application/vnd.google-apps.folder",
83
+ "parents": ["1dvx0H0RG5ZfM9QL148uymWpbuxAqmOzD"],
84
+ }
85
+ r = gclient.http_client.request(
86
+ "post", DRIVE_FILES_API_V3_URL, json=payload, params=params
87
+ )
88
+ folderid = r.json()["id"]
89
+ yield gclient, folderid
90
+ finally:
91
+ payload = {"trashed": True}
92
+ url = f"{DRIVE_FILES_API_V3_URL}/{folderid}"
93
+ gclient.http_client.request(
94
+ "patch", url, json=payload, params=params
95
+ )
96
+ Vocabulary._approved_vocabulary = None
97
+ Vocabulary._tags_dict = None
98
+ Configuration.delete()
94
99
 
95
100
  def test_create_dataset(
96
101
  self,
@@ -81,7 +81,7 @@ class TestHDXLocations:
81
81
  == "St. Helena"
82
82
  )
83
83
  Configuration.setup(MyConfiguration())
84
- Locations.set_validlocations(None)
84
+ Locations._validlocations = None
85
85
  assert Locations.get_HDX_code_from_location("zaf") == "ZAF"
86
86
  assert Locations.get_HDX_code_from_location_partial("zaf") == (
87
87
  "ZAF",
File without changes
File without changes