Intro / Module Description

The microesb Python module provides the foundational features to build a centralized, structured Enterprise Service Bus (ESB) / SOA architecture.

Its primary feature is a clean, OOP-based Service Model to Python Class Mapping.

A Docker example container can be downloaded here: microesb-examples-latest.tar. Refer to /docker/README.md.

1. Basic System Installation

# install the module system-wide
pip3 install --break-system-packages microesb

2. Virtual Environment Installation

# install the module in a virtual environment
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
pip3 install microesb

3. Dependencies

Using the microesb module generally does not require the psycopg2 PostgreSQL Python module.

Warning

Running example code requires psycopg2.

# install psycopg2
apt-get install python3-psycopg2

4. Build Dependencies

On current Debian 12 / Ubuntu 22.04.3 or 24.04.1, install the following additional packages (for documentation rendering and testing purposes).

# install base packages
apt-get install python3-pip python3-sphinx python3-sphinx-rtd-theme

# install pytest for running unit and integration tests
apt-get install python3-pytest python3-pytest-pep8

5. Build Local Package

To build and install the local package (also for testing), follow these steps.

# build source distribution
python3 setup.py sdist

# install system-wide
pip3 install --break-system-packages ./dist/microesb-1.0.tar.gz

6. Tests

To run all tests (unit and integration) after the system-wide package installation:

# run pytest
cd ./ && pytest

7. Current Features

  • JSON Service Metadata to Python Internal Class / Object Mapping

8. Planned Features

  • Database Abstraction on “top” of the Object Mapping Model