Skip to content

Commit

Permalink
Release 1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
victorskl committed Nov 5, 2021
1 parent 82dc42e commit f9b11cf
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 2 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,9 @@
* This is also to keep track with ICA v1
* [Updated to upstream ICA OpenAPI Swagger definitions PR#45](https://github.com/umccr-illumina/libica/pull/45)
* See [milestone 1.0.0 for all related PRs](https://github.com/umccr-illumina/libica/milestone/3?closed=1)

1.1.0
-----
* Release date: 2021-11-05
* Added App Package for reusable implementations
* See [milestone 1.1.0 for all related PRs](https://github.com/umccr-illumina/libica/milestone/5?closed=1)
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Python SDK to programmatically call Illumina Connected Analytics (ICA) BioInform
- Tested for Python 3.6, 3.7, 3.8, 3.9
- [Test Coverage](https://umccr-illumina.github.io/libica/coverage/)

## TL;DR
## Using OpenAPI Package

- Install through ``pip`` like so:
```commandline
Expand Down Expand Up @@ -74,6 +74,42 @@ More examples available at:
- [PyDoc](https://umccr-illumina.github.io/libica/libica/)
- [Wiki](https://github.com/umccr-illumina/libica/wiki)

## Using App Package

> NOTE: `libica.app` package contains reusable modules that are based on use cases around UMCCR Data Portal backend, CWL Workflows and its orchestration implementations. Hence, it may be a specific implementation, however, it can still be reusable for your cases. Please have a look [into package](libica/app) and quick starter examples are as follows.
Example: Configuration Object Builder

```python
from libica.app import configuration
from libica.openapi import libgds

gds_config = configuration(
lib=libgds, # pass in library of interest e.g. libwes, libtes, etc
secret_name=["FROM_AWS_SECRET_MANAGER_THAT_STORE_ICA_ACCESS_TOKEN"],
base_url="https://use1.platform.illumina.com", # overwrite if not https://aps2.platform.illumina.com
debug=False, # True if you like to debug API calls, False by default anyway, just for demo
)

with libgds.ApiClient(gds_config) as api_client:
...
```

Example: Listing Files from GDS

```python
from typing import List

from libica.app import gds
from libica.openapi import libgds

vol, path = gds.parse_path("gds://development/some/folder/path/")
files: List[libgds.FileResponse] = gds.get_file_list(volume_name=vol, path=path)

for file in files:
print(f"{file.name}, {file.volume_name}, {file.path}, {file.presigned_url}")
```

## Development

- Setup virtual environment and activate it
Expand Down
2 changes: 1 addition & 1 deletion libica/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = VERSION = '1.0.0'
__version__ = VERSION = '1.1.0'

import logging
logging.getLogger(__name__).addHandler(logging.NullHandler())

0 comments on commit f9b11cf

Please sign in to comment.