protein-quest 0.10.1__py3-none-any.whl → 1.0.0__py3-none-any.whl

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.
@@ -1,2 +1,2 @@
1
- __version__ = "0.10.1"
1
+ __version__ = "1.0.0"
2
2
  """The version of the package."""
protein_quest/parallel.py CHANGED
@@ -86,12 +86,15 @@ def _configure_cpu_dask_scheduler(nproc: int, name: str) -> LocalCluster:
86
86
  return LocalCluster(name=name, threads_per_worker=1, n_workers=n_workers)
87
87
 
88
88
 
89
- # Generic type parameters used across helpers
90
- P = ParamSpec("P")
89
+ class MyProgressBar(ProgressBar):
90
+ """Show progress of Dask computations.
91
91
 
92
+ Copy of distributed.diagnostics.progressbar.TextProgressBar that:
92
93
 
93
- class _StderrTextProgressBar(ProgressBar):
94
- """Copy of distributed.diagnostics.progressbar.TextProgressBar that prints to stderr instead of stdout."""
94
+ - prints to stderr instead of stdout
95
+ - Can have its interval (in seconds) set with `TQDM_MININTERVAL` environment variable
96
+
97
+ """
95
98
 
96
99
  __loop: IOLoop | None = None
97
100
 
@@ -107,6 +110,11 @@ class _StderrTextProgressBar(ProgressBar):
107
110
  **kwargs, # noqa: ARG002
108
111
  ):
109
112
  self._loop_runner = loop_runner = LoopRunner(loop=loop)
113
+ if interval == "100ms":
114
+ interval_env = os.getenv("TQDM_MININTERVAL")
115
+ if interval_env is not None:
116
+ interval = interval_env + "s"
117
+
110
118
  super().__init__(keys, scheduler, interval, complete)
111
119
  self.width = width
112
120
 
@@ -144,6 +152,10 @@ class _StderrTextProgressBar(ProgressBar):
144
152
  sys.stderr.flush()
145
153
 
146
154
 
155
+ # Generic type parameters used across helpers
156
+ P = ParamSpec("P")
157
+
158
+
147
159
  def dask_map_with_progress[T, R, **P](
148
160
  client: Client,
149
161
  func: Callable[Concatenate[T, P], R],
@@ -154,6 +166,10 @@ def dask_map_with_progress[T, R, **P](
154
166
  """
155
167
  Wrapper for map, progress, and gather of Dask that returns a correctly typed list.
156
168
 
169
+ Environment variables:
170
+ - Set interval (in seconds) of progress updates with `TQDM_MININTERVAL`
171
+ - Disabled by setting `TQDM_DISABLE` to any value
172
+
157
173
  Args:
158
174
  client: Dask client.
159
175
  func: Function to map; first parameter comes from ``iterable`` and any
@@ -169,6 +185,7 @@ def dask_map_with_progress[T, R, **P](
169
185
  if client.dashboard_link:
170
186
  logger.info(f"Follow progress on dask dashboard at: {client.dashboard_link}")
171
187
  futures = client.map(func, iterable, *args, **kwargs)
172
- _StderrTextProgressBar(futures)
188
+ if not os.getenv("TQDM_DISABLE"):
189
+ MyProgressBar(futures)
173
190
  results = client.gather(futures)
174
191
  return cast("list[R]", results)
@@ -1,12 +1,27 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: protein_quest
3
- Version: 0.10.1
3
+ Version: 1.0.0
4
4
  Summary: Search/retrieve/filter proteins and protein structures
5
5
  Project-URL: Homepage, https://github.com/haddocking/protein-quest
6
6
  Project-URL: Issues, https://github.com/haddocking/protein-quest/issues
7
7
  Project-URL: Documentation, https://www.bonvinlab.org/protein-quest/
8
8
  Project-URL: Source, https://github.com/haddocking/protein-quest
9
9
  License-File: LICENSE
10
+ Keywords: alphafold,mmcif,pdb,protein,protein structure,uniprot
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Environment :: Console
13
+ Classifier: Framework :: AsyncIO
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Natural Language :: English
17
+ Classifier: Operating System :: MacOS
18
+ Classifier: Operating System :: POSIX
19
+ Classifier: Operating System :: POSIX :: Linux
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
23
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
24
+ Classifier: Typing :: Typed
10
25
  Requires-Python: >=3.13
11
26
  Requires-Dist: aiofiles>=24.1.0
12
27
  Requires-Dist: aiohttp-retry>=2.9.1
@@ -1,5 +1,5 @@
1
1
  protein_quest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- protein_quest/__version__.py,sha256=qCmLtq4uktEgR1D3vZFBaO_0UsYFvPWt7gmxqgWwku0,57
2
+ protein_quest/__version__.py,sha256=fb4tmcrpQ8DpX5nyj0S9YU6dOsGM0L_N3rGiboRYQ-8,56
3
3
  protein_quest/cli.py,sha256=aWqdAeseUm7s8UGmrPFNfJPW6W83RmpJAsEy4sZscQY,57506
4
4
  protein_quest/converter.py,sha256=Y-Oxf7lDNbEicL6GS-IpNWDwaAiHgIgs5bFAcEHCKdQ,1441
5
5
  protein_quest/emdb.py,sha256=641c6RwNYnu-0GBFyCFBiI58fNc0jMkd0ZZ9MW9-Jmc,1501
@@ -7,7 +7,7 @@ protein_quest/filters.py,sha256=em1FYD7Y9z98ZSaJGYCv1VCGRADLbat8FfSOlNJNAJM,5663
7
7
  protein_quest/go.py,sha256=lZNEcw8nTc9wpV3cl4y2FG9Lsj8wsXQ6zemmAQs_DWE,5650
8
8
  protein_quest/io.py,sha256=ngV_HU2HIQFO-bP2xQj_fhgv0MYjW4puqz_9CxGpBv8,13017
9
9
  protein_quest/mcp_server.py,sha256=ZmEs18crS_Ce1-b_PM4m5kmS5C8lLlcrgpocTt7GVrg,8551
10
- protein_quest/parallel.py,sha256=uf26nD5l1Gp4Z5AFgb0K3vNBUlzvfFh8NSDbGzePSr0,5856
10
+ protein_quest/parallel.py,sha256=hmwjv-KeiC7qSs5xApAvh3ZKkJ9HDW5zmr1zuwOzFpg,6367
11
11
  protein_quest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  protein_quest/ss.py,sha256=4ZGIHfjTlodYTXqGUKhMnGbgaStYOGaWg2oYrWIjdgo,10118
13
13
  protein_quest/structure.py,sha256=3TdzrXbGpmnskp3gjwVevwD1tfhKfAUPOHWi9ViaheM,9101
@@ -20,8 +20,8 @@ protein_quest/alphafold/entry_summary.py,sha256=Qhnw75RXFaoOU332g7axg_jYbbdZbUps
20
20
  protein_quest/alphafold/fetch.py,sha256=D-RWKWo5kWpCko_LNT_sslzrpeR3HX9nu5F4MUOFRtI,21979
21
21
  protein_quest/pdbe/__init__.py,sha256=eNNHtN60NAGea7gvRkIzkoTXsYPK99s-ldIcKWYO6So,61
22
22
  protein_quest/pdbe/fetch.py,sha256=e8CHWDX2QzWnVLmYXCfNrscw1UcN1lI9Uz6Z5HmEOEQ,2510
23
- protein_quest-0.10.1.dist-info/METADATA,sha256=Mz2JLKRAqBvcbMsr1I1rdeYlJK8lTUXCX3AwBpSywxI,11939
24
- protein_quest-0.10.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
- protein_quest-0.10.1.dist-info/entry_points.txt,sha256=f1RtOxv9TFBO3w01EMEuFXBTMsqKsQcKlkxmj9zE-0g,57
26
- protein_quest-0.10.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
- protein_quest-0.10.1.dist-info/RECORD,,
23
+ protein_quest-1.0.0.dist-info/METADATA,sha256=6BeMJwGMFaHE03fo_Eqc-fGAz3NeX8SiLQb6tsJwz5I,12652
24
+ protein_quest-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
+ protein_quest-1.0.0.dist-info/entry_points.txt,sha256=f1RtOxv9TFBO3w01EMEuFXBTMsqKsQcKlkxmj9zE-0g,57
26
+ protein_quest-1.0.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
+ protein_quest-1.0.0.dist-info/RECORD,,