grz-cli 0.1.3__tar.gz → 0.2.0__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 (38) hide show
  1. {grz_cli-0.1.3/src/grz_cli.egg-info → grz_cli-0.2.0}/PKG-INFO +3 -4
  2. {grz_cli-0.1.3 → grz_cli-0.2.0}/pyproject.toml +11 -3
  3. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/cli.py +3 -2
  4. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/download.py +1 -1
  5. {grz_cli-0.1.3/src/grz_cli/models/v1_0_0 → grz_cli-0.2.0/src/grz_cli/models/v1_1_1}/metadata.py +327 -156
  6. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/parser.py +9 -3
  7. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/progress_logging.py +1 -1
  8. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/upload.py +1 -1
  9. {grz_cli-0.1.3 → grz_cli-0.2.0/src/grz_cli.egg-info}/PKG-INFO +3 -4
  10. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli.egg-info/SOURCES.txt +2 -4
  11. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli.egg-info/requires.txt +1 -1
  12. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_cli.py +16 -16
  13. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_download.py +3 -3
  14. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_file_progress_logging.py +1 -1
  15. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_parser.py +10 -4
  16. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_upload.py +20 -20
  17. grz_cli-0.1.3/LICENSE +0 -21
  18. grz_cli-0.1.3/src/grz_cli/resources/grz-schema.json +0 -574
  19. {grz_cli-0.1.3 → grz_cli-0.2.0}/MANIFEST.in +0 -0
  20. {grz_cli-0.1.3 → grz_cli-0.2.0}/README.md +0 -0
  21. {grz_cli-0.1.3 → grz_cli-0.2.0}/setup.cfg +0 -0
  22. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/__init__.py +0 -0
  23. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/__init__.py +0 -0
  24. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/constants.py +0 -0
  25. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/fastq_validation.py +0 -0
  26. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/file_operations.py +0 -0
  27. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/logging_setup.py +0 -0
  28. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/models/__init__.py +0 -0
  29. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/models/config.py +0 -0
  30. {grz_cli-0.1.3/src/grz_cli/models/v1_0_0 → grz_cli-0.2.0/src/grz_cli/models/v1_1_1}/__init__.py +0 -0
  31. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/resources/thresholds.json +0 -0
  32. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli/states.py +0 -0
  33. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli.egg-info/dependency_links.txt +0 -0
  34. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli.egg-info/entry_points.txt +0 -0
  35. {grz_cli-0.1.3 → grz_cli-0.2.0}/src/grz_cli.egg-info/top_level.txt +0 -0
  36. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_fastq_validation.py +0 -0
  37. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_file_operations.py +0 -0
  38. {grz_cli-0.1.3 → grz_cli-0.2.0}/tests/test_read_multiple_json.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: grz-cli
3
- Version: 0.1.3
3
+ Version: 0.2.0
4
4
  Summary: Tool for validation, encryption and upload of MV submissions to GDCs.
5
5
  Author-email: Koray Kirli <koraykirli@gmail.com>, Mathias Lesche <mathias.lesche@tu-dresden.de>, "Florian R. Hölzlwimmer" <git.ich@frhoelzlwimmer.de>, Till Hartmann <till.hartmann@bih-charite.de>, Thomas Sell <thomas.sell@bih-charite.de>
6
6
  License: MIT
@@ -11,7 +11,6 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.12
13
13
  Description-Content-Type: text/markdown
14
- License-File: LICENSE
15
14
  Requires-Dist: boto3<2,>=1.35.39
16
15
  Requires-Dist: click<9,>=8.1.7
17
16
  Requires-Dist: crypt4gh<2,>=1.7
@@ -26,7 +25,7 @@ Requires-Dist: pytest-cov<6,>=5.0.0; extra == "test"
26
25
  Requires-Dist: pytest-mock<4,>=3.14.0; extra == "test"
27
26
  Requires-Dist: moto[s3]<6,>=5.0.16; extra == "test"
28
27
  Requires-Dist: pytest-sugar<2,>=1.0.0; extra == "test"
29
- Requires-Dist: ruff<1,>=0.8.1; extra == "test"
28
+ Requires-Dist: ruff<1,>=0.9.6; extra == "test"
30
29
  Requires-Dist: numpy<3,>=2.1.2; extra == "test"
31
30
 
32
31
  # GRZ CLI
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "grz-cli"
7
- version = "0.1.3"
7
+ version = "0.2.0"
8
8
  description = "Tool for validation, encryption and upload of MV submissions to GDCs."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -46,7 +46,7 @@ test = [
46
46
  "pytest-mock >=3.14.0,<4",
47
47
  "moto[s3] >=5.0.16,<6",
48
48
  "pytest-sugar >=1.0.0,<2",
49
- "ruff >=0.8.1,<1",
49
+ "ruff >=0.9.6,<1",
50
50
  "numpy >=2.1.2,<3"
51
51
  ]
52
52
 
@@ -154,21 +154,25 @@ allowlist_externals = ["pytest", "ruff"]
154
154
  isolated_build = true
155
155
 
156
156
  [tool.tox.env_run_base]
157
+ runner = "uv-venv-lock-runner"
157
158
  description = "run unit tests"
158
159
  dependency_groups = ["test"]
159
160
  commands = [["pytest", { replace = "posargs", default = ["tests"], extend = true }]]
160
161
 
161
162
  [tool.tox.env."format-check"]
163
+ runner = "uv-venv-lock-runner"
162
164
  skip_install = true
163
165
  dependency_groups = ["lint"]
164
166
  commands = [["ruff", "format", "--check"]]
165
167
 
166
168
  [tool.tox.env."lints"]
169
+ runner = "uv-venv-lock-runner"
167
170
  skip_install = true
168
171
  dependency_groups = ["lint"]
169
172
  commands = [["ruff", "check"]]
170
173
 
171
174
  [tool.tox.env."mypy"]
175
+ runner = "uv-venv-lock-runner"
172
176
  skip_install = false
173
177
  dependency_groups = ["lint"]
174
178
  commands = [["mypy"]]
@@ -177,8 +181,9 @@ commands = [["mypy"]]
177
181
  dev-dependencies = [
178
182
  "datamodel-code-generator>=0.26.2",
179
183
  "mypy>=1.13.0",
180
- "ruff>=0.8.1",
184
+ "ruff>=0.9.6",
181
185
  "tox>=4.23.2",
186
+ "tox-uv>=1.20.1",
182
187
  "types-pyyaml>=6.0.12.20240917",
183
188
  "types-tqdm>=4.66.0.20240417",
184
189
  ]
@@ -192,3 +197,6 @@ packages = "src"
192
197
  addopts = [
193
198
  "--import-mode=importlib",
194
199
  ]
200
+
201
+ [tool.setuptools]
202
+ license-files = []
@@ -2,6 +2,7 @@
2
2
  CLI module for handling command-line interface operations.
3
3
  """
4
4
 
5
+ import importlib
5
6
  import logging
6
7
  import logging.config
7
8
  import sys
@@ -107,7 +108,7 @@ class OrderedGroup(click.Group):
107
108
  cls=OrderedGroup,
108
109
  help="Validate, encrypt, decrypt and upload submissions to a GRZ/GDC.",
109
110
  )
110
- @click.version_option(version="0.1", prog_name="grz-cli")
111
+ @click.version_option(version=importlib.metadata.version("grz-cli"), prog_name="grz-cli")
111
112
  @click.option("--log-file", metavar="FILE", type=str, help="Path to log file")
112
113
  @click.option(
113
114
  "--log-level",
@@ -229,7 +230,7 @@ def decrypt(
229
230
  log.error("GRZ private key path is required for decryption.")
230
231
  sys.exit(1)
231
232
 
232
- log.info("Starting encryption...")
233
+ log.info("Starting decryption...")
233
234
 
234
235
  submission_dir = Path(submission_dir)
235
236
 
@@ -146,7 +146,7 @@ class S3BotoDownloadWorker:
146
146
  if filesize / MULTIPART_CHUNKSIZE > MULTIPART_MAX_CHUNKS
147
147
  else MULTIPART_CHUNKSIZE
148
148
  )
149
- self.__log.debug(f"Using a chunksize of: {chunksize / 1024**2}MiB, results in {filesize/chunksize} chunks")
149
+ self.__log.debug(f"Using a chunksize of: {chunksize / 1024**2}MiB, results in {filesize / chunksize} chunks")
150
150
 
151
151
  config = TransferConfig(
152
152
  multipart_threshold=MULTIPART_THRESHOLD,