hdx-python-scraper 2.6.3__tar.gz → 2.6.5__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 (151) hide show
  1. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/.github/workflows/publish.yaml +9 -6
  2. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/.github/workflows/run-python-tests.yaml +5 -1
  3. hdx_python_scraper-2.6.3/.config/pre-commit-config.yaml → hdx_python_scraper-2.6.5/.pre-commit-config.yaml +4 -5
  4. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/PKG-INFO +8 -5
  5. hdx_python_scraper-2.6.5/documentation/.readthedocs.yaml +14 -0
  6. hdx_python_scraper-2.6.5/documentation/mkdocs.yaml +19 -0
  7. hdx_python_scraper-2.6.5/hatch.toml +37 -0
  8. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/pyproject.toml +6 -54
  9. {hdx_python_scraper-2.6.3/.config → hdx_python_scraper-2.6.5}/pytest.ini +1 -1
  10. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/requirements.txt +118 -59
  11. {hdx_python_scraper-2.6.3/.config → hdx_python_scraper-2.6.5}/ruff.toml +0 -1
  12. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/_version.py +9 -4
  13. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/base_scraper.py +5 -14
  14. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/outputs/googlesheets.py +1 -3
  15. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/outputs/json.py +2 -4
  16. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/runner.py +18 -50
  17. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/aggregator.py +3 -9
  18. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/configurable_scraper.py +10 -35
  19. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/rowparser.py +3 -9
  20. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/timeseries.py +1 -3
  21. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/hapi_admins.py +3 -9
  22. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/lookup.py +2 -6
  23. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/reader.py +17 -39
  24. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/sector_configuration.yaml +1 -0
  25. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/sources.py +3 -9
  26. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/writer.py +1 -3
  27. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/conftest.py +5 -7
  28. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/custom/affected_targeted_reached.py +3 -9
  29. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/custom/education_closures.py +2 -6
  30. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/custom/education_enrolment.py +1 -3
  31. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/custom/test_custom.py +14 -42
  32. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/outputs/test_output.py +4 -12
  33. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_aggregation.py +2 -6
  34. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_appenddata.py +14 -26
  35. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_global.py +4 -12
  36. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_national.py +5 -15
  37. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_regionaltoplevel.py +3 -9
  38. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_subnational.py +3 -9
  39. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/unhcr_myanmar_idps.py +1 -3
  40. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/test_runner.py +3 -9
  41. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_hapi_admins.py +2 -6
  42. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_lookup.py +1 -3
  43. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_readers.py +12 -36
  44. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_sources.py +3 -9
  45. hdx_python_scraper-2.6.3/documentation/.readthedocs.yaml +0 -16
  46. hdx_python_scraper-2.6.3/documentation/pydoc-markdown.yaml +0 -38
  47. /hdx_python_scraper-2.6.3/.config/coveragerc → /hdx_python_scraper-2.6.5/.coveragerc +0 -0
  48. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/.gitignore +0 -0
  49. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/CONTRIBUTING.md +0 -0
  50. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/LICENSE +0 -0
  51. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/README.md +0 -0
  52. /hdx_python_scraper-2.6.3/documentation/main.md → /hdx_python_scraper-2.6.5/documentation/index.md +0 -0
  53. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/__init__.py +0 -0
  54. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/outputs/__init__.py +0 -0
  55. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/outputs/base.py +0 -0
  56. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/outputs/excelfile.py +0 -0
  57. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/__init__.py +0 -0
  58. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/scrapers/resource_downloader.py +0 -0
  59. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/__init__.py +0 -0
  60. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/fallbacks.py +0 -0
  61. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/org_type.py +0 -0
  62. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/org_type_configuration.yaml +0 -0
  63. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/region_lookup.py +0 -0
  64. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/src/hdx/scraper/framework/utilities/sector.py +0 -0
  65. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/config/project_configuration.yaml +0 -0
  66. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/access_2pacx-1vrszjzuyvt9i-mkrq2hbxrul2lx2vihkthqm-lae8nyhqty70zqtcufs3pxbhzgat1l2bkoa4-daoap-pub-gid-574237756-single-true-output-csv.csv +0 -0
  67. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/additional-json.json +0 -0
  68. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/altworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
  69. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
  70. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cbpf-allocations-and-contributions.json +0 -0
  71. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cbpf2-allocations-and-contributions.json +0 -0
  72. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cerf-covid-19-allocations.json +0 -0
  73. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cerf2-covid-19-allocations.json +0 -0
  74. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cerf2_global_download-full-pfmb-allocations.csv +0 -0
  75. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/cerf_global_download-full-pfmb-allocations.csv +0 -0
  76. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/covax_2pacx-1vtvzu79pptfaa2syevoqfyrrjy63djwitqu0ffbxiqczoun9k9timwmrvfgg1rbsnlmgyugzseiaye2-pub-gid-992438980-single-true-output-csv.csv +0 -0
  77. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/covidtests_data-owid-covid-data.xlsx +0 -0
  78. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/download-global-pcode-lengths.csv +0 -0
  79. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/download-global-pcodes-adm-1-2.csv +0 -0
  80. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/education_closures_broken.xls +0 -0
  81. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/education_closures_school_closures.csv +0 -0
  82. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/education_enrolment_enrollment_data.xlsx +0 -0
  83. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ethiopia-drought-related-key-figures.json +0 -0
  84. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ethiopia-pin-targeted-reached-by-location-and-cluster.json +0 -0
  85. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ethiopia_drought_affected_targeted_reached_by_cluster.csv +0 -0
  86. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/fallbacks.json +0 -0
  87. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/gam_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
  88. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/gam_other_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
  89. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/global-coordination-groups-beta.json +0 -0
  90. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/global-school-closures-covid19.json +0 -0
  91. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/hno_2017_sahel_nutrition.csv +0 -0
  92. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/hno_2017_sahel_people_in_need.xlsx +0 -0
  93. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/idmc-internally-displaced-persons-idps.json +0 -0
  94. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/idps_download-displacement-data.csv +0 -0
  95. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/idps_override_population-widget-id-264111-geo-id-693-population-group-54074999.json +0 -0
  96. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/idps_somalia_som_unhcr_prmn_displacement_dataset.xlsx +0 -0
  97. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ipc_somalia_som_food_insecurity_oct_dec2022_projection.csv +0 -0
  98. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/kenya-drought-related-key-figures.json +0 -0
  99. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/kenya-pin-targeted-reached-by-location-and-cluster.json +0 -0
  100. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/kenya_drought_affected_targeted_reached_by_cluster.csv +0 -0
  101. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
  102. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
  103. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
  104. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_eth_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
  105. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_ken_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
  106. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/key_figures_som_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
  107. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/org_type_organization_types_beta_csv.csv +0 -0
  108. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/organization-types-beta.json +0 -0
  109. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ourworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
  110. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ourworldindata_other_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
  111. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv +0 -0
  112. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/oxford-covid-19-government-response-tracker.json +0 -0
  113. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/population.json +0 -0
  114. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/population_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
  115. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/population_other_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
  116. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/regions_tbl_regcov_2020_ocha.xlsx +0 -0
  117. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/resource_downloader_xlsx_ukr_border_crossings_090622.xlsx +0 -0
  118. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/sadd-countries-to-include.csv +0 -0
  119. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/sadd_covid-data-dataset-fullvars-extype-csv.csv +0 -0
  120. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/sahel-humanitarian-needs-overview.json +0 -0
  121. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/sahel-humanitarian-needs-overview_prefix.json +0 -0
  122. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/sector_global_coordination_groups_beta_csv.csv +0 -0
  123. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/somalia-acute-food-insecurity-country-data.json +0 -0
  124. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/somalia-drought-related-key-figures.json +0 -0
  125. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/somalia-internally-displaced-persons-idps.json +0 -0
  126. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/somalia-pin-targeted-reached-by-location-and-cluster.json +0 -0
  127. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/somalia_drought_affected_targeted_reached_by_cluster.csv +0 -0
  128. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/timeseries_casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
  129. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/total-covid-19-tests-performed-by-country.json +0 -0
  130. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ukraine-border-crossings.json +0 -0
  131. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/ukraine-who-does-what-where-3w.json +0 -0
  132. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/unocha-office-locations.json +0 -0
  133. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/who_national2_who-covid-19-global-data.csv +0 -0
  134. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/who_national3_who-covid-19-global-data.csv +0 -0
  135. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/who_national_who-covid-19-global-data.csv +0 -0
  136. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/whowhatwhere_afg_3w_data.csv +0 -0
  137. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/input/whowhatwhere_notags_3w_data.csv +0 -0
  138. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/test_output.xlsx +0 -0
  139. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/test_scraper_all.json +0 -0
  140. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/test_scraper_other.json +0 -0
  141. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/fixtures/test_scraper_population.json +0 -0
  142. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/__init__.py +0 -0
  143. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/custom/__init__.py +0 -0
  144. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/outputs/__init__.py +0 -0
  145. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/__init__.py +0 -0
  146. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_multipleurls.py +0 -0
  147. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_resource_downloaders.py +0 -0
  148. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/scrapers/test_timeseries.py +0 -0
  149. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/__init__.py +0 -0
  150. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_regionlookup.py +0 -0
  151. {hdx_python_scraper-2.6.3 → hdx_python_scraper-2.6.5}/tests/hdx/scraper/framework/utilities/test_utils.py +0 -0
@@ -8,6 +8,13 @@ jobs:
8
8
  publish:
9
9
  runs-on: ubuntu-latest
10
10
 
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/p/hdx-python-scraper
14
+
15
+ permissions:
16
+ id-token: write # IMPORTANT: mandatory for trusted publishing
17
+
11
18
  steps:
12
19
  - uses: actions/checkout@v4
13
20
  - name: Get history and tags for versioning to work
@@ -26,9 +33,5 @@ jobs:
26
33
  - name: Build with hatch
27
34
  run: |
28
35
  hatch build
29
- - name: Publish with hatch
30
- env:
31
- HATCH_INDEX_USER: ${{secrets.HATCH_INDEX_USER}}
32
- HATCH_INDEX_AUTH: ${{secrets.HATCH_INDEX_AUTH}}
33
- run: |
34
- hatch publish
36
+ - name: Publish distribution 📦 to PyPI
37
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -17,6 +17,10 @@ jobs:
17
17
  build:
18
18
  runs-on: ubuntu-latest
19
19
 
20
+ permissions:
21
+ checks: write
22
+ pull-requests: write
23
+
20
24
  steps:
21
25
  - uses: actions/checkout@v4
22
26
  - name: Set up Python
@@ -30,7 +34,7 @@ jobs:
30
34
  uses: pypa/hatch@install
31
35
  - name: Test with hatch/pytest
32
36
  env:
33
- GSHEET_AUTH: ${{ secrets.GSHEET_AUTH }}
37
+ GSHEET_AUTH: ${{ secrets.HDX_PIPELINE_GSHEET_AUTH }}
34
38
  run: |
35
39
  hatch test
36
40
  - name: Check styling
@@ -1,5 +1,5 @@
1
1
  default_language_version:
2
- python: python3.12
2
+ python: python3.13
3
3
  repos:
4
4
  - repo: https://github.com/pre-commit/pre-commit-hooks
5
5
  rev: v5.0.0
@@ -9,16 +9,15 @@ 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.9.6
12
+ rev: v0.9.10
13
13
  hooks:
14
14
  # Run the linter.
15
15
  - id: ruff
16
- args: [--config, .config/ruff.toml, --fix]
16
+ args: [ --fix ]
17
17
  # Run the formatter.
18
18
  - id: ruff-format
19
- args: [--config, .config/ruff.toml]
20
19
  - repo: https://github.com/astral-sh/uv-pre-commit
21
- rev: 0.5.29
20
+ rev: 0.6.5
22
21
  hooks:
23
22
  # Run the pip compile
24
23
  - id: pip-compile
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hdx-python-scraper
3
- Version: 2.6.3
3
+ Version: 2.6.5
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,15 +26,18 @@ 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.8
30
- Requires-Dist: hdx-python-country>=3.8.8
31
- Requires-Dist: hdx-python-utilities>=3.8.3
29
+ Requires-Dist: hdx-python-api>=6.4.0
30
+ Requires-Dist: hdx-python-country>=3.9.4
31
+ Requires-Dist: hdx-python-utilities>=3.8.7
32
32
  Requires-Dist: regex
33
33
  Provides-Extra: dev
34
34
  Requires-Dist: pre-commit; extra == 'dev'
35
+ Provides-Extra: docs
36
+ Requires-Dist: mkapi; extra == 'docs'
35
37
  Provides-Extra: pandas
36
- Requires-Dist: pandas>=2.2.2; extra == 'pandas'
38
+ Requires-Dist: pandas>=2.2.3; extra == 'pandas'
37
39
  Provides-Extra: test
40
+ Requires-Dist: pandas>=2.2.3; extra == 'test'
38
41
  Requires-Dist: pytest; extra == 'test'
39
42
  Requires-Dist: pytest-cov; extra == 'test'
40
43
  Description-Content-Type: text/markdown
@@ -0,0 +1,14 @@
1
+ # Required
2
+ version: 2
3
+
4
+ # Set the version of Python and other tools you might need
5
+ build:
6
+ os: ubuntu-24.04
7
+ tools:
8
+ python: "3.12"
9
+ jobs:
10
+ pre_build:
11
+ - pip install .[docs]
12
+
13
+ mkdocs:
14
+ configuration: documentation/mkdocs.yaml
@@ -0,0 +1,19 @@
1
+ site_name: HDX Python Scraper
2
+ repo_url: https://github.com/OCHA-DAP/hdx-python-scraper/
3
+ repo_name: OCHA-DAP/hdx-python-scraper
4
+ docs_dir: .
5
+ site_dir: ../site
6
+ theme:
7
+ name: material
8
+ highlightjs: true
9
+ plugins:
10
+ - search
11
+ - mkapi
12
+ nav:
13
+ - Home: index.md
14
+ - API Documentation:
15
+ - Runner: $src/hdx.scraper.framework.runner.Runner.*
16
+ - Scraper Base Class: $src/hdx.scraper.framework.base_scraper.BaseScraper.*
17
+ - Scrapers: $src/hdx.scraper.framework.scrapers.*
18
+ - Outputs: $src/hdx.scraper.framework.outputs.*
19
+ - Utilities: $src/hdx.scraper.framework.utilities.*
@@ -0,0 +1,37 @@
1
+ # Build
2
+
3
+ [build.targets.wheel]
4
+ packages = ["src/hdx"]
5
+
6
+ [build.hooks.vcs]
7
+ version-file = "src/hdx/scraper/framework/_version.py"
8
+
9
+ [metadata]
10
+ allow-direct-references = true
11
+
12
+ # Versioning
13
+
14
+ [version]
15
+ source = "vcs"
16
+
17
+ [version.raw-options]
18
+ local_scheme = "no-local-version"
19
+ version_scheme = "python-simplified-semver"
20
+
21
+ # Tests
22
+
23
+ [envs.hatch-test]
24
+ features = ["test"]
25
+
26
+ [[envs.hatch-test.matrix]]
27
+ python = ["3.13"]
28
+
29
+ [envs.hatch-test.scripts]
30
+ run = """
31
+ pytest --rootdir=. --junitxml=test-results.xml --cov --no-cov-on-fail \
32
+ --cov-report=lcov --cov-report=term-missing
33
+ """
34
+
35
+ [envs.hatch-static-analysis]
36
+ config-path = "none"
37
+ dependencies = ["ruff==0.9.10"]
@@ -34,9 +34,9 @@ classifiers = [
34
34
  requires-python = ">=3.8"
35
35
 
36
36
  dependencies = [
37
- "hdx-python-api>=6.3.8",
38
- "hdx-python-country>=3.8.8",
39
- "hdx-python-utilities>=3.8.3",
37
+ "hdx-python-api>=6.4.0",
38
+ "hdx-python-country>=3.9.4",
39
+ "hdx-python-utilities>=3.8.7",
40
40
  "gspread",
41
41
  "regex",
42
42
  ]
@@ -50,55 +50,7 @@ content-type = "text/markdown"
50
50
  Homepage = "https://github.com/OCHA-DAP/hdx-python-scraper"
51
51
 
52
52
  [project.optional-dependencies]
53
- pandas = ["pandas>=2.2.2"]
54
- test = ["pytest", "pytest-cov"]
53
+ pandas = ["pandas>=2.2.3"]
54
+ test = ["pandas>=2.2.3", "pytest", "pytest-cov"]
55
55
  dev = ["pre-commit"]
56
-
57
-
58
- #########
59
- # Hatch #
60
- #########
61
-
62
- # Build
63
-
64
- [tool.hatch.build.targets.wheel]
65
- packages = ["src/hdx"]
66
-
67
- [tool.hatch.build.hooks.vcs]
68
- version-file = "src/hdx/scraper/framework/_version.py"
69
-
70
- [tool.hatch.metadata]
71
- allow-direct-references = true
72
-
73
- # Versioning
74
-
75
- [tool.hatch.version]
76
- source = "vcs"
77
-
78
- [tool.hatch.version.raw-options]
79
- local_scheme = "no-local-version"
80
- version_scheme = "python-simplified-semver"
81
-
82
- # Tests
83
-
84
- [tool.hatch.envs.hatch-test]
85
- features = ["pandas", "test"]
86
-
87
- [[tool.hatch.envs.hatch-test.matrix]]
88
- python = ["3.12"]
89
-
90
- [tool.hatch.envs.hatch-test.scripts]
91
- run = """
92
- pytest -c .config/pytest.ini --rootdir=. --junitxml=test-results.xml \
93
- --cov --cov-config=.config/coveragerc --no-cov-on-fail \
94
- --cov-report=lcov --cov-report=term-missing
95
- """
96
-
97
- [tool.hatch.envs.hatch-static-analysis]
98
- dependencies = ["ruff==0.9.6"]
99
-
100
- [tool.hatch.envs.hatch-static-analysis.scripts]
101
- format-check = ["ruff format --config .config/ruff.toml --check --diff {args:.}",]
102
- format-fix = ["ruff format --config .config/ruff.toml {args:.}",]
103
- lint-check = ["ruff check --config .config/ruff.toml {args:.}",]
104
- lint-fix = ["ruff check --config .config/ruff.toml --fix {args:.}",]
56
+ docs = ["mkapi"]
@@ -1,4 +1,4 @@
1
1
  [pytest]
2
- pythonpath = ../src
2
+ pythonpath = src
3
3
  addopts = "--color=yes"
4
4
  log_cli = 1
@@ -2,27 +2,37 @@
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==25.1.0
5
+ astdoc==1.2.1
6
+ # via mkapi
7
+ attrs==25.3.0
6
8
  # via
7
9
  # frictionless
8
10
  # jsonlines
9
11
  # jsonschema
10
12
  # referencing
11
- cachetools==5.5.1
13
+ babel==2.17.0
14
+ # via mkdocs-material
15
+ backrefs==5.8
16
+ # via mkdocs-material
17
+ cachetools==5.5.2
12
18
  # via google-auth
13
- certifi==2025.1.31
19
+ certifi==2025.4.26
14
20
  # via requests
15
21
  cfgv==3.4.0
16
22
  # via pre-commit
17
23
  chardet==5.2.0
18
24
  # via frictionless
19
- charset-normalizer==3.4.1
25
+ charset-normalizer==3.4.2
20
26
  # via requests
21
27
  ckanapi==4.8
22
28
  # via hdx-python-api
23
29
  click==8.1.8
24
- # via typer
25
- coverage==7.6.12
30
+ # via
31
+ # mkdocs
32
+ # typer
33
+ colorama==0.4.6
34
+ # via mkdocs-material
35
+ coverage==7.8.0
26
36
  # via pytest-cov
27
37
  defopt==6.4.0
28
38
  # via hdx-python-api
@@ -40,47 +50,53 @@ email-validator==2.2.0
40
50
  # via hdx-python-api
41
51
  et-xmlfile==2.0.0
42
52
  # via openpyxl
43
- filelock==3.17.0
53
+ filelock==3.18.0
44
54
  # via virtualenv
45
- frictionless==5.18.0
55
+ frictionless==5.18.1
46
56
  # via hdx-python-utilities
47
- google-auth==2.38.0
57
+ ghp-import==2.1.0
58
+ # via mkdocs
59
+ google-auth==2.40.1
48
60
  # via
49
61
  # google-auth-oauthlib
50
62
  # gspread
51
- google-auth-oauthlib==1.2.1
63
+ google-auth-oauthlib==1.2.2
52
64
  # via gspread
53
- gspread==6.1.4
65
+ gspread==6.2.1
54
66
  # via hdx-python-scraper (pyproject.toml)
55
- hdx-python-api==6.3.8
67
+ hdx-python-api==6.4.0
56
68
  # via hdx-python-scraper (pyproject.toml)
57
- hdx-python-country==3.8.8
69
+ hdx-python-country==3.9.4
58
70
  # via
59
71
  # hdx-python-scraper (pyproject.toml)
60
72
  # hdx-python-api
61
- hdx-python-utilities==3.8.3
73
+ hdx-python-utilities==3.8.7
62
74
  # via
63
75
  # hdx-python-scraper (pyproject.toml)
64
76
  # hdx-python-api
65
77
  # hdx-python-country
66
- humanize==4.12.0
78
+ humanize==4.12.3
67
79
  # via frictionless
68
- identify==2.6.7
80
+ identify==2.6.10
69
81
  # via pre-commit
70
82
  idna==3.10
71
83
  # via
72
84
  # email-validator
73
85
  # requests
74
- ijson==3.3.0
86
+ ijson==3.4.0
75
87
  # via hdx-python-utilities
76
88
  inflect==7.5.0
77
89
  # via quantulum3
78
- iniconfig==2.0.0
90
+ iniconfig==2.1.0
79
91
  # via pytest
80
92
  isodate==0.7.2
81
93
  # via frictionless
82
- jinja2==3.1.5
83
- # via frictionless
94
+ jinja2==3.1.6
95
+ # via
96
+ # frictionless
97
+ # mkapi
98
+ # mkdocs
99
+ # mkdocs-material
84
100
  jsonlines==4.0.0
85
101
  # via hdx-python-utilities
86
102
  jsonpath-ng==1.7.0
@@ -89,7 +105,7 @@ jsonschema==4.23.0
89
105
  # via
90
106
  # frictionless
91
107
  # tableschema-to-template
92
- jsonschema-specifications==2024.10.1
108
+ jsonschema-specifications==2025.4.1
93
109
  # via jsonschema
94
110
  libhxl==5.2.2
95
111
  # via
@@ -97,37 +113,68 @@ libhxl==5.2.2
97
113
  # hdx-python-country
98
114
  loguru==0.7.3
99
115
  # via hdx-python-utilities
100
- makefun==1.15.6
116
+ makefun==1.16.0
101
117
  # via hdx-python-api
118
+ markdown==3.8
119
+ # via
120
+ # mkdocs
121
+ # mkdocs-material
122
+ # pymdown-extensions
102
123
  markdown-it-py==3.0.0
103
124
  # via rich
104
- marko==2.1.2
125
+ marko==2.1.3
105
126
  # via frictionless
106
127
  markupsafe==3.0.2
107
- # via jinja2
128
+ # via
129
+ # jinja2
130
+ # mkdocs
108
131
  mdurl==0.1.2
109
132
  # via markdown-it-py
110
- more-itertools==10.6.0
133
+ mergedeep==1.3.4
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
111
150
  # via inflect
112
151
  nodeenv==1.9.1
113
152
  # via pre-commit
114
153
  num2words==0.5.14
115
154
  # via quantulum3
116
- numpy==2.2.3
155
+ numpy==2.2.6
117
156
  # via pandas
118
157
  oauthlib==3.2.2
119
158
  # via requests-oauthlib
120
159
  openpyxl==3.1.5
121
160
  # via hdx-python-utilities
122
- packaging==24.2
123
- # via pytest
161
+ packaging==25.0
162
+ # via
163
+ # mkdocs
164
+ # pytest
165
+ paginate==0.5.7
166
+ # via mkdocs-material
124
167
  pandas==2.2.3
125
168
  # via hdx-python-scraper (pyproject.toml)
126
- petl==1.7.15
169
+ pathspec==0.12.1
170
+ # via mkdocs
171
+ petl==1.7.16
127
172
  # via frictionless
128
- platformdirs==4.3.6
129
- # via virtualenv
130
- pluggy==1.5.0
173
+ platformdirs==4.3.8
174
+ # via
175
+ # mkdocs-get-deps
176
+ # virtualenv
177
+ pluggy==1.6.0
131
178
  # via pytest
132
179
  ply==3.11
133
180
  # via
@@ -135,31 +182,36 @@ ply==3.11
135
182
  # libhxl
136
183
  pockets==0.9.1
137
184
  # via sphinxcontrib-napoleon
138
- pre-commit==4.1.0
185
+ pre-commit==4.2.0
139
186
  # via hdx-python-scraper (pyproject.toml)
140
187
  pyasn1==0.6.1
141
188
  # via
142
189
  # pyasn1-modules
143
190
  # rsa
144
- pyasn1-modules==0.4.1
191
+ pyasn1-modules==0.4.2
145
192
  # via google-auth
146
- pydantic==2.10.6
193
+ pydantic==2.11.4
147
194
  # via frictionless
148
- pydantic-core==2.27.2
195
+ pydantic-core==2.33.2
149
196
  # via pydantic
150
197
  pygments==2.19.1
151
- # via rich
198
+ # via
199
+ # mkdocs-material
200
+ # rich
201
+ pymdown-extensions==10.15
202
+ # via mkdocs-material
152
203
  pyphonetics==0.5.3
153
204
  # via hdx-python-utilities
154
- pytest==8.3.4
205
+ pytest==8.3.5
155
206
  # via
156
207
  # hdx-python-scraper (pyproject.toml)
157
208
  # pytest-cov
158
- pytest-cov==6.0.0
209
+ pytest-cov==6.1.1
159
210
  # via hdx-python-scraper (pyproject.toml)
160
211
  python-dateutil==2.9.0.post0
161
212
  # via
162
213
  # frictionless
214
+ # ghp-import
163
215
  # hdx-python-utilities
164
216
  # libhxl
165
217
  # pandas
@@ -169,13 +221,19 @@ python-slugify==8.0.4
169
221
  # via
170
222
  # ckanapi
171
223
  # frictionless
172
- pytz==2025.1
224
+ pytz==2025.2
173
225
  # via pandas
174
226
  pyyaml==6.0.2
175
227
  # via
176
228
  # frictionless
229
+ # mkdocs
230
+ # mkdocs-get-deps
177
231
  # pre-commit
232
+ # pymdown-extensions
233
+ # pyyaml-env-tag
178
234
  # tableschema-to-template
235
+ pyyaml-env-tag==1.1
236
+ # via mkdocs
179
237
  quantulum3==0.9.2
180
238
  # via hdx-python-api
181
239
  ratelimit==2.2.1
@@ -192,6 +250,7 @@ requests==2.32.3
192
250
  # frictionless
193
251
  # hdx-python-api
194
252
  # libhxl
253
+ # mkdocs-material
195
254
  # requests-file
196
255
  # requests-oauthlib
197
256
  requests-file==2.1.0
@@ -200,19 +259,17 @@ requests-oauthlib==2.0.0
200
259
  # via google-auth-oauthlib
201
260
  rfc3986==2.0.0
202
261
  # via frictionless
203
- rich==13.9.4
262
+ rich==14.0.0
204
263
  # via typer
205
- rpds-py==0.22.3
264
+ rpds-py==0.25.0
206
265
  # via
207
266
  # jsonschema
208
267
  # referencing
209
- rsa==4.9
268
+ rsa==4.9.1
210
269
  # via google-auth
211
270
  ruamel-yaml==0.18.10
212
271
  # via hdx-python-utilities
213
- ruamel-yaml-clib==0.2.12
214
- # via ruamel-yaml
215
- setuptools==75.8.0
272
+ setuptools==80.7.1
216
273
  # via ckanapi
217
274
  shellingham==1.5.4
218
275
  # via typer
@@ -228,44 +285,46 @@ six==1.17.0
228
285
  # sphinxcontrib-napoleon
229
286
  sphinxcontrib-napoleon==0.7
230
287
  # via defopt
231
- stringcase==1.2.0
232
- # via frictionless
233
- structlog==25.1.0
288
+ structlog==25.3.0
234
289
  # via libhxl
235
290
  tableschema-to-template==0.0.13
236
291
  # via hdx-python-utilities
237
292
  tabulate==0.9.0
238
293
  # via frictionless
239
- tenacity==9.0.0
294
+ tenacity==9.1.2
240
295
  # via hdx-python-country
241
296
  text-unidecode==1.3
242
297
  # via python-slugify
243
298
  typeguard==4.4.2
244
299
  # via inflect
245
- typer==0.15.1
300
+ typer==0.15.4
246
301
  # via frictionless
247
- typing-extensions==4.12.2
302
+ typing-extensions==4.13.2
248
303
  # via
249
304
  # frictionless
250
305
  # pydantic
251
306
  # pydantic-core
252
- # referencing
253
307
  # typeguard
254
308
  # typer
255
- tzdata==2025.1
309
+ # typing-inspection
310
+ typing-inspection==0.4.0
311
+ # via pydantic
312
+ tzdata==2025.2
256
313
  # via pandas
257
- unidecode==1.3.8
314
+ unidecode==1.4.0
258
315
  # via
259
316
  # libhxl
260
317
  # pyphonetics
261
- urllib3==2.3.0
318
+ urllib3==2.4.0
262
319
  # via
263
320
  # libhxl
264
321
  # requests
265
- validators==0.34.0
322
+ validators==0.35.0
266
323
  # via frictionless
267
- virtualenv==20.29.2
324
+ virtualenv==20.31.2
268
325
  # via pre-commit
326
+ watchdog==6.0.0
327
+ # via mkdocs
269
328
  wheel==0.45.1
270
329
  # via libhxl
271
330
  xlrd==2.0.1
@@ -274,7 +333,7 @@ xlrd3==1.1.0
274
333
  # via libhxl
275
334
  xlsx2csv==0.8.4
276
335
  # via hdx-python-utilities
277
- xlsxwriter==3.2.2
336
+ xlsxwriter==3.2.3
278
337
  # via tableschema-to-template
279
338
  xlwt==1.3.0
280
339
  # via hdx-python-utilities
@@ -1,4 +1,3 @@
1
- line-length = 79
2
1
  exclude = ["_version.py"]
3
2
 
4
3
  [lint]
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '2.6.3'
16
- __version_tuple__ = version_tuple = (2, 6, 3)
20
+ __version__ = version = '2.6.5'
21
+ __version_tuple__ = version_tuple = (2, 6, 5)