dayhoff-tools 1.0.17__tar.gz → 1.0.18__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.
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/PKG-INFO +16 -18
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/cli/utility_commands.py +32 -16
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/pyproject.toml +25 -14
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/README.md +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/__init__.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/chemistry/standardizer.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/chemistry/utils.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/cli/__init__.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/cli/cloud_commands.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/cli/main.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/cli/swarm_commands.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/base.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/deploy_aws.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/deploy_utils.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/job_runner.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/processors.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/deployment/swarm.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/embedders.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/fasta.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/file_ops.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/gcp.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/h5.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/kegg.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/logs.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/mmseqs.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/sqlite.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/structure.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/uniprot.py +0 -0
- {dayhoff_tools-1.0.17 → dayhoff_tools-1.0.18}/dayhoff_tools/warehouse.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: dayhoff-tools
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.18
|
4
4
|
Summary: Common tools for all the repos at Dayhoff Labs
|
5
5
|
Author: Daniel Martin-Alarcon
|
6
6
|
Author-email: dma@dayhofflabs.com
|
@@ -10,23 +10,21 @@ Classifier: Programming Language :: Python :: 3.10
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.11
|
11
11
|
Classifier: Programming Language :: Python :: 3.12
|
12
12
|
Classifier: Programming Language :: Python :: 3.13
|
13
|
-
Provides-Extra:
|
14
|
-
Requires-Dist: biopython (>=1.84)
|
15
|
-
Requires-Dist: boto3 (>=1.36.8)
|
16
|
-
Requires-Dist: docker (>=7.1.0)
|
17
|
-
Requires-Dist: fair-esm (>=2.0.0)
|
18
|
-
Requires-Dist: firebase-admin (>=6.5.0)
|
19
|
-
Requires-Dist: h5py (>=3.11.0)
|
20
|
-
Requires-Dist: pandas (>=2.2.3)
|
21
|
-
Requires-Dist: pyyaml (>=6.0)
|
22
|
-
Requires-Dist: questionary (>=2.0.1)
|
23
|
-
Requires-Dist: rdkit-pypi (>=2022.9.5)
|
24
|
-
Requires-Dist: requests (>=2.31.0)
|
25
|
-
Requires-Dist: sqlalchemy (>=2.0.40,<3.0.0)
|
26
|
-
Requires-Dist:
|
27
|
-
Requires-Dist:
|
28
|
-
Requires-Dist: transformers (==4.36.2) ; extra == "full"
|
29
|
-
Requires-Dist: typer (>=0.9.0)
|
13
|
+
Provides-Extra: base
|
14
|
+
Requires-Dist: biopython (>=1.84)
|
15
|
+
Requires-Dist: boto3 (>=1.36.8)
|
16
|
+
Requires-Dist: docker (>=7.1.0)
|
17
|
+
Requires-Dist: fair-esm (>=2.0.0)
|
18
|
+
Requires-Dist: firebase-admin (>=6.5.0) ; extra == "base"
|
19
|
+
Requires-Dist: h5py (>=3.11.0)
|
20
|
+
Requires-Dist: pandas (>=2.2.3)
|
21
|
+
Requires-Dist: pyyaml (>=6.0) ; extra == "base"
|
22
|
+
Requires-Dist: questionary (>=2.0.1)
|
23
|
+
Requires-Dist: rdkit-pypi (>=2022.9.5)
|
24
|
+
Requires-Dist: requests (>=2.31.0) ; extra == "base"
|
25
|
+
Requires-Dist: sqlalchemy (>=2.0.40,<3.0.0)
|
26
|
+
Requires-Dist: transformers (==4.36.2)
|
27
|
+
Requires-Dist: typer (>=0.9.0) ; extra == "base"
|
30
28
|
Description-Content-Type: text/markdown
|
31
29
|
|
32
30
|
# dayhoff-tools
|
@@ -7,6 +7,7 @@ import subprocess
|
|
7
7
|
import sys
|
8
8
|
from pathlib import Path
|
9
9
|
|
10
|
+
import typer
|
10
11
|
import yaml
|
11
12
|
|
12
13
|
|
@@ -211,6 +212,8 @@ def build_and_upload_wheel(bump_part: str = "patch"):
|
|
211
212
|
return
|
212
213
|
|
213
214
|
# Build the command with token authentication
|
215
|
+
# IMPORTANT: Mask token for printing
|
216
|
+
publish_cmd_safe_print = ["uv", "publish", "--token", "*****"]
|
214
217
|
publish_cmd = ["uv", "publish", "--token", token]
|
215
218
|
print("Using UV_PUBLISH_TOKEN for authentication.")
|
216
219
|
|
@@ -279,13 +282,16 @@ def build_and_upload_wheel(bump_part: str = "patch"):
|
|
279
282
|
# --- End Version Bumping Logic ---
|
280
283
|
|
281
284
|
# Build wheel and sdist
|
282
|
-
|
283
|
-
|
285
|
+
build_cmd = ["uv", "build"]
|
286
|
+
print(f"Running command: {' '.join(build_cmd)}")
|
287
|
+
subprocess.run(build_cmd, check=True)
|
284
288
|
|
285
289
|
# Upload using uv publish with explicit arguments
|
286
|
-
print(
|
290
|
+
print(
|
291
|
+
f"Running command: {' '.join(publish_cmd_safe_print)}"
|
292
|
+
) # Print masked command
|
287
293
|
subprocess.run(
|
288
|
-
publish_cmd, # Use the command
|
294
|
+
publish_cmd, # Use the actual command with token
|
289
295
|
check=True,
|
290
296
|
)
|
291
297
|
|
@@ -364,8 +370,9 @@ def update_dayhoff_tools():
|
|
364
370
|
"""
|
365
371
|
try:
|
366
372
|
print("Attempting to update dayhoff-tools to the latest version using uv...")
|
367
|
-
|
368
|
-
|
373
|
+
update_cmd = ["uv", "add", "dayhoff-tools@latest"]
|
374
|
+
print(f"Running command: {' '.join(update_cmd)}")
|
375
|
+
subprocess.run(update_cmd, check=True)
|
369
376
|
print("Update attempt complete! Check pyproject.toml and run sync if needed.")
|
370
377
|
except subprocess.CalledProcessError as e:
|
371
378
|
print(f"Error occurred while attempting update: {e}")
|
@@ -374,21 +381,30 @@ def update_dayhoff_tools():
|
|
374
381
|
sys.exit(1)
|
375
382
|
|
376
383
|
|
377
|
-
def sync_dependencies(
|
384
|
+
def sync_dependencies(
|
385
|
+
install_project: bool = typer.Option(
|
386
|
+
False,
|
387
|
+
"--install-project",
|
388
|
+
help="Install the local project package itself into the environment.",
|
389
|
+
)
|
390
|
+
):
|
378
391
|
"""Update uv.lock and sync dependencies based on pyproject.toml.
|
379
392
|
|
380
|
-
|
381
|
-
|
382
|
-
|
393
|
+
By default, installs all declared dependencies without building/installing
|
394
|
+
the local project itself (--no-install-project). Use --install-project to
|
395
|
+
include the local project.
|
383
396
|
"""
|
384
397
|
try:
|
385
|
-
|
386
|
-
|
398
|
+
lock_cmd = ["uv", "lock"]
|
399
|
+
print(f"Running command: {' '.join(lock_cmd)}")
|
400
|
+
subprocess.run(lock_cmd, check=True)
|
387
401
|
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
402
|
+
sync_cmd = ["uv", "sync", "--all-groups"]
|
403
|
+
if not install_project:
|
404
|
+
sync_cmd.append("--no-install-project")
|
405
|
+
|
406
|
+
print(f"Running command: {' '.join(sync_cmd)}")
|
407
|
+
subprocess.run(sync_cmd, check=True)
|
392
408
|
|
393
409
|
print("Dependencies synced successfully.")
|
394
410
|
except subprocess.CalledProcessError as e:
|
@@ -4,24 +4,15 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "dayhoff-tools"
|
7
|
-
version = "1.0.
|
7
|
+
version = "1.0.18"
|
8
8
|
description = "Common tools for all the repos at Dayhoff Labs"
|
9
9
|
authors = [
|
10
10
|
{name = "Daniel Martin-Alarcon", email = "dma@dayhofflabs.com"}
|
11
11
|
]
|
12
12
|
readme = "README.md"
|
13
|
-
# Just enough deps to use the job_runner
|
14
|
-
dependencies = [
|
15
|
-
"firebase-admin>=6.5.0",
|
16
|
-
"pyyaml>=6.0",
|
17
|
-
"requests>=2.31.0",
|
18
|
-
"typer>=0.9.0",
|
19
|
-
]
|
20
|
-
requires-python = ">=3.10,<4.0"
|
21
13
|
|
22
|
-
|
23
|
-
|
24
|
-
full = [
|
14
|
+
# Default dependencies now include the formerly "full" set
|
15
|
+
dependencies = [
|
25
16
|
"biopython>=1.84",
|
26
17
|
"boto3>=1.36.8",
|
27
18
|
"docker>=7.1.0",
|
@@ -32,9 +23,27 @@ full = [
|
|
32
23
|
"rdkit-pypi>=2022.9.5",
|
33
24
|
"sqlalchemy (>=2.0.40,<3.0.0)",
|
34
25
|
"transformers==4.36.2",
|
35
|
-
"torch>=2.1.0",
|
36
|
-
"torchvision>=0.16.0",
|
37
26
|
]
|
27
|
+
requires-python = ">=3.10,<4.0"
|
28
|
+
|
29
|
+
[project.optional-dependencies]
|
30
|
+
# Minimal base dependencies
|
31
|
+
base = [
|
32
|
+
"firebase-admin>=6.5.0",
|
33
|
+
"pyyaml>=6.0",
|
34
|
+
"requests>=2.31.0",
|
35
|
+
"typer>=0.9.0",
|
36
|
+
]
|
37
|
+
|
38
|
+
# Added UV-specific configuration for PyTorch source (for dev/test env)
|
39
|
+
[[tool.uv.index]]
|
40
|
+
name = "torch-cuda"
|
41
|
+
url = "https://download.pytorch.org/whl/cu121"
|
42
|
+
explicit = true
|
43
|
+
|
44
|
+
[tool.uv.sources]
|
45
|
+
torch = { index = "torch-cuda" }
|
46
|
+
torchvision = { index = "torch-cuda" }
|
38
47
|
|
39
48
|
[dependency-groups]
|
40
49
|
common = [
|
@@ -57,6 +66,8 @@ common = [
|
|
57
66
|
"pytest>=8.0.2,<9",
|
58
67
|
"pytest-cov>=4.1.0,<5",
|
59
68
|
"pytest-mock>=3.12.0,<4",
|
69
|
+
"torch==2.4.0+cu121",
|
70
|
+
"torchvision==0.19.0+cu121",
|
60
71
|
]
|
61
72
|
|
62
73
|
[project.scripts]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|