dyno-phi 0.2.3__tar.gz → 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 (76) hide show
  1. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.github/workflows/publish.yml +3 -0
  2. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/CHANGELOG.md +12 -1
  3. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/PKG-INFO +12 -2
  4. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/README.md +10 -0
  5. dyno_phi-0.2.4/src/phi/_version.py +1 -0
  6. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/cli.py +18 -1
  7. dyno_phi-0.2.3/src/phi/_version.py +0 -1
  8. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.claude/settings.json +0 -0
  9. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.claude/skills/phi/SKILL.md +0 -0
  10. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.claude-plugin/marketplace.json +0 -0
  11. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.github/workflows/ci.yml +0 -0
  12. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.gitignore +0 -0
  13. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/.pre-commit-config.yaml +0 -0
  14. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/CLI-REFERENCE.md +0 -0
  15. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/LICENSE +0 -0
  16. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/TEMPLATE_NEW_BIOMODAL.py +0 -0
  17. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/__init__.py +0 -0
  18. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/base.py +0 -0
  19. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_af2rank.py +0 -0
  20. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_align_structures.py +0 -0
  21. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_alphafold.py +0 -0
  22. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_bindcraft.py +0 -0
  23. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_boltz.py +0 -0
  24. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_boltzgen.py +0 -0
  25. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_chai1.py +0 -0
  26. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_esm2_predict_masked.py +0 -0
  27. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_esmfold.py +0 -0
  28. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_ligandmpnn.py +0 -0
  29. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_proteinmpnn.py +0 -0
  30. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_rf3.py +0 -0
  31. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_rfdiffusion3.py +0 -0
  32. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_rso.py +0 -0
  33. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/modal_tm_score.py +0 -0
  34. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/utils/__init__.py +0 -0
  35. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/utils/extract_chain_as_mol2.py +0 -0
  36. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/biomodals/utils/extract_ligands.py +0 -0
  37. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/README.md +0 -0
  38. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/binders/pdl1/binder_009.pdb +0 -0
  39. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/binders/pdl1/binder_047.pdb +0 -0
  40. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/binders/pdl1/binder_106.pdb +0 -0
  41. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/binders/pdl1/binder_188.pdb +0 -0
  42. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/binders/pdl1/binder_246.pdb +0 -0
  43. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/fixtures/pdl1/5O45.pdb +0 -0
  44. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/examples/fixtures/pdl1/pdl1_pdb_19_132.pdb +0 -0
  45. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/phi-plugin/.claude-plugin/plugin.json +0 -0
  46. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/phi-plugin/README.md +0 -0
  47. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/phi-plugin/skills/phi/SKILL.md +0 -0
  48. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/pyproject.toml +0 -0
  49. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/__init__.py +0 -0
  50. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/api.py +0 -0
  51. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/__init__.py +0 -0
  52. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/auth.py +0 -0
  53. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/datasets.py +0 -0
  54. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/filter.py +0 -0
  55. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/jobs.py +0 -0
  56. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/models.py +0 -0
  57. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/research.py +0 -0
  58. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/structure.py +0 -0
  59. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/commands/tutorial.py +0 -0
  60. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/config.py +0 -0
  61. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/display.py +0 -0
  62. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/download.py +0 -0
  63. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/parser.py +0 -0
  64. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/polling.py +0 -0
  65. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/research.py +0 -0
  66. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/structure.py +0 -0
  67. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/types.py +0 -0
  68. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/src/phi/upload.py +0 -0
  69. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/__init__.py +0 -0
  70. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_api.py +0 -0
  71. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_config.py +0 -0
  72. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_display.py +0 -0
  73. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_download.py +0 -0
  74. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_research.py +0 -0
  75. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_structure.py +0 -0
  76. {dyno_phi-0.2.3 → dyno_phi-0.2.4}/tests/test_upload.py +0 -0
@@ -1,5 +1,8 @@
1
1
  name: Publish to PyPI
2
2
 
3
+ # Retired after dyno-phi 0.2.4, the last release from this repository. From
4
+ # 1.0.0 the package is published by publish-client.yml in dynotx/phi-api.
5
+
3
6
  on:
4
7
  push:
5
8
  tags:
@@ -5,7 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [0.2.4] - 2026-10-17
9
+
10
+ The last release of the 0.2.x line. `dyno-phi` 1.0.0 and later is a different
11
+ client, published from `dynotx/phi-api`, under the same package name.
12
+
13
+ ### Changed
14
+ - Every invocation of `phi` prints a migration notice on stderr: upgrade with
15
+ `pip install --upgrade dyno-phi`, use `PHI_API_KEY` and `PHI_API` in place of
16
+ `DYNO_API_KEY` and `DYNO_API_BASE_URL`, Python 3.12+, docs at
17
+ design.dynotx.com/docs.
18
+ - README carries the same notice. The publish workflow is retired after this
19
+ release; later releases come from `dynotx/phi-api`.
9
20
 
10
21
  ## [0.2.3] - 2026-03-17
11
22
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: dyno-phi
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Phi CLI and biomodals for the dyno protein design platform
5
5
  Project-URL: Homepage, https://dynotx.com
6
6
  Project-URL: Repository, https://github.com/dynotx/phi-cli
@@ -41,6 +41,16 @@ Description-Content-Type: text/markdown
41
41
 
42
42
  # dyno-phi
43
43
 
44
+ > **Retired.** `dyno-phi` 0.2.x is the earlier Phi client and 0.2.4 is its last
45
+ > release; the API it talks to has been shut down, and every 0.2.x release on PyPI
46
+ > is yanked. The current Phi client is `dyno-phi` 1.0 and later, published from
47
+ > [`dynotx/phi-api`](https://github.com/dynotx/phi-api) under the same package
48
+ > name: run `pip install --upgrade dyno-phi` (or `uv tool install "dyno-phi[cli]"`;
49
+ > Python 3.12+), set `PHI_API_KEY` and `PHI_API` in place of `DYNO_API_KEY` and
50
+ > `DYNO_API_BASE_URL`, and read the new command tree at
51
+ > [design.dynotx.com/docs](https://design.dynotx.com/docs). This repository is
52
+ > archived. The text below describes 0.2.x as it was.
53
+
44
54
  **Phi CLI for the dyno protein structure analysis platform.**
45
55
 
46
56
  `phi` is the command-line interface for uploading protein structures, running
@@ -1,5 +1,15 @@
1
1
  # dyno-phi
2
2
 
3
+ > **Retired.** `dyno-phi` 0.2.x is the earlier Phi client and 0.2.4 is its last
4
+ > release; the API it talks to has been shut down, and every 0.2.x release on PyPI
5
+ > is yanked. The current Phi client is `dyno-phi` 1.0 and later, published from
6
+ > [`dynotx/phi-api`](https://github.com/dynotx/phi-api) under the same package
7
+ > name: run `pip install --upgrade dyno-phi` (or `uv tool install "dyno-phi[cli]"`;
8
+ > Python 3.12+), set `PHI_API_KEY` and `PHI_API` in place of `DYNO_API_KEY` and
9
+ > `DYNO_API_BASE_URL`, and read the new command tree at
10
+ > [design.dynotx.com/docs](https://design.dynotx.com/docs). This repository is
11
+ > archived. The text below describes 0.2.x as it was.
12
+
3
13
  **Phi CLI for the dyno protein structure analysis platform.**
4
14
 
5
15
  `phi` is the command-line interface for uploading protein structures, running
@@ -0,0 +1 @@
1
+ __version__ = "0.2.4"
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
 
3
+ from rich.markup import escape
4
+
3
5
  import phi.config as config
4
6
  from phi.commands.auth import cmd_login
5
7
  from phi.commands.datasets import cmd_dataset, cmd_datasets, cmd_ingest_session, cmd_upload, cmd_use
@@ -18,7 +20,7 @@ from phi.commands.research import cmd_notes, cmd_research
18
20
  from phi.commands.structure import cmd_fetch
19
21
  from phi.commands.tutorial import cmd_tutorial
20
22
  from phi.config import _load_state
21
- from phi.display import _C_BLUE, _die, console
23
+ from phi.display import _C_BLUE, _die, console, err_console
22
24
  from phi.parser import build_parser
23
25
  from phi.types import PhiApiError
24
26
 
@@ -73,7 +75,22 @@ def _print_state_footer() -> None:
73
75
  console.print(f"[dim]Dashboard: [link={dashboard_url}]{dashboard_url}[/link][/dim]")
74
76
 
75
77
 
78
+ MIGRATION_NOTICE = (
79
+ "dyno-phi 0.2.x is retired and 0.2.4 is its last release; the API it talks to "
80
+ "has been shut down. The current Phi client is dyno-phi 1.0 and later, with the "
81
+ "same package name: run `pip install --upgrade dyno-phi` (or "
82
+ '`uv tool install "dyno-phi[cli]"`; Python 3.12+), set PHI_API_KEY and PHI_API in '
83
+ "place of DYNO_API_KEY and DYNO_API_BASE_URL, and read the new command tree at "
84
+ "https://design.dynotx.com/docs."
85
+ )
86
+
87
+
88
+ def _print_migration_notice() -> None:
89
+ err_console.print(f"[bold]Notice:[/bold] {escape(MIGRATION_NOTICE)}\n", highlight=False)
90
+
91
+
76
92
  def main() -> None:
93
+ _print_migration_notice()
77
94
  parser = build_parser()
78
95
  args = parser.parse_args()
79
96
  if args.poll_interval is not None:
@@ -1 +0,0 @@
1
- __version__ = "0.2.3"
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