deriva-ml 1.17.7__tar.gz → 1.17.10__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 (114) hide show
  1. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/PKG-INFO +1 -2
  2. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/pyproject.toml +2 -2
  3. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/upload.py +0 -1
  4. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/demo_catalog.py +72 -7
  5. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/execution/execution.py +6 -3
  6. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/execution/workflow.py +1 -1
  7. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/PKG-INFO +1 -2
  8. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/entry_points.txt +1 -0
  9. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/requires.txt +0 -1
  10. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/uv.lock +11 -13
  11. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/.github/release-drafter.yml +0 -0
  12. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/.github/workflows/publish-docs.yml +0 -0
  13. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/.github/workflows/release.yml +0 -0
  14. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/.gitignore +0 -0
  15. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/LICENSE +0 -0
  16. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/README.md +0 -0
  17. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/.DS_Store +0 -0
  18. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Create Notes.ipynb +0 -0
  19. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Dataset.ipynb +0 -0
  20. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Execution.ipynb +0 -0
  21. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Features.ipynb +0 -0
  22. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Ingest.ipynb +0 -0
  23. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/Notebooks/DerivaML Vocabulary.ipynb +0 -0
  24. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/ERD.png +0 -0
  25. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/Launcher.png +0 -0
  26. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/copy_minid.png +0 -0
  27. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/deriva-logo.png +0 -0
  28. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/deriva-ml.pdf +0 -0
  29. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/assets/sharing-at-home.pdf +0 -0
  30. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/dataset.md +0 -0
  31. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/dataset_aux_classes.md +0 -0
  32. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/dataset_bag.md +0 -0
  33. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/deriva_definitions.md +0 -0
  34. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/deriva_ml_base.md +0 -0
  35. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/deriva_model.md +0 -0
  36. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/execution.md +0 -0
  37. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/execution_configuration.md +0 -0
  38. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/feature.md +0 -0
  39. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/code-docs/upload.md +0 -0
  40. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/index.md +0 -0
  41. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/release-notes.md +0 -0
  42. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/datasets.md +0 -0
  43. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/deriva_ml_structure.md +0 -0
  44. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/execution-configuration.md +0 -0
  45. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/file-assets.md +0 -0
  46. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/identifiers.md +0 -0
  47. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/install.md +0 -0
  48. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/notebooks.md +0 -0
  49. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/docs/user-guide/overview.md +0 -0
  50. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/mkdocs.yml +0 -0
  51. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/setup.cfg +0 -0
  52. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/.DS_Store +0 -0
  53. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/.DS_Store +0 -0
  54. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/__init__.py +0 -0
  55. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/bump_version.py +0 -0
  56. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/__init__.py +0 -0
  57. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/base.py +0 -0
  58. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/config.py +0 -0
  59. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/constants.py +0 -0
  60. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/definitions.py +0 -0
  61. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/enums.py +0 -0
  62. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/ermrest.py +0 -0
  63. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/exceptions.py +0 -0
  64. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/core/filespec.py +0 -0
  65. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/__init__.py +0 -0
  66. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/aux_classes.py +0 -0
  67. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/dataset.py +0 -0
  68. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/dataset_bag.py +0 -0
  69. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/dataset/history.py +0 -0
  70. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/execution/__init__.py +0 -0
  71. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/execution/environment.py +0 -0
  72. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/execution/execution_configuration.py +0 -0
  73. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/feature.py +0 -0
  74. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/install_kernel.py +0 -0
  75. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/model/__init__.py +0 -0
  76. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/model/catalog.py +0 -0
  77. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/model/database.py +0 -0
  78. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/protocols/dataset.py +0 -0
  79. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/run_notebook.py +0 -0
  80. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/__init__.py +0 -0
  81. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/annotations.py +0 -0
  82. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/check_schema.py +0 -0
  83. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/create_schema.py +0 -0
  84. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/deriva-ml-reference.json +0 -0
  85. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/policy.json +0 -0
  86. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/schema/table_comments_utils.py +0 -0
  87. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml/test.py +0 -0
  88. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/SOURCES.txt +0 -0
  89. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/dependency_links.txt +0 -0
  90. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/src/deriva_ml.egg-info/top_level.txt +0 -0
  91. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/__init__.py +0 -0
  92. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/conftest.py +0 -0
  93. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/core/__init__.py +0 -0
  94. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/core/test_basic_tables.py +0 -0
  95. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/core/test_file.py +0 -0
  96. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/core/test_vocabulary.py +0 -0
  97. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/__init__.py +0 -0
  98. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/demo-catalog-schema.json +0 -0
  99. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/deriva-ml-reference.json +0 -0
  100. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/eye-ai-catalog-schema.json +0 -0
  101. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/test_dataset_version.py +0 -0
  102. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/test_datasets.py +0 -0
  103. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/dataset/test_download.py +0 -0
  104. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/execution/__init__.py +0 -0
  105. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/execution/test_execution.py +0 -0
  106. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/execution/workflow-test.ipynb +0 -0
  107. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/execution/workflow-test.py +0 -0
  108. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/feature/test_features.py +0 -0
  109. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/model/__init__.py +0 -0
  110. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/model/test_database.py +0 -0
  111. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/model/test_models.py +0 -0
  112. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/test-files/execution-parameters.json +0 -0
  113. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/test-files/notebook-parameters.json +0 -0
  114. {deriva_ml-1.17.7 → deriva_ml-1.17.10}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deriva-ml
3
- Version: 1.17.7
3
+ Version: 1.17.10
4
4
  Summary: Utilities to simplify use of Dervia and Pandas to create reproducable ML pipelines
5
5
  Author-email: ISRD <isrd-dev@isi.edu>
6
6
  Requires-Python: >=3.10
@@ -12,7 +12,6 @@ Requires-Dist: deriva~=1.7.10
12
12
  Requires-Dist: deepdiff
13
13
  Requires-Dist: nbconvert
14
14
  Requires-Dist: pandas
15
- Requires-Dist: pip-system-certs
16
15
  Requires-Dist: pydantic>=2.11
17
16
  Requires-Dist: papermill
18
17
  Requires-Dist: pandas-stubs==2.2.3.250527
@@ -14,7 +14,6 @@ dependencies = [
14
14
  "deepdiff",
15
15
  "nbconvert",
16
16
  "pandas",
17
- "pip-system-certs",
18
17
  "pydantic>=2.11",
19
18
  "papermill",
20
19
  "pandas-stubs==2.2.3.250527",
@@ -35,6 +34,7 @@ deriva-ml-alter-annotation = "deriva_ml.schema_setup.alter_annotation:main"
35
34
  deriva-ml-run-notebook = "deriva_ml.run_notebook:main"
36
35
  deriva-ml-install-kernel = "deriva_ml.install_kernel:main"
37
36
  bump-version = "deriva_ml.bump_version:main"
37
+ create-demo-catalog = "deriva_ml.demo_catalog:main"
38
38
 
39
39
  deriva-ml-check-catalog-schema = "deriva_ml.schema.check_schema:main"
40
40
 
@@ -111,10 +111,10 @@ dev = [
111
111
  "mkdocs-jupyter",
112
112
  "mkdocstrings[python]",
113
113
  "mkdocs-material",
114
+ "pip-system-certs",
114
115
  "pytest>=8.4.1",
115
116
  "pytest-mock",
116
117
  "pytest-coverage>=0.0",
117
- "pip-system-certs",
118
118
  "ruff"
119
119
  ]
120
120
  lint = [
@@ -295,7 +295,6 @@ def upload_directory(model: DerivaModel, directory: Path | str) -> dict[Any, Fil
295
295
  # Now upload the files by creating an upload spec and then calling the uploader.
296
296
  with TemporaryDirectory() as temp_dir:
297
297
  spec_file = Path(temp_dir) / "config.json"
298
-
299
298
  with spec_file.open("w+") as cfile:
300
299
  json.dump(bulk_upload_configuration(model), cfile)
301
300
  uploader = GenericUploader(
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import atexit
4
4
  import itertools
5
5
  import logging
6
+ import os
6
7
  import string
7
8
  from collections.abc import Iterator, Sequence
8
9
  from datetime import datetime
@@ -11,7 +12,7 @@ from pathlib import Path
11
12
  from random import choice, randint, random
12
13
  from tempfile import TemporaryDirectory
13
14
 
14
- from deriva.core import ErmrestCatalog
15
+ from deriva.core import BaseCLI, ErmrestCatalog
15
16
  from deriva.core.ermrest_model import Column, Schema, Table, builtin_types
16
17
  from pydantic import BaseModel, ConfigDict
17
18
  from requests.exceptions import HTTPError
@@ -19,7 +20,7 @@ from requests.exceptions import HTTPError
19
20
  from deriva_ml import DerivaML, MLVocab
20
21
  from deriva_ml.core.definitions import RID, BuiltinTypes, ColumnDefinition
21
22
  from deriva_ml.dataset.aux_classes import DatasetVersion
22
- from deriva_ml.execution.execution import Execution
23
+ from deriva_ml.execution.execution import Execution, Workflow
23
24
  from deriva_ml.execution.execution_configuration import ExecutionConfiguration
24
25
  from deriva_ml.schema import (
25
26
  create_ml_catalog,
@@ -48,11 +49,16 @@ def populate_demo_catalog(ml_instance: DerivaML) -> None:
48
49
  "Demo Catalog Creation",
49
50
  description="A workflow demonstrating how to create a demo catalog.",
50
51
  )
51
- execution = ml_instance.create_execution(
52
- ExecutionConfiguration(
53
- workflow=ml_instance.create_workflow(name="Demo Catalog", workflow_type="Demo Catalog Creation")
54
- )
52
+ workflow = Workflow(
53
+ name="Demo Catalog",
54
+ workflow_type="Demo Catalog Creation",
55
+ url="https://github.com/informatics-isi-edu/deriva-ml/blob/main/src/deriva_ml/demo_catalog.py",
56
+ version="1.0.0",
57
+ checksum="27",
58
+ git_root=Path(),
55
59
  )
60
+ execution = ml_instance.create_execution(ExecutionConfiguration(workflow=workflow))
61
+
56
62
  with execution.execute() as e:
57
63
  for s in ss:
58
64
  image_file = e.asset_file_path(
@@ -386,9 +392,12 @@ def create_demo_catalog(
386
392
  test_catalog = create_ml_catalog(hostname, project_name=project_name)
387
393
  if on_exit_delete:
388
394
  atexit.register(destroy_demo_catalog, test_catalog)
395
+
389
396
  try:
390
397
  with TemporaryDirectory() as tmpdir:
398
+ os.chdir(tmpdir) # Do this so we don't get confused if running from a GitHub repo.
391
399
  create_domain_schema(test_catalog, domain_schema)
400
+
392
401
  ml_instance = DerivaML(
393
402
  hostname,
394
403
  catalog_id=test_catalog.catalog_id,
@@ -396,7 +405,6 @@ def create_demo_catalog(
396
405
  working_dir=tmpdir,
397
406
  logging_level=logging_level,
398
407
  )
399
-
400
408
  if populate or create_features or create_datasets:
401
409
  populate_demo_catalog(ml_instance)
402
410
  if create_features:
@@ -428,3 +436,60 @@ class DemoML(DerivaML):
428
436
  working_dir=working_dir,
429
437
  use_minid=use_minid,
430
438
  )
439
+
440
+
441
+ class DerivaMLDemoCatalogCLI(BaseCLI):
442
+ """Main class to part command line arguments and call model"""
443
+
444
+ def __init__(self, description, epilog, **kwargs):
445
+ BaseCLI.__init__(self, description, epilog, **kwargs)
446
+ # Optional domain schema name for the demo catalog. Defaults to None if not provided.
447
+ self.parser.add_argument(
448
+ "--domain_schema",
449
+ type=str,
450
+ default="demo-schema",
451
+ help="Name of the domain schema to create/use for the demo catalog (default: demo-schema).",
452
+ )
453
+
454
+ @staticmethod
455
+ def _coerce_number(val: str):
456
+ """
457
+ Try to convert a string to int, then float; otherwise return str.
458
+ """
459
+ try:
460
+ return int(val)
461
+ except ValueError:
462
+ try:
463
+ return float(val)
464
+ except ValueError:
465
+ return val
466
+
467
+ def main(self) -> ErmrestCatalog:
468
+ """Parse arguments and set up execution environment."""
469
+ args = self.parse_cli()
470
+ if not args.host:
471
+ raise ValueError("Host must be specified.")
472
+ demo_catalog = create_demo_catalog(args.host, args.domain_schema)
473
+ return demo_catalog
474
+
475
+
476
+ def main() -> None:
477
+ """Main entry point for the notebook runner CLI.
478
+
479
+ Creates and runs the DerivaMLRunNotebookCLI instance.
480
+
481
+ Returns:
482
+ None. Executes the CLI.
483
+ """
484
+ cli = DerivaMLDemoCatalogCLI(description="Create a Deriva ML Sample Catalog", epilog="")
485
+ catalog = cli.main()
486
+ print("Created catalog: {}".format(catalog._server_uri))
487
+
488
+
489
+ if __name__ == "__main__":
490
+ try:
491
+ main()
492
+ except Exception as e:
493
+ print("Error creating catalog:")
494
+ print(e)
495
+ exit(1)
@@ -384,9 +384,9 @@ class Execution:
384
384
  file_name="configuration.json",
385
385
  asset_types=ExecMetadataType.execution_config.value,
386
386
  )
387
- with Path(cfile).open("w", encoding="utf-8") as config_file:
388
- json.dump(self.configuration.model_dump(), config_file)
389
387
 
388
+ with Path(cfile).open("w", encoding="utf-8") as config_file:
389
+ json.dump(self.configuration.model_dump(mode="json"), config_file)
390
390
  lock_file = Path(self.configuration.workflow.git_root) / "uv.lock"
391
391
  if lock_file.exists():
392
392
  _ = self.asset_file_path(
@@ -920,8 +920,11 @@ class Execution:
920
920
 
921
921
  # Determine if we will need to rename an existing file as the asset.
922
922
  file_name = Path(file_name)
923
- target_name = Path(rename_file) if file_name.exists() and rename_file else file_name
923
+ if file_name.name == "_implementations.log":
924
+ # There is a funny bug with S3 hatrac if we have the leading _ in the filename.
925
+ file_name = file_name.with_name("-implementations.log")
924
926
 
927
+ target_name = Path(rename_file) if file_name.exists() and rename_file else file_name
925
928
  asset_path = asset_file_path(
926
929
  prefix=self._working_dir,
927
930
  exec_rid=self.execution_rid,
@@ -130,7 +130,7 @@ class Workflow(BaseModel):
130
130
  self.url, self.checksum = Workflow.get_url_and_checksum(path)
131
131
  self.git_root = Workflow._get_git_root(path)
132
132
 
133
- self.version = Workflow.get_dynamic_version(root=str(self.git_root or Path.cwd()))
133
+ self.version = self.version or Workflow.get_dynamic_version(root=str(self.git_root or Path.cwd()))
134
134
  self._logger = logging.getLogger("deriva_ml")
135
135
  return self
136
136
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deriva-ml
3
- Version: 1.17.7
3
+ Version: 1.17.10
4
4
  Summary: Utilities to simplify use of Dervia and Pandas to create reproducable ML pipelines
5
5
  Author-email: ISRD <isrd-dev@isi.edu>
6
6
  Requires-Python: >=3.10
@@ -12,7 +12,6 @@ Requires-Dist: deriva~=1.7.10
12
12
  Requires-Dist: deepdiff
13
13
  Requires-Dist: nbconvert
14
14
  Requires-Dist: pandas
15
- Requires-Dist: pip-system-certs
16
15
  Requires-Dist: pydantic>=2.11
17
16
  Requires-Dist: papermill
18
17
  Requires-Dist: pandas-stubs==2.2.3.250527
@@ -1,5 +1,6 @@
1
1
  [console_scripts]
2
2
  bump-version = deriva_ml.bump_version:main
3
+ create-demo-catalog = deriva_ml.demo_catalog:main
3
4
  deriva-ml-alter-annotation = deriva_ml.schema_setup.alter_annotation:main
4
5
  deriva-ml-check-catalog-schema = deriva_ml.schema.check_schema:main
5
6
  deriva-ml-create-schema = deriva_ml.schema_setup.create_schema:main
@@ -4,7 +4,6 @@ deriva~=1.7.10
4
4
  deepdiff
5
5
  nbconvert
6
6
  pandas
7
- pip-system-certs
8
7
  pydantic>=2.11
9
8
  papermill
10
9
  pandas-stubs==2.2.3.250527
@@ -22,13 +22,13 @@ name = "aiohttp"
22
22
  version = "3.13.2"
23
23
  source = { registry = "https://pypi.org/simple" }
24
24
  dependencies = [
25
- { name = "aiohappyeyeballs", marker = "python_full_version >= '3.12'" },
26
- { name = "aiosignal", marker = "python_full_version >= '3.12'" },
27
- { name = "attrs", marker = "python_full_version >= '3.12'" },
28
- { name = "frozenlist", marker = "python_full_version >= '3.12'" },
29
- { name = "multidict", marker = "python_full_version >= '3.12'" },
30
- { name = "propcache", marker = "python_full_version >= '3.12'" },
31
- { name = "yarl", marker = "python_full_version >= '3.12'" },
25
+ { name = "aiohappyeyeballs", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
26
+ { name = "aiosignal", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
27
+ { name = "attrs", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
28
+ { name = "frozenlist", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
29
+ { name = "multidict", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
30
+ { name = "propcache", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
31
+ { name = "yarl", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
32
32
  ]
33
33
  sdist = { url = "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz", hash = "sha256:40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca", size = 7837994, upload-time = "2025-10-28T20:59:39.937Z" }
34
34
  wheels = [
@@ -141,7 +141,7 @@ name = "aiosignal"
141
141
  version = "1.4.0"
142
142
  source = { registry = "https://pypi.org/simple" }
143
143
  dependencies = [
144
- { name = "frozenlist", marker = "python_full_version >= '3.12'" },
144
+ { name = "frozenlist", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
145
145
  { name = "typing-extensions", marker = "python_full_version == '3.12.*'" },
146
146
  ]
147
147
  sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" }
@@ -879,7 +879,6 @@ dependencies = [
879
879
  { name = "pandas" },
880
880
  { name = "pandas-stubs" },
881
881
  { name = "papermill" },
882
- { name = "pip-system-certs" },
883
882
  { name = "pydantic" },
884
883
  { name = "pyyaml" },
885
884
  { name = "regex" },
@@ -919,7 +918,6 @@ requires-dist = [
919
918
  { name = "pandas" },
920
919
  { name = "pandas-stubs", specifier = "==2.2.3.250527" },
921
920
  { name = "papermill" },
922
- { name = "pip-system-certs" },
923
921
  { name = "pydantic", specifier = ">=2.11" },
924
922
  { name = "pyyaml" },
925
923
  { name = "regex", specifier = "~=2024.7.24" },
@@ -4072,9 +4070,9 @@ name = "yarl"
4072
4070
  version = "1.22.0"
4073
4071
  source = { registry = "https://pypi.org/simple" }
4074
4072
  dependencies = [
4075
- { name = "idna", marker = "python_full_version >= '3.12'" },
4076
- { name = "multidict", marker = "python_full_version >= '3.12'" },
4077
- { name = "propcache", marker = "python_full_version >= '3.12'" },
4073
+ { name = "idna", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
4074
+ { name = "multidict", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
4075
+ { name = "propcache", marker = "python_full_version >= '3.12' and python_full_version < '3.14'" },
4078
4076
  ]
4079
4077
  sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" }
4080
4078
  wheels = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes