deriva-ml 1.14.35__tar.gz → 1.14.36__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 (112) hide show
  1. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/PKG-INFO +1 -1
  2. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/pyproject.toml +1 -0
  3. deriva_ml-1.14.36/src/deriva_ml/bump_version.py +142 -0
  4. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/PKG-INFO +1 -1
  5. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/SOURCES.txt +1 -1
  6. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/entry_points.txt +1 -0
  7. deriva_ml-1.14.35/release.sh +0 -37
  8. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/.github/release-drafter.yml +0 -0
  9. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/.github/workflows/publish-docs.yml +0 -0
  10. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/.github/workflows/release.yml +0 -0
  11. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/.gitignore +0 -0
  12. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/LICENSE +0 -0
  13. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/README.md +0 -0
  14. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/.DS_Store +0 -0
  15. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Create Notes.ipynb +0 -0
  16. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Dataset.ipynb +0 -0
  17. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Execution.ipynb +0 -0
  18. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Features.ipynb +0 -0
  19. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Ingest.ipynb +0 -0
  20. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/Notebooks/DerivaML Vocabulary.ipynb +0 -0
  21. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/ERD.png +0 -0
  22. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/Launcher.png +0 -0
  23. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/copy_minid.png +0 -0
  24. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/deriva-logo.png +0 -0
  25. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/deriva-ml.pdf +0 -0
  26. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/assets/sharing-at-home.pdf +0 -0
  27. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/dataset.md +0 -0
  28. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/dataset_aux_classes.md +0 -0
  29. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/dataset_bag.md +0 -0
  30. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/deriva_definitions.md +0 -0
  31. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/deriva_ml_base.md +0 -0
  32. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/deriva_model.md +0 -0
  33. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/execution.md +0 -0
  34. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/execution_configuration.md +0 -0
  35. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/feature.md +0 -0
  36. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/code-docs/upload.md +0 -0
  37. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/index.md +0 -0
  38. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/release-notes.md +0 -0
  39. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/datasets.md +0 -0
  40. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/deriva_ml_structure.md +0 -0
  41. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/execution-configuration.md +0 -0
  42. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/file-assets.md +0 -0
  43. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/identifiers.md +0 -0
  44. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/install.md +0 -0
  45. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/notebooks.md +0 -0
  46. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/docs/user-guide/overview.md +0 -0
  47. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/mkdocs.yml +0 -0
  48. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/setup.cfg +0 -0
  49. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/__init__.py +0 -0
  50. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/__init__.py +0 -0
  51. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/base.py +0 -0
  52. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/constants.py +0 -0
  53. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/definitions.py +0 -0
  54. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/enums.py +0 -0
  55. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/ermrest.py +0 -0
  56. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/exceptions.py +0 -0
  57. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/core/filespec.py +0 -0
  58. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/__init__.py +0 -0
  59. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/aux_classes.py +0 -0
  60. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/dataset.py +0 -0
  61. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/dataset_bag.py +0 -0
  62. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/history.py +0 -0
  63. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/dataset/upload.py +0 -0
  64. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/demo_catalog.py +0 -0
  65. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/execution/__init__.py +0 -0
  66. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/execution/environment.py +0 -0
  67. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/execution/execution.py +0 -0
  68. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/execution/execution_configuration.py +0 -0
  69. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/execution/workflow.py +0 -0
  70. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/feature.py +0 -0
  71. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/install_kernel.py +0 -0
  72. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/model/__init__.py +0 -0
  73. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/model/catalog.py +0 -0
  74. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/model/database.py +0 -0
  75. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/model/sql_mapper.py +0 -0
  76. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/run_notebook.py +0 -0
  77. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/__init__.py +0 -0
  78. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/annotations.py +0 -0
  79. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/check_schema.py +0 -0
  80. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/create_schema.py +0 -0
  81. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/deriva-ml-reference.json +0 -0
  82. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/policy.json +0 -0
  83. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml/schema/table_comments_utils.py +0 -0
  84. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/dependency_links.txt +0 -0
  85. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/requires.txt +0 -0
  86. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/src/deriva_ml.egg-info/top_level.txt +0 -0
  87. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/__init__.py +0 -0
  88. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/conftest.py +0 -0
  89. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/core/__init__.py +0 -0
  90. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/core/test_basic_tables.py +0 -0
  91. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/core/test_file.py +0 -0
  92. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/core/test_vocabulary.py +0 -0
  93. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/__init__.py +0 -0
  94. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/demo-catalog-schema.json +0 -0
  95. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/deriva-ml-reference.json +0 -0
  96. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/eye-ai-catalog-schema.json +0 -0
  97. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/test_dataset_export.py +0 -0
  98. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/test_dataset_version.py +0 -0
  99. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/test_datasets.py +0 -0
  100. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/dataset/test_download.py +0 -0
  101. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/execution/__init__.py +0 -0
  102. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/execution/test_execution.py +0 -0
  103. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/execution/workflow-test.ipynb +0 -0
  104. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/execution/workflow-test.py +0 -0
  105. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/feature/test_features.py +0 -0
  106. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/model/__init__.py +0 -0
  107. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/model/test_database.py +0 -0
  108. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/model/test_models.py +0 -0
  109. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/test-files/execution-parameters.json +0 -0
  110. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/test-files/notebook-parameters.json +0 -0
  111. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/tests/test_utils.py +0 -0
  112. {deriva_ml-1.14.35 → deriva_ml-1.14.36}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deriva-ml
3
- Version: 1.14.35
3
+ Version: 1.14.36
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
@@ -28,6 +28,7 @@ deriva-ml-create-schema = "deriva_ml.schema_setup.create_schema:main"
28
28
  deriva-ml-alter-annotation = "deriva_ml.schema_setup.alter_annotation:main"
29
29
  deriva-ml-run-notebook = "deriva_ml.run_notebook:main"
30
30
  deriva-ml-install-kernel = "deriva_ml.install_kernel:main"
31
+ bump-version = "deriva_ml.bump_version:main"
31
32
 
32
33
  deriva-ml-check-catalog-schema = "deriva_ml.schema.check_schema:main"
33
34
 
@@ -0,0 +1,142 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Release helper: seed initial semver tag if none exists, otherwise bump with bump-my-version.
4
+
5
+ Usage:
6
+ python release.py [patch|minor|major]
7
+
8
+ Env vars:
9
+ START - initial version if no tag exists (default: 0.1.0)
10
+ PREFIX - tag prefix (default: v)
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ import argparse
16
+ import os
17
+ import shutil
18
+ import subprocess
19
+ import sys
20
+ from typing import Sequence
21
+
22
+
23
+ def run(
24
+ cmd: Sequence[str], check: bool = True, capture: bool = False, quiet: bool = False
25
+ ) -> subprocess.CompletedProcess:
26
+ if not quiet:
27
+ print(f"$ {' '.join(cmd)}")
28
+ return subprocess.run(
29
+ cmd,
30
+ check=check,
31
+ capture_output=capture,
32
+ text=True,
33
+ )
34
+
35
+
36
+ def in_git_repo() -> bool:
37
+ try:
38
+ run(["git", "rev-parse", "--is-inside-work-tree"], capture=True)
39
+ return True
40
+ except subprocess.CalledProcessError:
41
+ return False
42
+
43
+
44
+ def has_commits() -> bool:
45
+ try:
46
+ run(["git", "log", "-1"], capture=True)
47
+ return True
48
+ except subprocess.CalledProcessError:
49
+ return False
50
+
51
+
52
+ def latest_semver_tag(prefix: str) -> str | None:
53
+ # Use git's matcher to keep parity with Bash: prefix + x.y.z
54
+ pattern = f"{prefix}[0-9]*.[0-9]*.[0-9]*"
55
+ try:
56
+ cp = run(["git", "describe", "--tags", "--abbrev=0", "--match", pattern], capture=True, quiet=True)
57
+ tag = cp.stdout.strip()
58
+ return tag or None
59
+ except subprocess.CalledProcessError:
60
+ return None
61
+
62
+
63
+ def seed_initial_tag(tag: str) -> None:
64
+ print(f"No existing semver tag found. Seeding initial tag: {tag}")
65
+ run(["git", "tag", tag, "-m", f"Initial release {tag}"])
66
+ # Push tags (ignore failure to keep parity with bash's simple flow)
67
+ run(["git", "push", "--tags"])
68
+
69
+
70
+ def require_tool(name: str) -> None:
71
+ if shutil.which(name) is None:
72
+ print(f"Error: required tool '{name}' not found on PATH.", file=sys.stderr)
73
+ sys.exit(1)
74
+
75
+
76
+ def main() -> int:
77
+ parser = argparse.ArgumentParser(
78
+ description="Set a new version tag for the current repository, and push to remote."
79
+ )
80
+ parser.add_argument(
81
+ "bump", nargs="?", default="patch", choices=["patch", "minor", "major"], help="Which semver part to bump."
82
+ )
83
+ args = parser.parse_args()
84
+
85
+ start = os.environ.get("START", "0.1.0")
86
+ prefix = os.environ.get("PREFIX", "v")
87
+
88
+ # Sanity checks
89
+ require_tool("git")
90
+ require_tool("uv")
91
+
92
+ if not in_git_repo():
93
+ print("Not a git repo.", file=sys.stderr)
94
+ return 1
95
+
96
+ # Ensure tags visible in shallow clones
97
+ try:
98
+ run(["git", "fetch", "--tags", "--quiet"], check=False)
99
+ except Exception:
100
+ pass # non-fatal
101
+
102
+ if not has_commits():
103
+ print("No commits found. Commit something before tagging.", file=sys.stderr)
104
+ return 1
105
+
106
+ # Find latest semver tag with prefix
107
+ tag = latest_semver_tag(prefix)
108
+
109
+ if not tag:
110
+ seed_initial_tag(f"{prefix}{start}")
111
+ print(f"Seeded {prefix}{start}. Done.")
112
+ return 0
113
+
114
+ print(f"Bumping version: {args.bump}")
115
+
116
+ # Bump using bump-my-version via uv
117
+ # Mirrors: uv run bump-my-version bump $BUMP --verbose
118
+ try:
119
+ run(["uv", "run", "bump-my-version", "bump", args.bump, "--verbose"])
120
+ except subprocess.CalledProcessError as e:
121
+ print(e.stdout or "", end="")
122
+ print(e.stderr or "", end="", file=sys.stderr)
123
+ return e.returncode
124
+
125
+ # Push commits and tags
126
+ print("Pushing changes to remote repository...")
127
+ run(["git", "push", "--follow-tags"])
128
+
129
+ # Retrieve new version tag
130
+ try:
131
+ cp = run(["git", "describe", "--tags", "--abbrev=0"], capture=True)
132
+ new_tag = cp.stdout.strip()
133
+ print(f"New version tag: {new_tag}")
134
+ except subprocess.CalledProcessError:
135
+ print("Warning: unable to determine new tag via git describe.", file=sys.stderr)
136
+
137
+ print("Release process complete!")
138
+ return 0
139
+
140
+
141
+ if __name__ == "__main__":
142
+ sys.exit(main())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deriva-ml
3
- Version: 1.14.35
3
+ Version: 1.14.36
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
@@ -3,7 +3,6 @@ LICENSE
3
3
  README.md
4
4
  mkdocs.yml
5
5
  pyproject.toml
6
- release.sh
7
6
  uv.lock
8
7
  .github/release-drafter.yml
9
8
  .github/workflows/publish-docs.yml
@@ -42,6 +41,7 @@ docs/user-guide/install.md
42
41
  docs/user-guide/notebooks.md
43
42
  docs/user-guide/overview.md
44
43
  src/deriva_ml/__init__.py
44
+ src/deriva_ml/bump_version.py
45
45
  src/deriva_ml/demo_catalog.py
46
46
  src/deriva_ml/feature.py
47
47
  src/deriva_ml/install_kernel.py
@@ -1,4 +1,5 @@
1
1
  [console_scripts]
2
+ bump-version = deriva_ml.bump_version:main
2
3
  deriva-ml-alter-annotation = deriva_ml.schema_setup.alter_annotation:main
3
4
  deriva-ml-check-catalog-schema = deriva_ml.schema.check_schema:main
4
5
  deriva-ml-create-schema = deriva_ml.schema_setup.create_schema:main
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e # Exit immediately if any command fails
3
-
4
- # Check for GitHub CLI (gh)
5
- #if ! command -v gh &> /dev/null; then
6
- # echo "Error: GitHub CLI (gh) is not installed. Please install it and log in."
7
- # exit 1
8
- #fi
9
-
10
- # Default version bump is patch unless specified (patch, minor, or major)
11
- VERSION_TYPE=${1:-patch}
12
-
13
- echo "Bumping version: $VERSION_TYPE"
14
-
15
- # Bump the version using bump-my-version.
16
- # This command should update version files, commit the changes, and create a Git tag.
17
- uv run bump-my-version bump "$VERSION_TYPE" --verbose
18
-
19
- # Push commits and tags to the remote repository.
20
- echo "Pushing changes to remote repository..."
21
- git push --follow-tags
22
-
23
- # Create a GitHub release with auto-generated release notes.
24
- #echo "Creating GitHub release for $NEW_TAG..."
25
- #gh release create "$NEW_TAG" --title "$NEW_TAG Release" --generate-notes
26
-
27
- # Build the package.
28
- # During the build, setuptools_scm will derive the version from Git tags.
29
- #echo "Building the package..."
30
- #uv build
31
-
32
- # Retrieve the new version tag (latest tag)
33
- NEW_TAG=$(git describe --tags --abbrev=0)
34
- echo "New version tag: $NEW_TAG"
35
- #uv publish dist/*${NEW_TAG/v/}*
36
-
37
- echo "Release process complete!"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes