README

PyPI Latest Version pipeline status coverage report Documentation Status License: GPL v3

Lab Utils, a collection of useful Python modules

This package contains several useful modules to help build Python applications. All modules provide support for a configuration file using configparser and standard logging.

Available modules:

  • database: simple interface to manage connections to a PostgreSQL database

  • socket_comm: TCP server/client communication for daemon-like apps.

Dependencies

The package lab-utils has the following pre-requisites:

  • libpq, a C library that implements connections to the PostgreSQL backend server. The python package psycopg2 needed by the module database is built around this library, and it is strongly recommended to have it installed. If for some reason you can’t install it or don’t have access to it, a precompiled binary package is also available. Please notice that using precompiled binaries can lead to other problems.

  • Python 3.6 and pip 10.0 are the minimum required versions to build lab-utils and its dependencies. It is recommended to install and run lab-utils (and any other package, for that matter) under a virtual environment.

Getting Started

These instructions will install the package lab-utils and let you import its modules in your own apps. It is assumed that you have successfully installed the prerequisites and are running inside a virtual environment.

  1. Install the package and its dependencies

    python -m pip install lab-utils
    

    If you don’t have PostgreSQL and libpq installed, you can use

    python -m pip install lab-utils --only-binary psycopg2
    
  2. Run some examples to test that everything works

    cd examples
    python database/create_column.py
    

Import into your own app

To use a <module> from the lab_utils collection in your own Python app, simply add

from lab_utils import <module>

Modules

All the modules provided by the package provide support for:

database

This module is a simple interface to manage connections to a PostgreSQL database based on the psycopg2 library. The main features are:

  • Database connection and closing

  • Create a new TimescaleDB table

  • Check if column and/or table exist in a given database

  • Create a new column in a table, with optional constraints

socket_comm

This module implements a simple TCP server/client structure to develop daemon-like application.

Authors

Contributing

Please read our contributing policy for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use Git for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the GNU GPLv3 License

Built With

Acknowledgments

  • Nobody so far