semvec/pypi-packages huggingface dataset:
storas 0.7
A module for working with Android repo (repotool, git-repo) manifest files
Requires Python: >=3.6

# storas

Storas was originally designed as a replacement for the AOSP
(Android Open Source Project)'s 'repo' tool. It aims to do the following.

Turns out I don't like 'repo' and don't want to re-implement it anyways
because I don't think it, as a tool, is a good idea.

So instead this repository just became a toolkit for dealing with 'repo'
manifest files. I use them to help create tools for migrating off of 'repo'.

## Etymology

This is what I got for the Gaelic translation of "repository". 

## Hacking

You'll want to install the developer dependencies:

```
pip install -e .[develop]
```

This will include `nose2`, which is the test runner of choice. After you make modifications you can run tests with

```
nose2
```

When you're satisfied you'll want to update the version number and do build-and-upload:

```
python setup.py sdist bdist_wheel
twine upload dist/* --verbose
```
saures-api-client 0.1.2
SAURES API client
Requires Python: >=3.6.2,<4
Keywords: api,saures,iot,client

SAURES API Client
=================

[SAURES](https://saures.ru) API client

Stage: Alpha

Installation
------------

1. From this repository (`poetry` required)
* `git clone https://github.com/Yurzs/saures_api_client.git`
* `cd saures_api_client`
* `poetry install --no-dev`

2. From PyPi
* `pip install saures_api_client`

Usage
-----

1. You can use all the api methods like they are named in [SAURES API docs](https://api.saures.ru/doc/):
```python
from saures_api_client import SauresAPIClient

async def main():
    client = SauresAPIClient("your email", "your password")

    objects = await client.user_objects()

...
```

2. Or you can use more user-friendly wrapper around the client:
```python
from saures_api_client import SauresAPIClient
from saures_api_client import types

async def main():
    user = SauresAPIClient.get_user("your email", "your password")
    
    locations = await user.get_locations()
    # returns typing.List[types.Location]
    
    location = locations[0]
    location_controllers = await location.get_controllers()
    # returns typing.List[types.Controller]
    # so you can easily propagate deeper in entities without
    # specifically providing their IDs to the client.

```