Metadata-Version: 2.1
Name: praetorian-api-client
Version: 0.4.3
Summary: Api client maintaining communication to praetorian-api.
Home-page: https://github.com/Praetorian-Defence/praetorian-api-client
Author: Adam Žúrek
Author-email: adamzurek14@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Database
Classifier: Topic :: Security
Description-Content-Type: text/markdown
Requires-Dist: python-dotenv (==0.15.*)
Requires-Dist: requests (==2.24.*)

# praetorian-api-client

My name is Aurelius and I am emperor's counselor 👨‍⚖️. My everyday job is to maintain and manage communication 🗣 between praetorian 
Cornelius 🛡️ and military commander Maximus ⚔️.

Or just for normal people without abstract thinking I am API Client for praetorian-api project.

## Introduction

Praetorian API Client is used for creating requests to Praetorian API and for receiving responses which are deserialized to objects.

## Installation

```python
# pip
pip install praetorian-api-client

# pipenv
pipenv install praetorian-api-client

# poetry
poetry add praetorian-api-client
```

## Example

#### 1. Create Environment object

```python
from praetorian_api_client.configuration import Environment

environment = Environment(name='praetorian-api', api_url='http://127.0.0.1:8000/', read_only=False)
```

---

#### 2. Create Configuration object

```python
from praetorian_api_client.configuration import Configuration

configuration = Configuration(environment=environment, key='api-key', secret='api-secret')
```

#### 3. Create ApiClient object

```python
from praetorian_api_client.api_client import ApiClient

api_client = ApiClient.create_from_auth(configuration=configuration, username='username', password='password')
```

#### 3. Create request from ApiClient to Api

> This request will return (if successful) list of Remote objects.

```python
remotes = api_client.remote.list()
```

## Tests

To run tests, you need to run command: `pytest`

Tests require access data to the api. For security reasons, access data is stored in environment variables. To set 
environment variables, you need to create an `.env` file from the example in the `.env.example` file.

---
Developed with 💙 and ☕️ by [Adam Žúrek](https://zurek11.github.io/)
with the support of [BACKBONE s.r.o.](https://www.backbone.sk/), 2021 (C)

## 0.1.0 : 2020-01-12

- Initial release

## 0.1.1 : 2020-01-12

- ⛄️ Added resources package

## 0.1.2 : 2020-01-12

- 🌈 Added to remote list possibility to filter by name

## 0.1.3 : 2020-02-12

- 🎃 Implemented service list

## 0.1.4 : 2020-02-12

- 😴 Implemented fill_content method for filling query/payload content

## 0.1.5 : 2020-02-12

- 🤭 Implemented tests according to specific filter arguments

## 0.1.6 : 2020-02-12

- 🦾 Fixed getting variables of service object.

## 0.2.0 : 2020-02-12

- 🥑 Implemented self delete endpoint for temporary user.
- 🥑 Added additional data to user get response.

## 0.3.0 : 2020-02-12

- 🍓 Implemented endpoint for getting one specific remote by id.

## 0.4.0 : 2021-06-05

- 🍇 Implemented endpoint for getting one specific service by id.

## 0.4.1 : 2021-06-05

- 🍌 Service endpoints now gets all data from the instance.

## 0.4.2 : 2021-08-05

- 🥒 Added name filter to the project listing endpoint.
- 🥒 Added name filter to the service listing endpoint.
- 🥒 Implemented create of temporary user endpoint.

## 0.4.3 : 2021-09-05

- 🥕 Changed api requests according to the new api changes.
- 🥕 Implemented test for temporary_user creation process.


