/mamba_server

Primary LanguagePythonMIT LicenseMIT

Mamba-Server

https://api.travis-ci.org/mamba-framework/mamba-server.svg?branch=master Coverage report Documentation Status

Mamba Framework Overview

Mamba is a framework for data acquisition in distributed test environments. The Mamba Framework is composed of:

  • Mamba Server: A tool to develop the controllers for the different Ground Control Equipments.
  • Mamba Client: A set of libraries for composing a central controller that can use the services provided from one or more Mamba Servers. The central controller can be writen in a Jupyter Notebook, in a traditional development environment (like Visual Code or PyCharm) or be executed as an stand-alone script (https://github.com/mamba-framework/mamba-client).
  • Mamba Utils: A set of utilities that are useful in the development of Ground Testbeds, like UDP and TCP sniffers (https://github.com/mamba-framework/mamba-utils).

The next image shows an architectural example of a testbed implemented with the Mamba Framework:

docs/utils/mamba_framework_architecture.jpg

Where each Mamba Server can run in the same or different computers and be located in the same building or in different countries.

Mamba Server Overview

Mamba Server is a tool for the development of Ground Test Equipment Controllers. The Mamba Server is implemented in Python and has a component based architecture.

While it has been developed to serve the needs of spacecraft equipment test applications, it can also be used in any other kind of project that require the control of different test equipments, like a physics experiment laboratory or in the Automotion industry.

Although the projects where Mamba is deployed usually are composed of dozens of different distributed ground equipments, it is also a perfect fit a an small project composed only by a handful of instruments controlled by one single computer.

Requirements

  • Python 3.6+
  • Works on Linux, Windows and macOS

Install

The quick way:

pip install mamba-server

The wheels include a copy of the required parts of the LGPL version of Qt.

Documentation

Documentation is available online at https://mamba-server.readthedocs.io and in the docs directory.

License

See License.