Skip to main content
Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

This project contains app-merge components for pop-evbus .

Getting Started

Prerequisites

  • Python 3.8+

  • git (if installing from source, or contributing to the project)

Installation

If wanting to use evbus-pika, you can do so by either installing from PyPI or from source.

Install from PyPI

pip install evbus-pika

Install from source

# clone repo
git clone git@gitlab.com:vmware/idem/evbus-pika.git
cd evbus-pika

# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Usage

Configure pop-evbus for your app.

Create a pika profile

pika:
  default:
    connection:
      host: localhost
      port: 5672
      login: guest
      password: guest
    routing_key:

Encrypt the credentials file and export the ACCT environment variables

$ pip install acct
$ export ACCT_KEY=$(acct encrypt credentials.yml)
$ export ACCT_FILE="$PWD/credentials.yml.fernet"

Now when you put a message on the evbus queue, it will be propagated to your configured pika implementation.

async def my_func(hub):
    await hub.evbus.broker.put(body={"message": "event content"}, profile="default")

Testing

The rabbitmq-server binary needs to be installed via your package manager. Start a local rabbitmq-server with the default parameters:

$ docker run -p 5672:5672 \
--env RABBITMQ_HOSTS=localhost \
--env RABBITMQ_PORT=5672 \
--env RABBITMQ_USER=guest \
--env RABBITMQ_PASS=guest \
--env RABBITMQ_PROTOCOL=amqp \
rabbitmq:management

Configure credentials for testing with a local rabbitmq server:

# credentials.yml
pika:
  test_development_evbus_pika:
    connection:
      host: localhost
      port: 5672
      login: guest
      password: guest
    routing_key:

Encrypt the credentials file and export the ACCT environment variables

$ pip install acct
$ export ACCT_KEY=$(acct encrypt credentials.yml)
$ export ACCT_FILE="$PWD/credentials.yml"

Install testing requirements

$ pip install -r requirements/test.in

Run the tests with pytest: .. code-block:: bash

$ pytest tests

Roadmap

Reference the open issues for a list of proposed features (and known issues).

Acknowledgements

Metadata

Release files for evbus-pika 5.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for evbus-pika 5.0.0
File Size Uploaded
evbus-pika-5.0.0.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for evbus-pika 5.0.0
File Interpreter ABI Platform
evbus_pika-5.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.8 kB

Release files / evbus-pika-5.0.0.tar.gz

Download URL evbus-pika-5.0.0.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0c2ed3d8191d222feb75892b89e6f21671802c62da4df77653d2abb33a8f3d1e
BLAKE2b-256 checksum
How to use checksums
05f4dbbcff1faf2ccfeffa52b6e988d52110bd302f0d321dc629d34c06d5d188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.17

Release files / evbus_pika-5.0.0-py3-none-any.whl

Download URL evbus_pika-5.0.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
088473c624b6143d3aff774ad8aeff6852dc10423ef3a6fa8690a8df7d1a198d
BLAKE2b-256 checksum
How to use checksums
87a4f63472443a1e574254dce1687c26667d710b1859a3106f77e8e2f5cd8bfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.17

Release history Release notifications | RSS feed

This release

5.0.0 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page