Metadata-Version: 2.1
Name: cgse-common
Version: 2023.1.5
Summary: Software framework to support testing hardware
Author: Rik Huygen
Author-email: rik.huygen@kuleuven.be
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: GitPython (>=3.1.40,<4.0.0)
Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: deepdiff (>=6.6.1,<7.0.0)
Requires-Dist: distro (>=1.8.0,<2.0.0)
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: prometheus-client (>=0.17.1,<0.18.0)
Requires-Dist: psutil (>=5.9.6,<6.0.0)
Requires-Dist: pyzmq (>=25.1.1,<26.0.0)
Requires-Dist: rich (>=13.6.0,<14.0.0)
Description-Content-Type: text/markdown

# Generic Functionality used in the PLATO Common-EGSE

This package 'cgse-common' contains functionality that is used by all `cgse` sub-packages, but it is designed to be a stand-alone generic package that can be used in any other project.


## Installation

Install the package using pip:

    $ pip install cgse-common


## Usage

All functionality resides in the package `egse`. As an example, if you need a standard way to format your timestamp, use the `format_datetime()` function from `egse.system`:

    >>> from egse.system import format_datetime
    >>> print(format_datetime())
    2023-10-10T08:41:51.937+0000


## Included Functionality

A non-comprehensive list of available functionality:

### Functionality of General Use

* **egse.bits**: contains a number of convenience functions to work with bits, bytes and integers
* **egse.decorators**: a collection of useful decorator functions
* **egse.reload**: a slightly better approach to reloading modules and function than the standard importlib.reload() function.
* **egse.resource**: provides convenience functions to use resources in your code without the need to specify an absolute path
* **egse.system**: defines convenience functions that provide information on system specific functionality like, file system interactions, timing, operating system interactions, etc.
* **egse.version**: functionality to retrieve the package version information

