Metadata-Version: 2.1
Name: lumapps-sdk
Version: 1.2.3a0
Summary: 
Home-page: https://github.com/lumapps/lumapps-sdk
License: MIT
Keywords: lumapps-sdk,sdk,python
Author: Aurélien Dentan
Author-email: aurelien@lumapps.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: Authlib (<=0.15.3)
Requires-Dist: PyJWT (>=2.1.0,<3.0.0)
Requires-Dist: httpx (>=0.15.5,<0.16.0)
Requires-Dist: pre-commit (>=2.13.0,<3.0.0)
Requires-Dist: python-slugify (>=4.0.1,<5.0.0)
Requires-Dist: requests-oauthlib (>=1.3.0,<2.0.0)
Project-URL: Repository, https://github.com/lumapps/lumapps-sdk
Description-Content-Type: text/markdown

# Lumapps SDK

<p align="center">
    <a href="https://github.com/lumapps/lumapps-sdk/actions?query=workflow%3ACI"><img alt="Action Status" src="https://github.com/lumapps/lumapps-sdk/workflows/CI/badge.svg"></a>
    <a href="https://pypi.org/project/lumapps-sdk/"><img alt="Pypi" src="https://img.shields.io/pypi/v/lumapps-sdk"></a>
    <a href="https://codecov.io/gh/lumapps/lumapps-sdk/branch/master"><img alt="Coverage" src="https://codecov.io/gh/lumapps/lumapps-sdk/branch/master/graph/badge.svg"></a>
    <a href="https://github.com/ambv/black"><img alt="Black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
    <a href="#"><img alt="Black" src="https://img.shields.io/badge/python-3.6%7C3.7%7C3.8-blue"></a>
</p>


LumApps SDK is a set of tools to manipulate the [LumApps API](https://api.lumapps.com/docs/start)

This includes:

- A client that support all the routes of the API (located in folder lumapps)
- A set of helper classes to easily manipulate LumApps elements as Python Objects and classes (folder lumapps/helpers)


## Installation

```bash
pip install lumapps-sdk
```

## Requirements

Python >= 3.7

## Getting started

1. Get your token

    LumApps supports multiple ways of authentication.
    The fastest one to implement is the following:

    Get your token by logging to your LumApps account.
    Go to [https://sites.lumapps.com](https://sites.lumapps.com) and authenticate.
    Once connected, open the javascript console of your browser and run:

    ```javascript
    var instance = window.location.pathname.split('/');
    instance = instance[1] == "a" ? instance[3] : instance[1]
    fetch(window.location.origin+"/service/init?customerHost="+window.location.host+"&instanceSlug="+instance+"&    slug=").then(data=>{return data.json()}).then(res => {console.log(res.token)})
    ```

    This will generate your personal LumApps token that will be active for 60 minutes, and that we will use in the following steps

2. Authenticate

    ```python
    from lumapps.api import BaseClient

    token = "MY TOKEN"
    client = BaseClient(token=token)
    ```

3. Make your first API call

    Let's display the full name of a registered user in lumapps

    ```python
    user_email = "YOUR EMAIL"
    usr = api.get_call("user/get", email=user_email)
    print("Hello {}".format(usr["fullName"]))
    ```

## Documentation

The SDK documentation is available [here](https://lumapps.github.io/lumapps-sdk/).

## Code convention

Docstring in PEP 484 type annotations format adapted to python 2.7 using comments.

## How to get help, contribute, or provide feedback

Please refer to our [contributing guidelines](CONTRIBUTING.md).

## Copyright and license

LumApps SDK is released under the [MIT license](LICENSE.md).

