Metadata-Version: 2.4
Name: kallistoapi
Version: 2.0.3
Summary: Sensry Kallisto API package
Author-email: Dzmitry Yemelyanau <d.yemelyanau@sensry.de>
License: Apache License
        Version 2.0, January 2004
        
        Copyright (c) 2026 sensry.io
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
        http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
        
Project-URL: Homepage, https://github.com/sensry-de/kallisto-api-pypi
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bleak==0.22.3
Requires-Dist: dateutils==0.6.12
Requires-Dist: psutil==6.1.0
Requires-Dist: pywin32==310; sys_platform == "win32"
Requires-Dist: scipy==1.15.2
Requires-Dist: numpy==2.4.2
Requires-Dist: crcmod==1.7
Requires-Dist: protobuf==6.31.1
Dynamic: license-file

# KallistoAPI  Python Library

**KallistoAPI** is a Python library for interacting with Kallisto sensor nodes over BLE (Bluetooth Low Energy). It provides easy access to device information, time synchronization, and readings from a wide range of environmental and motion sensors.

This library is designed for developers and researchers who want to integrate Kallisto sensor data into Python applications with minimal setup.

## Features

- Connect to Kallisto sensor nodes via BLE
- Read and update device time
- Access a variety of sensor modules including temperature, humidity, accelerometer, gyrometer, light, pressure, gas sensors, and more

## Installation

```bash
pip install kallistoapi
```

## Quick Start

Here’s a simple example showing how to connect to a Kallisto device, and get the accelerometer values:

```python
from time import sleep
from kallistoapi.kallisto_manager import KallistoManager
  
def handle_accel(sender, value_list):
    print("handle_accel value_list {}".format(value_list))
    
mac_address = "11:22:33:44:55:66"
kallisto = KallistoManager()

if not kallisto.connect(mac_address):
    print("Failed to connect to Kallisto")
    exit(1)

accelerometer0 = kallisto.get_module("accelerometer", 0)
accelerometer0.configure("enable", True)
accelerometer0.configure("sample_rate", "200Hz")
accelerometer0.configure("sensitivity", "8g")
accelerometer0.apply_config()

accelerometer0.start_notify(handle_accel)
sleep(20)
accelerometer0.stop_notify()

kallisto.disconnect()

```

## Available Sensor Modules

Kallisto currently supports the following sensor modules:

### Motion & Orientation (IMU)
- `vibration`
- `magnetometer`
- `accelerometer`
- `gyrometer`

### Environmental / Air Quality
- `temperature`
- `light`
- `pressure`
- `humidity`
- `eco2`
- `bvoc`
- `iaq`

### ADC Sensors
- `pt100`

### Device & Power
- `fuel_gauge`
- `tx_power`
- `device_info`




