Skip to main content

Zeel Publisher

A Library meant to standardize the way zapi services interact with SNS/SQS.

Getting Started

Docker

The infrastructure of this library is designed to be run inside of various docker containers. Specifically there is a container for:

  • The python environment the library's code runs in
  • A jaeger tracing instance
  • The localstack AWS simulator

These containers can be viewed inside the project's docker-compose.yml

Because these containers are all needed to create a functioning local environment, proceeding without docker is NOT recommended. It can be installed using the docker for mac installer or via

brew cask install docker

The pipenv Virtual Environment

This service's dependencies are all managed with https://github.com/pypa/pipenv and are enumerated inside the project's Pipfile and Pipfile.lock files. Pipenv is a superset of Pip, and will create a virtual python environment (the .venv folder) for this Service. To that end, please ensure you have pipenv installed on your local machine.

brew install pipenv

Configuring your Virtual Environment

To create a virtual environment (the .venv directory) inside your project folder instead of your home (~) directory, save the following in your .bash_profile or .zshrc:

export PIPENV_VENV_IN_PROJECT=1

This is highly recommended for vscode users, as the project's linters and formatters are configured to use binaries installed to a local .venv

Running the Library's tests on Docker

Although tests can be run locally, it is recommended to run them through docker, where they will have access to the infrastructure they need. To do so you can use this command:

docker-compose run publisher-app bash test.sh

Modules

Event Publisher

A Class meant for publishing Event Messages to a single SNS topic.

Distribution

This Code is meant for distribution across multiple projects, namely our various zapi services which require zeel-publisher as a dependency. The library itself is hosted on PyPi and can be found at

https://pypi.org/project/zeel-publisher/

Versioning

Zeel publisher versioning follows the Semantic Versioning syntax:

Major.Minor.Patch

Make sure to update setup.py accordingly before publishing a new version.

Commands for uploading to PyPi

Create build - pipenv run python3 setup.py sdist Publish - pipenv run twine upload dist/*

Metadata

Release files for zeel-publisher 4.1.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 zeel-publisher 4.1.0
File Size Uploaded Provenance Actions
zeel-publisher-4.1.0.tar.gz 6.1 kB Without provenance Details for zeel-publisher-4.1.0.tar.gz

Release files / zeel-publisher-4.1.0.tar.gz

Download URL zeel-publisher-4.1.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1e11123b8eda1948f5685c00ad1e56f88851b283fd3a45cafa3e7a586da22b0c
BLAKE2b-256 checksum
How to use checksums
42e632def4c34792cfc30052c2bae04460308398897dc80f68a09a6972a58688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Security for zeel-publisher 4.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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