oceanprotocol-job-details 0.3.9__tar.gz → 0.3.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 (19) hide show
  1. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/PKG-INFO +2 -4
  2. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/README.md +1 -3
  3. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/di.py +0 -1
  4. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/domain.py +1 -1
  5. oceanprotocol_job_details-0.3.10/oceanprotocol_job_details/executers.py +13 -0
  6. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/ocean.py +2 -2
  7. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/pyproject.toml +1 -1
  8. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/.gitignore +0 -0
  9. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/LICENSE +0 -0
  10. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/__init__.py +0 -0
  11. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/helpers.py +0 -0
  12. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/__init__.py +0 -0
  13. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/impl/__init__.py +0 -0
  14. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/impl/ddo.py +0 -0
  15. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/impl/files.py +0 -0
  16. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/impl/job_details.py +0 -0
  17. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/loaders/loader.py +0 -0
  18. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/py.typed +0 -0
  19. {oceanprotocol_job_details-0.3.9 → oceanprotocol_job_details-0.3.10}/oceanprotocol_job_details/settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oceanprotocol-job-details
3
- Version: 0.3.9
3
+ Version: 0.3.10
4
4
  Summary: A Python package to get details from OceanProtocol jobs
5
5
  Project-URL: Homepage, https://github.com/AgrospAI/oceanprotocol-job-details
6
6
  Project-URL: Issues, https://github.com/AgrospAI/oceanprotocol-job-details/issues
@@ -32,9 +32,7 @@ A Python package to get details from OceanProtocol jobs
32
32
 
33
33
  ```bash
34
34
  pip install oceanprotocol-job-details
35
- ```
36
-
37
- ```bash
35
+ #or
38
36
  uv add oceanprotocol-job-details
39
37
  ```
40
38
 
@@ -6,9 +6,7 @@ A Python package to get details from OceanProtocol jobs
6
6
 
7
7
  ```bash
8
8
  pip install oceanprotocol-job-details
9
- ```
10
-
11
- ```bash
9
+ #or
12
10
  uv add oceanprotocol-job-details
13
11
  ```
14
12
 
@@ -1,4 +1,3 @@
1
- from types import NoneType
2
1
  from typing import Generic, TypeVar
3
2
  from dependency_injector import containers, providers
4
3
  from pydantic import BaseModel
@@ -1,7 +1,7 @@
1
1
  # mypy: disable-error-code=explicit-any
2
2
  from dataclasses import InitVar, dataclass, field
3
3
  from pathlib import Path
4
- from typing import Generator, List, Optional, Sequence, TypeAlias, TypeVar
4
+ from typing import Generator, List, Optional, Sequence, TypeAlias
5
5
 
6
6
  from pydantic import BaseModel, ConfigDict, Field, JsonValue
7
7
 
@@ -0,0 +1,13 @@
1
+ import asyncio
2
+ from typing import Coroutine, TypeVar
3
+
4
+ T = TypeVar("T")
5
+
6
+
7
+ def run_in_executor(coro: Coroutine[None, None, T]) -> T:
8
+ try:
9
+ loop = asyncio.get_running_loop()
10
+ except RuntimeError:
11
+ return asyncio.run(coro)
12
+ else:
13
+ return loop.run_until_complete(coro)
@@ -3,13 +3,13 @@ from __future__ import annotations
3
3
  import asyncio
4
4
  from functools import cached_property
5
5
  from pathlib import Path
6
- from types import NoneType
7
6
  from typing import Generator, Generic, Tuple, Type, TypeVar, final
8
7
 
9
8
  import aiofiles
10
9
  from pydantic import BaseModel, ConfigDict, Secret
11
10
 
12
11
  from oceanprotocol_job_details.domain import DDO, Files, Paths
12
+ from oceanprotocol_job_details.executers import run_in_executor
13
13
 
14
14
  InputParametersT = TypeVar("InputParametersT", BaseModel, None)
15
15
 
@@ -33,7 +33,7 @@ class JobDetails(BaseModel, Generic[InputParametersT]): # type: ignore[explicit
33
33
 
34
34
  @cached_property
35
35
  def input_parameters(self) -> InputParametersT | None:
36
- return asyncio.run(self.ainput_parameters())
36
+ return run_in_executor(self.ainput_parameters())
37
37
 
38
38
  async def ainput_parameters(self) -> InputParametersT | None:
39
39
  if self.input_type is None:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oceanprotocol-job-details"
3
- version = "0.3.9"
3
+ version = "0.3.10"
4
4
  description = "A Python package to get details from OceanProtocol jobs"
5
5
  authors = [
6
6
  { name = "Agrospai", email = "agrospai@udl.cat" },