intelliseq-iflow 0.2.7__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.
@@ -0,0 +1,231 @@
1
+ # Secrets - NEVER commit
2
+ secrets/*.json
3
+ !secrets/.gitkeep
4
+
5
+ # Temporary local files
6
+ tmp/
7
+
8
+ # venv
9
+ venv
10
+
11
+
12
+ # Byte-compiled / optimized / DLL files
13
+ __pycache__/
14
+ *.py[codz]
15
+ *$py.class
16
+
17
+ # C extensions
18
+ *.so
19
+
20
+ # Distribution / packaging
21
+ .Python
22
+ build/
23
+ develop-eggs/
24
+ dist/
25
+ downloads/
26
+ eggs/
27
+ .eggs/
28
+ lib/
29
+ lib64/
30
+ parts/
31
+ sdist/
32
+ var/
33
+ wheels/
34
+ share/python-wheels/
35
+ *.egg-info/
36
+ .installed.cfg
37
+ *.egg
38
+ MANIFEST
39
+
40
+ # PyInstaller
41
+ # Usually these files are written by a python script from a template
42
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Installer logs
47
+ pip-log.txt
48
+ pip-delete-this-directory.txt
49
+
50
+ # Unit test / coverage reports
51
+ htmlcov/
52
+ .tox/
53
+ .nox/
54
+ .coverage
55
+ .coverage.*
56
+ .cache
57
+ nosetests.xml
58
+ coverage.xml
59
+ *.cover
60
+ *.py.cover
61
+ .hypothesis/
62
+ .pytest_cache/
63
+ cover/
64
+
65
+ # Translations
66
+ *.mo
67
+ *.pot
68
+
69
+ # Django stuff:
70
+ *.log
71
+ local_settings.py
72
+ db.sqlite3
73
+ db.sqlite3-journal
74
+
75
+ # Flask stuff:
76
+ instance/
77
+ .webassets-cache
78
+
79
+ # Scrapy stuff:
80
+ .scrapy
81
+
82
+ # Sphinx documentation
83
+ docs/_build/
84
+
85
+ # PyBuilder
86
+ .pybuilder/
87
+ target/
88
+
89
+ # Jupyter Notebook
90
+ .ipynb_checkpoints
91
+
92
+ # IPython
93
+ profile_default/
94
+ ipython_config.py
95
+
96
+ # pyenv
97
+ # For a library or package, you might want to ignore these files since the code is
98
+ # intended to run in multiple environments; otherwise, check them in:
99
+ # .python-version
100
+
101
+ # pipenv
102
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
103
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
104
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
105
+ # install all needed dependencies.
106
+ #Pipfile.lock
107
+
108
+ # UV
109
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
110
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
111
+ # commonly ignored for libraries.
112
+ #uv.lock
113
+
114
+ # poetry
115
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
116
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
117
+ # commonly ignored for libraries.
118
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
119
+ #poetry.lock
120
+ #poetry.toml
121
+
122
+ # pdm
123
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
124
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
125
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
126
+ #pdm.lock
127
+ #pdm.toml
128
+ .pdm-python
129
+ .pdm-build/
130
+
131
+ # pixi
132
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
133
+ #pixi.lock
134
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
135
+ # in the .venv directory. It is recommended not to include this directory in version control.
136
+ .pixi
137
+
138
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
139
+ __pypackages__/
140
+
141
+ # Celery stuff
142
+ celerybeat-schedule
143
+ celerybeat.pid
144
+
145
+ # SageMath parsed files
146
+ *.sage.py
147
+
148
+ # Environments
149
+ .env
150
+ .envrc
151
+ .venv
152
+ env/
153
+ venv/
154
+ ENV/
155
+ env.bak/
156
+ venv.bak/
157
+
158
+ # Spyder project settings
159
+ .spyderproject
160
+ .spyproject
161
+
162
+ # Rope project settings
163
+ .ropeproject
164
+
165
+ # mkdocs documentation
166
+ /site
167
+
168
+ # mypy
169
+ .mypy_cache/
170
+ .dmypy.json
171
+ dmypy.json
172
+
173
+ # Pyre type checker
174
+ .pyre/
175
+
176
+ # pytype static type analyzer
177
+ .pytype/
178
+
179
+ # Cython debug symbols
180
+ cython_debug/
181
+
182
+ # PyCharm
183
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
184
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
185
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
186
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
187
+ #.idea/
188
+
189
+ # Abstra
190
+ # Abstra is an AI-powered process automation framework.
191
+ # Ignore directories containing user credentials, local state, and settings.
192
+ # Learn more at https://abstra.io/docs
193
+ .abstra/
194
+
195
+ # Visual Studio Code
196
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
197
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
198
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
199
+ # you could uncomment the following to ignore the entire vscode folder
200
+ # .vscode/
201
+
202
+ # Ruff stuff:
203
+ .ruff_cache/
204
+
205
+ # PyPI configuration file
206
+ .pypirc
207
+
208
+ # Cursor
209
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
210
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
211
+ # refer to https://docs.cursor.com/context/ignore-files
212
+ .cursorignore
213
+ .cursorindexingignore
214
+
215
+ # Marimo
216
+ marimo/_static/
217
+ marimo/_lsp/
218
+ __marimo__/
219
+
220
+ # Terraform
221
+ # State is stored in repo, but exclude sensitive files
222
+ *.tfstate.backup
223
+ .terraform/
224
+ .terraform.lock.hcl
225
+ crash.log
226
+ crash.*.log
227
+ override.tf
228
+ override.tf.json
229
+ *_override.tf
230
+ *_override.tf.json
231
+ *.tfplan
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: intelliseq-iflow
3
+ Version: 0.2.7
4
+ Summary: CLI tool for iFlow - genomic data management and workflow execution
5
+ Project-URL: Homepage, https://intelliseq.com
6
+ Project-URL: Documentation, https://docs.iflow.intelliseq.com
7
+ Author-email: IntelliSeq <contact@intelliseq.com>
8
+ License: MIT
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Requires-Python: >=3.10
18
+ Requires-Dist: click>=8.0.0
19
+ Requires-Dist: httpx>=0.27.0
20
+ Requires-Dist: keyring>=25.0.0
21
+ Requires-Dist: keyrings-alt>=5.0.0
22
+ Requires-Dist: pydantic-settings>=2.0.0
23
+ Requires-Dist: pydantic>=2.0.0
24
+ Requires-Dist: rich>=13.0.0
25
+ Provides-Extra: dev
26
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
27
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
28
+ Requires-Dist: ruff>=0.3.0; extra == 'dev'
29
+ Description-Content-Type: text/markdown
30
+
31
+ # intelliseq-iflow
32
+
33
+ CLI tool for iFlow - genomic data management and workflow execution.
34
+
35
+ ## Installation
36
+
37
+ ```bash
38
+ pip install intelliseq-iflow
39
+ ```
40
+
41
+ ## Usage
42
+
43
+ ### Authentication
44
+
45
+ Login using OAuth Device Flow:
46
+
47
+ ```bash
48
+ iflow login
49
+ ```
50
+
51
+ This will open a browser for authentication. Your credentials are stored securely in your system keyring.
52
+
53
+ Check login status:
54
+
55
+ ```bash
56
+ iflow status
57
+ ```
58
+
59
+ Logout:
60
+
61
+ ```bash
62
+ iflow logout
63
+ ```
64
+
65
+ ### File Operations
66
+
67
+ List files in a project:
68
+
69
+ ```bash
70
+ iflow files ls --project PROJECT_ID
71
+ iflow files ls --project PROJECT_ID --path data/raw/
72
+ ```
73
+
74
+ Download a file:
75
+
76
+ ```bash
77
+ iflow files download --project PROJECT_ID --path data/file.txt
78
+ iflow files download --project PROJECT_ID --path data/file.txt -o local_file.txt
79
+ ```
80
+
81
+ Upload a file:
82
+
83
+ ```bash
84
+ iflow files upload --project PROJECT_ID local_file.txt data/uploaded.txt
85
+ ```
86
+
87
+ ### Running Pipelines
88
+
89
+ Submit a pipeline run:
90
+
91
+ ```bash
92
+ iflow runs submit --pipeline hereditary-mock \
93
+ -P case_id=patient-001 \
94
+ -P child_fastq=data/R1.fastq.gz \
95
+ --watch
96
+ ```
97
+
98
+ With LIS callback:
99
+
100
+ ```bash
101
+ iflow runs submit --pipeline hereditary-panel \
102
+ -P vcf_file=data/sample.vcf.gz \
103
+ --callback-url https://lis.example.com/api/callback
104
+ ```
105
+
106
+ ## Configuration
107
+
108
+ Configure environment:
109
+
110
+ ```bash
111
+ iflow config env dev # Development
112
+ iflow config env stg # Staging
113
+ iflow config env prod # Production
114
+ ```
115
+
116
+ Select default project:
117
+
118
+ ```bash
119
+ iflow config select-project
120
+ ```
121
+
122
+ View current configuration:
123
+
124
+ ```bash
125
+ iflow config show
126
+ ```
127
+
128
+ ## Development
129
+
130
+ ```bash
131
+ # Install in development mode
132
+ pip install -e ".[dev]"
133
+
134
+ # Run tests
135
+ pytest
136
+
137
+ # Format code
138
+ ruff format .
139
+ ruff check --fix .
140
+ ```
@@ -0,0 +1,110 @@
1
+ # intelliseq-iflow
2
+
3
+ CLI tool for iFlow - genomic data management and workflow execution.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install intelliseq-iflow
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Authentication
14
+
15
+ Login using OAuth Device Flow:
16
+
17
+ ```bash
18
+ iflow login
19
+ ```
20
+
21
+ This will open a browser for authentication. Your credentials are stored securely in your system keyring.
22
+
23
+ Check login status:
24
+
25
+ ```bash
26
+ iflow status
27
+ ```
28
+
29
+ Logout:
30
+
31
+ ```bash
32
+ iflow logout
33
+ ```
34
+
35
+ ### File Operations
36
+
37
+ List files in a project:
38
+
39
+ ```bash
40
+ iflow files ls --project PROJECT_ID
41
+ iflow files ls --project PROJECT_ID --path data/raw/
42
+ ```
43
+
44
+ Download a file:
45
+
46
+ ```bash
47
+ iflow files download --project PROJECT_ID --path data/file.txt
48
+ iflow files download --project PROJECT_ID --path data/file.txt -o local_file.txt
49
+ ```
50
+
51
+ Upload a file:
52
+
53
+ ```bash
54
+ iflow files upload --project PROJECT_ID local_file.txt data/uploaded.txt
55
+ ```
56
+
57
+ ### Running Pipelines
58
+
59
+ Submit a pipeline run:
60
+
61
+ ```bash
62
+ iflow runs submit --pipeline hereditary-mock \
63
+ -P case_id=patient-001 \
64
+ -P child_fastq=data/R1.fastq.gz \
65
+ --watch
66
+ ```
67
+
68
+ With LIS callback:
69
+
70
+ ```bash
71
+ iflow runs submit --pipeline hereditary-panel \
72
+ -P vcf_file=data/sample.vcf.gz \
73
+ --callback-url https://lis.example.com/api/callback
74
+ ```
75
+
76
+ ## Configuration
77
+
78
+ Configure environment:
79
+
80
+ ```bash
81
+ iflow config env dev # Development
82
+ iflow config env stg # Staging
83
+ iflow config env prod # Production
84
+ ```
85
+
86
+ Select default project:
87
+
88
+ ```bash
89
+ iflow config select-project
90
+ ```
91
+
92
+ View current configuration:
93
+
94
+ ```bash
95
+ iflow config show
96
+ ```
97
+
98
+ ## Development
99
+
100
+ ```bash
101
+ # Install in development mode
102
+ pip install -e ".[dev]"
103
+
104
+ # Run tests
105
+ pytest
106
+
107
+ # Format code
108
+ ruff format .
109
+ ruff check --fix .
110
+ ```
@@ -0,0 +1,61 @@
1
+ [project]
2
+ name = "intelliseq-iflow"
3
+ version = "0.2.7"
4
+ description = "CLI tool for iFlow - genomic data management and workflow execution"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = {text = "MIT"}
8
+ authors = [
9
+ {name = "IntelliSeq", email = "contact@intelliseq.com"},
10
+ ]
11
+ classifiers = [
12
+ "Development Status :: 3 - Alpha",
13
+ "Environment :: Console",
14
+ "Intended Audience :: Developers",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Programming Language :: Python :: 3",
17
+ "Programming Language :: Python :: 3.10",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
+ ]
21
+ dependencies = [
22
+ "click>=8.0.0",
23
+ "httpx>=0.27.0",
24
+ "rich>=13.0.0",
25
+ "keyring>=25.0.0",
26
+ "keyrings.alt>=5.0.0", # Fallback for environments without system keyring
27
+ "pydantic>=2.0.0",
28
+ "pydantic-settings>=2.0.0",
29
+ ]
30
+
31
+ [project.optional-dependencies]
32
+ dev = [
33
+ "pytest>=8.0.0",
34
+ "pytest-asyncio>=0.23.0",
35
+ "ruff>=0.3.0",
36
+ ]
37
+
38
+ [tool.pytest.ini_options]
39
+ testpaths = ["tests"]
40
+ asyncio_mode = "auto"
41
+
42
+ [project.scripts]
43
+ iflow = "iflow.cli:main"
44
+
45
+ [project.urls]
46
+ Homepage = "https://intelliseq.com"
47
+ Documentation = "https://docs.iflow.intelliseq.com"
48
+
49
+ [build-system]
50
+ requires = ["hatchling"]
51
+ build-backend = "hatchling.build"
52
+
53
+ [tool.hatch.build.targets.wheel]
54
+ packages = ["src/iflow"]
55
+
56
+ [tool.ruff]
57
+ line-length = 100
58
+ target-version = "py310"
59
+
60
+ [tool.ruff.lint]
61
+ select = ["E", "F", "I", "UP"]
@@ -0,0 +1,3 @@
1
+ """iseq-flow - CLI tool for IntelliSeq Flow cloud file management."""
2
+
3
+ __version__ = "0.2.7"