Metadata-Version: 2.1
Name: tapipy
Version: 0.2.3
Summary: Python lib for interacting with an instance of the Tapis API Framework
Home-page: https://github.com/tapis-project/tapipy
License: BSD-4-Clause
Author: Joe Stubbs
Author-email: jstubbs@tacc.utexas.edu
Maintainer: Joe Stubbs
Maintainer-email: jstubbs@tacc.utexas.edu
Requires-Python: >=3.6,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: PyJWT (==1.7.1)
Requires-Dist: certifi (>=14.05.14,<15.0.0)
Requires-Dist: cryptography (>=2.9.2,<3.0.0)
Requires-Dist: openapi_core (>=0.13.0,<0.14.0)
Requires-Dist: python_dateutil (>=2.5.3,<3.0.0)
Requires-Dist: requests
Requires-Dist: setuptools (>=21.0.0,<22.0.0)
Requires-Dist: six (>=1.10,<2.0)
Requires-Dist: urllib3 (>=1.15.1,<2.0.0)
Project-URL: Repository, https://github.com/tapis-project/tapipy
Description-Content-Type: text/markdown

# tapipy - Tapis V3 Python SDK

Python library for interacting with an instance of the Tapis API Framework.

## Development

This project is under active development, exploring different approaches to SDK generation.

## Installation

```
pip install tapipy
```

## Running the tests

Tests resources are contained within the `test` directory. `Dockerfile-tests` is at root.
1. Build the test docker image: `docker build -t tapis/tapipy-tests -f Dockerfile-tests .`
2. Run these tests using the built docker image: `docker run -it --rm  tapis/tapipy-tests`

## Usage

TODO - provide working examples, e.g., 
```
import tapipy
t = tapipy.Tapis(base_url='http://localhost:5001')
req = t.tokens.NewTokenRequest(token_type='service', token_tenant_id='dev', token_username='admin')
t.tokens.create_token(req)

import openapi_client
configuration = openapi_client.Configuration()
configuration.host = 'http://localhost:5001'
api_instance = openapi_client.TokensApi(openapi_client.ApiClient(configuration))

new_token = openapi_client.NewTokenRequest(token_type='service', token_tenant_id='dev', token_username='admin')

resp = api_instance.create_token(new_token)
jwt = resp.get('result').get('access_token').get('access_token')
```

## Build instructions

Building is done with poetry as follows:
```
pip install poetry
poetry install
```
This installs `tapipy` to a virtual environment. Run a shell in this environment with:
```
poetry shell
```

To install locally (not in a virtual environment):
```
pip install poetry
poetry build
cd dists
pip install *.whl
```

## PyPi Push Instructions

```
poetry build
poetry publish
```
