Skip to main content

Lib to post user events on transactional topics

Project description

Transactional Ruler

Lib to post user events on transactional topics

Running tests and lint

docker-compose up integration-tests docker-compose up lint

Installation

pip install jsm-transactional-ruler

Example Usage

from jsm_transactional_ruler.enums import EventType
from jsm_transactional_ruler.events import Event
from jsm_transactional_ruler.publisher import publish_event

event = Event(
    user_id="fake_id", event_type=EventType.T_EVENT_REGISTERED_USER, data={"email": "teste@juntossomosmais.com.br"}
)
publish_event(event_trigger=event)

The attribute event_type accepts only events registered in the EventType enum.

The publish_event method accepts the optional queue and publisher_parameters parameters to send to django-stomp:

event = Event(
    user_id="fake_id", event_type=EventType.T_EVENT_REGISTERED_USER, data={"email": "teste@juntossomosmais.com.br"}
)
publish_event(event_trigger=event, queue="/topic/VirtualTopic.user-update-transactions", persistent=False)

Versioning

This lib follows the pypi version format with the convention of using major.minor.patch version.

When to bump a patch version?

Bump the patch version if you are doing a quick fix, nothing that changes the library functionality.

When to bump the minor version?

Bump the minor version if you are adding new functionality without breaking backwards compatibility. For example, adding support to new events.

When to bump the major version?

Bump the major version if you are breaking backwards compatibility by adding new functionality or refactoring.

Contributing

This project uses a trunk based development flow, so that we have only one long-lived branch (master).

For any development, simply create a branch from it and follow the flow described below.

How to upload lib to PyPI

It is necessary to update the lib version using the command below:

$ poetry version major|minor|patch

After generating the version:

  • Create a new branch with the files updated by Poetry
  • Open PR based on the master branch
  • Merge PR into the master
  • Generate a new release based on the version. Document to generate release
  • After generating the new release "Github Actions" will upload the lib to PyPI using Poetry.
  • Good job!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsm-transactional-ruler-2.0.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsm_transactional_ruler-2.0.3-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file jsm-transactional-ruler-2.0.3.tar.gz.

File metadata

  • Download URL: jsm-transactional-ruler-2.0.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.7.12 Linux/5.8.0-1041-azure

File hashes

Hashes for jsm-transactional-ruler-2.0.3.tar.gz
Algorithm Hash digest
SHA256 dd589312739280ad666902b2eb26938145390e6b7c4694ab894d907769c5f86d
MD5 f67a9a19e1279c8f57be47d1dbc7700a
BLAKE2b-256 17b06ee750ba5c25d23f1e1d318726d9ca89132e3731b69666f2d582e627b03d

See more details on using hashes here.

File details

Details for the file jsm_transactional_ruler-2.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for jsm_transactional_ruler-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6352038b866d2e0a7b1133a225fa8a6681cf07dd160cbb2576b8d933c975c7d8
MD5 f1d4d76d6649493acaa20f9f3f759a4b
BLAKE2b-256 63acf5152853db7d37548da5e468e95da68a1fb94ab74484dffdc20fc859ef5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page