semvec/pypi-packages huggingface dataset:
deebot-t8 1.0.2
Yet another Ecovacs Deebot API client

# Deebot T8

Yet another Deebot client library, intended to bring better support to Ozmo T8 range of robots.

<p align="center">
<img alt="Ecovacs Deebot OZMO T8 robot vacuum" src="./doc/img/deebot_t8.jpg" height="250px" />
</p>

This library is used by [my Home Assistant custom component](https://github.com/nickw444/deebot-t8-hass) for the Deebot T8

## Supported Robots

* Ecovacs Deebot Ozmo T8 (Model: OT8G)

Other Deebot Ozmo T8 variant robots will likely also work, but have not been tested. Please open an issue if you have success with other models 😊 

Models can be listed using the CLI: `deebot-t8 list-devices`

## Features

* Always up to date state using Ecovacs MQTT service
* Fully featured command line interface
* Extenable interface, with abstractions hiding ugly HTTP necessities

## Install

To install the base library for use in other Python projects:

```
pip install deebot-t8
```

To install the base library, as well as the CLI dependencies:

```
pip install deebot-t8[cli]
```

The package exposes the cli as a `deebot-t8` executable binary.

```sh
$> deebot-t8 --help
Usage: deebot-t8 [OPTIONS] COMMAND [ARGS]...

Options:
  --config-file PATH
  --help              Show this message and exit.

Commands:
  device
  list-devices
  login
  renew-access-tokens
```

## Special Thanks

* [mitmproxy](https://mitmproxy.org/) for reverse engineering HTTP(s) calls from the iOS app
* https://github.com/And3rsL/Deebotozmo and https://github.com/wpietri/sucks for protocol details for authentication
* https://github.com/Ligio/ozmo for inspiring and guiding the MQTT subscription implementation

## Contributing

I am more than happy to receive pull requests to add support for missing or broken features. Bug reports via issues also welcome, however is no guarantee of the bug being resolved

As this library is intended to be narrow focused on the Deebot T8 line, depending on the complexity burden, pull requests to support additional robots may be rejected.
apimaticcalculatortestapimatic 1.0.0
APIMatic calculator API version 1.2.

# Getting Started with Calculator-M.Haris

## Introduction

APIMatic calculator API version 1.2.

## Install the Package

The package is compatible with Python versions `3 >=3.7, <= 3.9`.
Install the package from PyPi using the following pip command:

```python
pip install apimaticcalculatortestapimatic==1.0.0
```

You can also view the package at:
https://pypi.python.org/pypi/apimaticcalculatortestapimatic

## Test the SDK

You can test the generated SDK and the server with test cases. `unittest` is used as the testing framework and `nose` is used as the test runner. You can run the tests as follows:

Navigate to the root directory of the SDK and run the following commands

```
pip install -r test-requirements.txt
nosetests
```

## Initialize the API Client

**_Note:_** Documentation for the client can be found [here.](doc/client.md)

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
|  --- | --- | --- |
| `http_client_instance` | `HttpClient` | The Http Client passed from the sdk user for making requests |
| `override_http_client_configuration` | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |
| `http_call_back` | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |
| `timeout` | `float` | The value to use for connection timeout. <br> **Default: 60** |
| `max_retries` | `int` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
| `backoff_factor` | `float` | A backoff factor to apply between attempts after the second try. <br> **Default: 2** |
| `retry_statuses` | `Array of int` | The http statuses on which retry is to be done. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| `retry_methods` | `Array of string` | The http methods on which retry is to be done. <br> **Default: ['GET', 'PUT']** |

The API client can be initialized as follows:

```python
from calculatormharis.calculatormharis_client import CalculatormharisClient
from calculatormharis.configuration import Environment

client = CalculatormharisClient(
    environment=Environment.PRODUCTION,)
```

## List of APIs

* [Simple Calculator](doc/controllers/simple-calculator.md)

## Classes Documentation

* [Utility Classes](doc/utility-classes.md)
* [HttpResponse](doc/http-response.md)
* [HttpRequest](doc/http-request.md)
APIMaticSampleCalcPyPI 1.2
APIMatic calculator API version 1.2.

# Getting Started with Calculator-M.Haris

## Introduction

APIMatic calculator API version 1.2.

## Install the Package

The package is compatible with Python versions `3 >=3.7, <= 3.9`.
Install the package from PyPi using the following pip command:

```python
pip install APIMaticSampleCalcPyPI==1.2
```

You can also view the package at:
https://pypi.python.org/pypi/APIMaticSampleCalcPyPI

## Test the SDK

You can test the generated SDK and the server with test cases. `unittest` is used as the testing framework and `nose` is used as the test runner. You can run the tests as follows:

Navigate to the root directory of the SDK and run the following commands

```
pip install -r test-requirements.txt
nosetests
```

## Initialize the API Client

**_Note:_** Documentation for the client can be found [here.](doc/client.md)

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
|  --- | --- | --- |
| `http_client_instance` | `HttpClient` | The Http Client passed from the sdk user for making requests |
| `override_http_client_configuration` | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |
| `http_call_back` | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |
| `timeout` | `float` | The value to use for connection timeout. <br> **Default: 60** |
| `max_retries` | `int` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
| `backoff_factor` | `float` | A backoff factor to apply between attempts after the second try. <br> **Default: 2** |
| `retry_statuses` | `Array of int` | The http statuses on which retry is to be done. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| `retry_methods` | `Array of string` | The http methods on which retry is to be done. <br> **Default: ['GET', 'PUT']** |

The API client can be initialized as follows:

```python
from calculatormharis.calculatormharis_client import CalculatormharisClient
from calculatormharis.configuration import Environment

client = CalculatormharisClient(
    environment=Environment.PRODUCTION,)
```

## List of APIs

* [Simple Calculator](doc/controllers/simple-calculator.md)

## Classes Documentation

* [Utility Classes](doc/utility-classes.md)
* [HttpResponse](doc/http-response.md)
* [HttpRequest](doc/http-request.md)
cryocon-22c-controller 0.0.3.post2
A package for controlling CryoCon 22C Temperature Controllers
Keywords: cryocon,cryocon 22c,temperature controller,cryostat,cryo

# CryoCon 22C Temperature Controller


> Install with `python -m pip install cryocon-22c-controller`

## API

A CryoconController is a SCPI instrument and uses the [easy-scpi](https://pypi.org/project/easy-scpi/) package for means of communication. Thus, all the methods and properties of an `easy_scpi.Instrument` can be called. 

Channels can be referenced either by their given name or their letter.
All commands generate a response from the controller, so only queries are performed to keep command and response synched.

### Methods

**CryoconController( port, timeout, baud, backend, \*\*resource_params ):** Creates a new CryoconController instance.

**max_temperatrue( loop ):** Returns the maximum set point temperature of the given loop.

**channel_max_temperatrue( loop ):** Returns the maximum set point temperature of the loop controlling the given channel.

**temperature( channel ):** Returns the current temperature of the given channel

**get_channel_loop( channel ):** Returns the loop controlled by the given channel.

**get_range( loop ):** Gets the output range for the loop. Values are [ 'hi', 'mid', 'low' ].

**set_range( loop, range ):** Sets the ouput range for the loop. Range values are [ 'hi', 'mid', 'low' ].

**get_ouput( loop ):** Gets the power output of the loop as a fraction of the full range.

**set_point( channel ):** Returns the set point of the given channel.

**set_temperature( channel, temperature ):** Sets the set point of the controlling loop of the given channel.

**lock( lock ):** Locks or unlocks the front key pad.

**enable():** Engages the temperature controller.

**disable():** Stops the tempreature controller. 

**auto_adjust_range( low_threshold, high_threshold, channles ):** Automatically adjusts the power range.

### Properties

**channels:** A dictionary of aliases of the channels.

**channel_names:** A dictionary of given name of the channels.

**loops:** A dictionary of loop:input source pairs.

**max_temps:** A dictionary of maximum set point temperatures for each loop.

**units:** A dictionary of units for each channel.

**enabled:** Returns whether the temperature controller is currently engaged.


### Example
~~~python
# import package
import cryocon_22c_controller as cc 

# Create a controller
cryo = cc.CryoconController( <port> )

# Connect to the controller
cryo.connect()

# Check if controller is connected (inherited from easy_scpi.Instrument)
cryo.is_connected

# Get channel names
cryo.channels

# Read the current set point temperature of channel a
cryo.set_point( 'a' )

# Set the desired temperature set point on channel b
cryo.set_temperature( 'b', 100 )

# Enable controller
cryo.enable()

# Disable controller
cryo.disable()
~~~