Skip to main content

A client library for IoT projects in the RCER initiative

Project description

SAVIIA Library

Sistema de Administración y Visualización de Información para la Investigación y Análisis

GitHub release (latest by date)

Installation

This library is designed for use with the SAVIIA Home Assistant Integration. It provides an API to retrieve files from a THIES Data Logger via an FTP server and upload them to a Microsoft SharePoint folder using the SharePoint REST API.

pip install saviialib

Usage

Initialize the EPii API Client

To start using the library, you need to create an EpiiAPI client instance with its configuration class:

from saviialib import EpiiAPI, EpiiAPIConfig
config = EpiiAPIConfig(
        ftp_port=FTP_PORT,
        ftp_host=FTP_HOST,
        ftp_user=FTP_USER,
        ftp_password=FTP_PASSWORD,
        sharepoint_client_id=SHAREPOINT_CLIENT_ID,
        sharepoint_client_secret=SHAREPOINT_CLIENT_SECRET,
        sharepoint_tenant_id=SHAREPOINT_TENANT_ID,
        sharepoint_tenant_name=SHAREPOINT_TENANT_NAME,
        sharepoint_site_name=SHAREPOINT_SITE_NAME
    )
api_client = EpiiAPI(config)

Notes:

  • Store sensitive data like FTP_PASSWORD, FTP_USER, and SharePoint credentials securely. Use environment variables or a secrets management tool to avoid hardcoding sensitive information in your codebase.

Update THIES Data Logger Files

The library provides a method to synchronize THIES Data Logger files with the RCER SharePoint client. This method updates the folder containing binary files with meteorological data:

from saviialib import EpiiUpdateThiesConfig
import asyncio

async def main():
    # Before calling this method, you must have initialised the api class ...
    response = await api_client.update_thies_data()
    return response

asyncio.run(main())

Development

This project includes a Makefile to simplify common tasks. Below are the available commands:

Install Basic Dependencies

To install the basic dependencies required for the project, run the following command:

make install-deps

This will ensure that all necessary libraries and tools are installed for the project to function properly.

Install Development Requirements

For setting up a development environment with additional tools and libraries, execute:

make dev

This command installs all the dependencies needed for development, including testing and linting tools.

Run Tests

To verify that the code is functioning as expected, you can run the test suite using:

make test

This will execute all the tests in the project and provide a summary of the results.

Lint the Code

To ensure that the code adheres to the project's style guidelines and is free of common errors, run:

make lint

This command checks the codebase for linting issues and outputs any problems that need to be addressed.

Contributing

If you're interested in contributing to this project, please follow the contributing guidelines. By contributing to this project, you agree to abide by its terms. Contributions are welcome and appreciated!

License

saviialib was created by Pedro Pablo Zavala Tejos. It is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saviialib-1.2.2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

saviialib-1.2.2-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file saviialib-1.2.2.tar.gz.

File metadata

  • Download URL: saviialib-1.2.2.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for saviialib-1.2.2.tar.gz
Algorithm Hash digest
SHA256 d3e230fe0db853773c81fefefbe06e53f5956ed458173fafe12ad22e117f7f69
MD5 41e8406f49cde1e1bf2b83d565fcd9e7
BLAKE2b-256 1c6997eb1aa413afb5a8f1c60c6f0aa242e855ecfe4853e72f13c1a6a0285a4d

See more details on using hashes here.

File details

Details for the file saviialib-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: saviialib-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for saviialib-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c08b53e20cb390329c6c2145be8d33271cad0bbdcfea3a3aca6052e0e3bec73
MD5 4850da5247f79364f6d7913626fc1817
BLAKE2b-256 a1b21646e0cb1f71d1185a6a5521dffeb724b164997b43a3dad3eaf3c8c69c44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page