hatch-openzim 0.2.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 (41) hide show
  1. hatch_openzim-0.2.4/.gitignore +212 -0
  2. hatch_openzim-0.2.4/.pre-commit-config.yaml +27 -0
  3. hatch_openzim-0.2.4/CHANGELOG.md +51 -0
  4. hatch_openzim-0.2.4/LICENSE +674 -0
  5. hatch_openzim-0.2.4/PKG-INFO +314 -0
  6. hatch_openzim-0.2.4/README.md +271 -0
  7. hatch_openzim-0.2.4/pyproject.toml +243 -0
  8. hatch_openzim-0.2.4/src/hatch_openzim/__about__.py +1 -0
  9. hatch_openzim-0.2.4/src/hatch_openzim/__init__.py +0 -0
  10. hatch_openzim-0.2.4/src/hatch_openzim/build_hook.py +23 -0
  11. hatch_openzim-0.2.4/src/hatch_openzim/files_install.py +241 -0
  12. hatch_openzim-0.2.4/src/hatch_openzim/hooks.py +14 -0
  13. hatch_openzim-0.2.4/src/hatch_openzim/metadata.py +65 -0
  14. hatch_openzim-0.2.4/src/hatch_openzim/metadata_hook.py +23 -0
  15. hatch_openzim-0.2.4/src/hatch_openzim/shared.py +15 -0
  16. hatch_openzim-0.2.4/src/hatch_openzim/utils.py +84 -0
  17. hatch_openzim-0.2.4/tasks.py +109 -0
  18. hatch_openzim-0.2.4/tests/configs/empty.toml +0 -0
  19. hatch_openzim-0.2.4/tests/configs/execute_after_failure.toml +11 -0
  20. hatch_openzim-0.2.4/tests/configs/extract_all_missing_target_dir.toml +7 -0
  21. hatch_openzim-0.2.4/tests/configs/extract_items_length_not_matching.toml +9 -0
  22. hatch_openzim-0.2.4/tests/configs/extract_items_missing_target_paths.toml +8 -0
  23. hatch_openzim-0.2.4/tests/configs/extract_items_missing_zip_paths.toml +8 -0
  24. hatch_openzim-0.2.4/tests/configs/full.toml +68 -0
  25. hatch_openzim-0.2.4/tests/configs/get_file_missing_target_file.toml +7 -0
  26. hatch_openzim-0.2.4/tests/configs/gitconfig +11 -0
  27. hatch_openzim-0.2.4/tests/configs/missing_action.toml +8 -0
  28. hatch_openzim-0.2.4/tests/configs/missing_config.toml +5 -0
  29. hatch_openzim-0.2.4/tests/configs/missing_source.toml +8 -0
  30. hatch_openzim-0.2.4/tests/configs/missing_target_dir.toml +9 -0
  31. hatch_openzim-0.2.4/tests/configs/other_stuff.toml +2 -0
  32. hatch_openzim-0.2.4/tests/configs/unsupported_action.toml +7 -0
  33. hatch_openzim-0.2.4/tests/configs/unsupported_protocol_dl.toml +8 -0
  34. hatch_openzim-0.2.4/tests/configs/unsupported_protocol_zip.toml +8 -0
  35. hatch_openzim-0.2.4/tests/data/file1.txt +0 -0
  36. hatch_openzim-0.2.4/tests/data/testset1.zip +0 -0
  37. hatch_openzim-0.2.4/tests/data/testset2.zip +0 -0
  38. hatch_openzim-0.2.4/tests/test_basic.py +5 -0
  39. hatch_openzim-0.2.4/tests/test_files_install.py +222 -0
  40. hatch_openzim-0.2.4/tests/test_metadata.py +246 -0
  41. hatch_openzim-0.2.4/tests/test_utils.py +136 -0
@@ -0,0 +1,212 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/python,macos
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=python,macos
3
+
4
+ ### macOS ###
5
+ # General
6
+ .DS_Store
7
+ .AppleDouble
8
+ .LSOverride
9
+
10
+ # Icon must end with two \r
11
+ Icon
12
+
13
+
14
+ # Thumbnails
15
+ ._*
16
+
17
+ # Files that might appear in the root of a volume
18
+ .DocumentRevisions-V100
19
+ .fseventsd
20
+ .Spotlight-V100
21
+ .TemporaryItems
22
+ .Trashes
23
+ .VolumeIcon.icns
24
+ .com.apple.timemachine.donotpresent
25
+
26
+ # Directories potentially created on remote AFP share
27
+ .AppleDB
28
+ .AppleDesktop
29
+ Network Trash Folder
30
+ Temporary Items
31
+ .apdisk
32
+
33
+ ### macOS Patch ###
34
+ # iCloud generated files
35
+ *.icloud
36
+
37
+ ### Python ###
38
+ # Byte-compiled / optimized / DLL files
39
+ __pycache__/
40
+ *.py[cod]
41
+ *$py.class
42
+
43
+ # C extensions
44
+ *.so
45
+
46
+ # Distribution / packaging
47
+ .Python
48
+ build/
49
+ develop-eggs/
50
+ dist/
51
+ downloads/
52
+ eggs/
53
+ .eggs/
54
+ lib/
55
+ lib64/
56
+ parts/
57
+ sdist/
58
+ var/
59
+ wheels/
60
+ share/python-wheels/
61
+ *.egg-info/
62
+ .installed.cfg
63
+ *.egg
64
+ MANIFEST
65
+
66
+ # PyInstaller
67
+ # Usually these files are written by a python script from a template
68
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
69
+ *.manifest
70
+ *.spec
71
+
72
+ # Installer logs
73
+ pip-log.txt
74
+ pip-delete-this-directory.txt
75
+
76
+ # Unit test / coverage reports
77
+ htmlcov/
78
+ .tox/
79
+ .nox/
80
+ .coverage
81
+ .coverage.*
82
+ .cache
83
+ nosetests.xml
84
+ coverage.xml
85
+ *.cover
86
+ *.py,cover
87
+ .hypothesis/
88
+ .pytest_cache/
89
+ cover/
90
+
91
+ # Translations
92
+ *.mo
93
+ *.pot
94
+
95
+ # Django stuff:
96
+ *.log
97
+ local_settings.py
98
+ db.sqlite3
99
+ db.sqlite3-journal
100
+
101
+ # Flask stuff:
102
+ instance/
103
+ .webassets-cache
104
+
105
+ # Scrapy stuff:
106
+ .scrapy
107
+
108
+ # Sphinx documentation
109
+ docs/_build/
110
+
111
+ # PyBuilder
112
+ .pybuilder/
113
+ target/
114
+
115
+ # Jupyter Notebook
116
+ .ipynb_checkpoints
117
+
118
+ # IPython
119
+ profile_default/
120
+ ipython_config.py
121
+
122
+ # pyenv
123
+ # For a library or package, you might want to ignore these files since the code is
124
+ # intended to run in multiple environments; otherwise, check them in:
125
+ # .python-version
126
+
127
+ # pipenv
128
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
129
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
130
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
131
+ # install all needed dependencies.
132
+ #Pipfile.lock
133
+
134
+ # poetry
135
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
136
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
137
+ # commonly ignored for libraries.
138
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
139
+ #poetry.lock
140
+
141
+ # pdm
142
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
143
+ #pdm.lock
144
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
145
+ # in version control.
146
+ # https://pdm.fming.dev/#use-with-ide
147
+ .pdm.toml
148
+
149
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
150
+ __pypackages__/
151
+
152
+ # Celery stuff
153
+ celerybeat-schedule
154
+ celerybeat.pid
155
+
156
+ # SageMath parsed files
157
+ *.sage.py
158
+
159
+ # Environments
160
+ .env
161
+ .venv
162
+ env/
163
+ venv/
164
+ ENV/
165
+ env.bak/
166
+ venv.bak/
167
+
168
+ # Spyder project settings
169
+ .spyderproject
170
+ .spyproject
171
+
172
+ # Rope project settings
173
+ .ropeproject
174
+
175
+ # mkdocs documentation
176
+ /site
177
+
178
+ # mypy
179
+ .mypy_cache/
180
+ .dmypy.json
181
+ dmypy.json
182
+
183
+ # Pyre type checker
184
+ .pyre/
185
+
186
+ # pytype static type analyzer
187
+ .pytype/
188
+
189
+ # Cython debug symbols
190
+ cython_debug/
191
+
192
+ # PyCharm
193
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
194
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
195
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
196
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
197
+ #.idea/
198
+
199
+ ### Python Patch ###
200
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
201
+ poetry.toml
202
+
203
+ # ruff
204
+ .ruff_cache/
205
+
206
+ # LSP config files
207
+ pyrightconfig.json
208
+
209
+ # End of https://www.toptal.com/developers/gitignore/api/python,macos
210
+
211
+ # ignore all vscode, this is not standard configuration in this place
212
+ .vscode
@@ -0,0 +1,27 @@
1
+ # See https://pre-commit.com for more information
2
+ # See https://pre-commit.com/hooks.html for more hooks
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: trailing-whitespace
8
+ - id: end-of-file-fixer
9
+ - repo: https://github.com/psf/black
10
+ rev: "24.10.0"
11
+ hooks:
12
+ - id: black
13
+ - repo: https://github.com/astral-sh/ruff-pre-commit
14
+ rev: v0.9.1
15
+ hooks:
16
+ - id: ruff
17
+ - repo: https://github.com/RobertCraigie/pyright-python
18
+ rev: v1.1.392.post0
19
+ hooks:
20
+ - id: pyright
21
+ name: pyright (system)
22
+ description: 'pyright static type checker'
23
+ entry: pyright
24
+ language: system
25
+ 'types_or': [python, pyi]
26
+ require_serial: true
27
+ minimum_pre_commit_version: '2.9.2'
@@ -0,0 +1,51 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.2.4] - 2025-11-03
9
+
10
+ ## Changed
11
+
12
+ - Add support for Python 3.14, remove support for Python 3.9, upgrade dependencies (#24)
13
+
14
+ ## [0.2.3] - 2025-09-25
15
+
16
+ ### Fixed
17
+
18
+ - Widen dependencies ranges since this is used by many projects (#22)
19
+
20
+ ## [0.2.2] - 2025-01-20
21
+
22
+ ### Changed
23
+
24
+ - Add support for Python 3.13, remove support for Python 3.8 (#19)
25
+
26
+ ## [0.2.1] - 2024-05-06
27
+
28
+ ### Fixed
29
+
30
+ - Indentation of `execute_after` logs is too deep #15
31
+
32
+ ### Changed
33
+
34
+ - `execute_after` does not display detailled logs of stuff run #16
35
+
36
+ ## [0.2.0] - 2024-02-16
37
+
38
+ ### Added
39
+
40
+ - Metadata hook: add suport for additional-classifiers property #10
41
+
42
+ ### Fixed
43
+
44
+ - Build hook: fix issue with extract_items when target_path is in a subfolder #11
45
+ - Tests: ensure tests are also ok when ran from a fork or outside any Git structure #13
46
+
47
+ ## [0.1.0] - 2024-02-05
48
+
49
+ ### Added
50
+
51
+ - Initial release