Skip to content

Commit 329bae8

Browse files
committed
Updated to run with omnipy v0.20.1
Import cleanup
1 parent f6061d5 commit 329bae8

File tree

13 files changed

+2263
-1050
lines changed

13 files changed

+2263
-1050
lines changed

poetry.lock

Lines changed: 2199 additions & 990 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ reader = "^3.4"
1717
#github3-py = "^3.2.0"
1818
#pandas = "1.5.3"
1919
#pytest = "<8"
20-
omnipy = "^0.16.1"
20+
omnipy = "0.20.1"
2121
#omnipy = { git = "https://github.com/fairtracks/omnipy.git", branch = "release_0.16.0" }
2222
boto3 = "^1.35.23"
2323
#prefect-aws = "<0.5"

src/omnipy_examples/bed.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
from docker.utils.json_stream import json_decoder
12
from omnipy import (Chain2,
23
Chain3,
34
convert_dataset,
45
Dataset,
6+
HttpUrlDataset,
57
LinearFlowTemplate,
68
MatchItemsModel,
79
Model,
@@ -63,10 +65,10 @@ class BedDataset(Dataset[BedModel]):
6365

6466

6567
# Omnipy tasks
66-
@TaskTemplate
67-
def fetch_bed_dataset(url_list: StrDataset) -> StrDataset:
68+
@TaskTemplate()
69+
def fetch_bed_dataset(url_list: HttpUrlDataset) -> StrDataset:
6870
bed_raw_dataset = StrDataset()
69-
bed_raw_dataset.load(*url_list.values())
71+
bed_raw_dataset.load(url_list)
7072
return bed_raw_dataset
7173

7274

@@ -78,11 +80,14 @@ def fetch_bed_dataset(url_list: StrDataset) -> StrDataset:
7880
convert_dataset.refine(
7981
name='convert_to_dataframe', fixed_params={'dataset_cls': PandasDataset}),
8082
)
81-
def import_bed_files_to_pandas(owner: str, repo: str, path: str, file_suffix: str) -> PandasDataset:
83+
def import_bed_files_to_pandas(owner: str, repo: str, branch: str, path: str,
84+
file_suffix: str) -> PandasDataset:
8285
...
8386

8487

8588
# Running the flow
8689
if __name__ == '__main__':
8790
import_bed_files_to_pandas.run(
8891
owner='arq5x', repo='bedtools2', branch='master', path='data', file_suffix='bed')
92+
93+
json_decoder

src/omnipy_examples/chatgpt.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@
77

88
import github3
99
import httpx
10-
from omnipy import runtime
11-
from omnipy.compute.flow import FuncFlowTemplate, LinearFlowTemplate
12-
from omnipy.compute.task import TaskTemplate
13-
from omnipy.data.dataset import Dataset
14-
from omnipy.data.model import Model
10+
from omnipy import Dataset, FuncFlowTemplate, LinearFlowTemplate, Model, runtime, TaskTemplate
1511
from omnipy_examples.chatgpt_words import (literary_styles,
1612
surrealistic_adjectives,
1713
surrealistic_nouns)

src/omnipy_examples/dagsim.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from omnipy.compute.flow import LinearFlowTemplate
2-
from omnipy.modules.general.tasks import import_directory
3-
from omnipy.modules.json.datasets import JsonDictOfDictsDataset
4-
from omnipy.modules.raw.tasks import modify_datafile_contents
1+
from omnipy import (import_directory,
2+
JsonDictOfDictsDataset,
3+
LinearFlowTemplate,
4+
modify_datafile_contents)
55

6-
# from omnipy.modules.r_stat import r
6+
# from omnipy.components.r_stat import r
77

88
# Regex patterns for parsing
99
# variable_pattern = re.compile(r" type discrete \[ \d+ \] \{ (.+) \};\s*")
@@ -14,7 +14,7 @@
1414
# re.compile(r"probability \( (.+) \| (.+) \) \{\s*"))
1515
# conditional_probability_pattern_2 = re.compile(r" \((.+)\) (.+);\s*")
1616

17-
# @TaskTemplate
17+
# @TaskTemplate()
1818
# def import_dag_from_bnlearn(dag_name: str):
1919
# r('chooseCRANmirror(ind = 1)')
2020
# r('install.binaries("bnlearn")')

src/omnipy_examples/encode.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from omnipy.compute.flow import LinearFlowTemplate
2-
from omnipy.modules.fairtracks.tasks import import_dataset_from_encode
3-
from omnipy.modules.json.flows import flatten_nested_json
4-
from omnipy.modules.pandas.models import PandasDataset
5-
from omnipy.modules.pandas.tasks import convert_dataset_list_of_dicts_to_pandas
6-
from omnipy.modules.tables.tasks import remove_columns
1+
from omnipy import (convert_dataset_list_of_dicts_to_pandas,
2+
flatten_nested_json,
3+
LinearFlowTemplate,
4+
PandasDataset,
5+
remove_columns)
6+
from omnipy.components._fairtracks.tasks import import_dataset_from_encode
77

88
# cast_to_dict_on_top = cast_dataset.refine(
99
# name='cast_to_dict_on_top',
@@ -17,7 +17,7 @@
1717
# runtime.config.prefect.use_cached_results = True
1818
#
1919
#
20-
# @FuncFlowTemplate
20+
# @FuncFlowTemplate()
2121
# def import_encode_data_tmpl():
2222
# encode_json = import_dataset_from_encode(
2323
# endpoints=[

src/omnipy_examples/isajson.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from omnipy.compute.flow import LinearFlowTemplate
2-
from omnipy.modules.general.tasks import import_directory
3-
from omnipy.modules.json.flows import (flatten_nested_json,
4-
transpose_dicts_of_lists_of_dicts_2_lists_of_dicts)
5-
from omnipy.modules.json.tasks import convert_dataset_string_to_json
6-
from omnipy.modules.pandas.tasks import convert_dataset_list_of_dicts_to_pandas
1+
from omnipy import (convert_dataset_list_of_dicts_to_pandas,
2+
convert_dataset_string_to_json,
3+
flatten_nested_json,
4+
import_directory,
5+
LinearFlowTemplate,
6+
transpose_dicts_of_lists_of_dicts_2_lists_of_dicts)
77

88

99
@LinearFlowTemplate(

src/omnipy_examples/main.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import importlib
22
from pathlib import Path
33

4-
from omnipy import PandasDataset, runtime
5-
from omnipy.api.enums import ConfigPersistOutputsOptions, ConfigRestoreOutputsOptions, EngineChoice
4+
from omnipy import (ConfigPersistOutputsOptions,
5+
ConfigRestoreOutputsOptions,
6+
EngineChoice,
7+
PandasDataset,
8+
runtime)
69
import typer
710

811
app = typer.Typer()

src/omnipy_examples/multi_broker.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from typing import Callable, Optional, TypeAlias
22

3-
from omnipy.modules.json.datasets import JsonDataset
4-
from omnipy.modules.json.models import JsonModel
3+
from omnipy import JsonDataset, JsonModel
54
from pydantic import BaseModel
65

76
IsaJsonModel: TypeAlias = JsonModel

src/omnipy_examples/uniprot.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
from omnipy.compute.flow import FuncFlowTemplate, LinearFlowTemplate
2-
from omnipy.compute.task import TaskTemplate
3-
from omnipy.modules.json.datasets import JsonDataset, JsonDictOfListsOfDictsDataset
4-
from omnipy.modules.json.flows import flatten_nested_json
5-
from omnipy.modules.json.tasks import transpose_dicts_2_lists_old
6-
from omnipy.modules.pandas.models import PandasDataset
7-
from omnipy.modules.pandas.tasks import convert_dataset_list_of_dicts_to_pandas
1+
from omnipy import (convert_dataset_list_of_dicts_to_pandas,
2+
flatten_nested_json,
3+
FuncFlowTemplate,
4+
JsonDictOfListsOfDictsDataset,
5+
LinearFlowTemplate,
6+
PandasDataset,
7+
TaskTemplate,
8+
transpose_dicts_2_lists)
89
import pandas as pd
910
import requests
1011

1112

12-
@TaskTemplate
13+
@TaskTemplate()
1314
def import_uniprot() -> JsonDictOfListsOfDictsDataset:
1415
HEADERS = {'accept': 'application/json'}
1516
api_url = 'https://rest.uniprot.org/uniprotkb/search?query=human%20cdc7'
@@ -42,14 +43,14 @@ def import_uniprot() -> JsonDictOfListsOfDictsDataset:
4243
# TODO: When automatic transformation of task/flow inputs/outputs are implemented,
4344
# remove to_pandas calls, here and otherwise
4445
import_uniprot, # cast_json,
45-
transpose_dicts_2_lists_old,
46+
transpose_dicts_2_lists,
4647
flatten_nested_json,
4748
convert_dataset_list_of_dicts_to_pandas)
4849
def import_and_flatten_uniprot() -> PandasDataset:
4950
...
5051

5152

52-
@TaskTemplate
53+
@TaskTemplate()
5354
def pandas_magic(pandas: PandasDataset) -> PandasDataset:
5455
# Get synonym table and clean foreign key
5556
df_synonym = pandas['results.genes.synonyms'].contents
@@ -83,7 +84,7 @@ def pandas_magic(pandas: PandasDataset) -> PandasDataset:
8384
return out_dataset
8485

8586

86-
@TaskTemplate
87+
@TaskTemplate()
8788
def pandas_magic_alternative(dataset: PandasDataset) -> PandasDataset:
8889
df_merge_1 = pd.merge(
8990
dataset['results.genes.geneName'].contents,
@@ -138,7 +139,7 @@ def pandas_magic_alternative(dataset: PandasDataset) -> PandasDataset:
138139
return out_dataset
139140

140141

141-
# @TaskTemplate
142+
# @TaskTemplate()
142143
# def pandas_magic_unimplemented(dataset: PandasDataset) -> PandasDataset:
143144
# out_dataset = PandasDataset()
144145
# out_dataset['my_table'] = extract_mapped_table_from_flattened_dataset(
@@ -155,14 +156,14 @@ def pandas_magic_alternative(dataset: PandasDataset) -> PandasDataset:
155156
# return out_dataset
156157

157158

158-
@FuncFlowTemplate
159+
@FuncFlowTemplate()
159160
def import_and_flatten_uniprot_with_magic() -> PandasDataset:
160161
uniprot_6_ds = import_and_flatten_uniprot()
161162
uniprot_7_ds = pandas_magic_alternative(uniprot_6_ds)
162163
return uniprot_7_ds
163164

164165

165-
# @TaskTemplate
166+
# @TaskTemplate()
166167
# def join_a_with_b(pandas_ds: PandasDataset,
167168
# table_a_name: str,
168169
# a_ref_column: str,

src/omnipy_examples/util.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import httpx
2-
from omnipy import JsonModel, Model, StrDataset, TaskTemplate
2+
from omnipy import HttpUrlDataset, JsonModel, Model, TaskTemplate
33

44

5-
@TaskTemplate
5+
@TaskTemplate()
66
def get_github_repo_urls(owner: str, repo: str, branch: str, path: str,
7-
file_suffix: str) -> StrDataset:
7+
file_suffix: str) -> HttpUrlDataset:
88
api_url = f'https://api.github.com/repos/{owner}/{repo}/contents/{path}?ref={branch}'
99
url_pre = f'https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path}'
1010

1111
json_data = JsonModel(httpx.get(api_url).raise_for_status().json())
1212
names = Model[list[str]]([f['name'] for f in json_data if f['name'].endswith(file_suffix)])
13-
return StrDataset({name: f'{url_pre}/{name}' for name in names})
13+
return HttpUrlDataset({name: f'{url_pre}/{name}' for name in names})

workshops/2022.12 Oslo Bioinformatics Days/asyncio.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
import asyncio
22

3-
import omnipy.modules.json.util
4-
import omnipy.modules.pandas.util
5-
import omnipy.modules.raw.util
3+
import omnipy.components.json.util
4+
import omnipy.components.pandas.util
5+
import omnipy.components.raw.util
66

7-
omnipy.modules.json.util.ROOT_DIR = '../../input/bif'
8-
omnipy.modules.pandas.util.ROOT_DIR = '../../input/bif'
9-
omnipy.modules.raw.util.ROOT_DIR = '../../input/bif'
7+
omnipy.components.json.util.ROOT_DIR = '../../input/bif'
8+
omnipy.components.pandas.util.ROOT_DIR = '../../input/bif'
9+
omnipy.components.raw.util.ROOT_DIR = '../../input/bif'
1010

1111

12-
# @TaskTemplate
12+
# @TaskTemplate()
1313
async def fetch_from_api(what: str):
1414
asyncio.sleep(10)
1515
return what
1616

1717

18-
# @FuncFlowTemplate
18+
# @FuncFlowTemplate()
1919
async def caller():
2020
data = fetch_from_api('asdsda')
2121
data2 = fetch_from_api('asdd')

workshops/2022.12 Oslo Bioinformatics Days/pydantic_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from typing import Dict, List
22

3+
from omnipy.components.pandas.datasets import PandasDataset
34
from omnipy.data.dataset import Dataset, MultiModelDataset
45
from omnipy.data.model import Model
5-
from omnipy.modules.pandas.models import PandasDataset
66
from pydantic import BaseModel, validator
77

88

0 commit comments

Comments
 (0)