Metadata-Version: 2.1
Name: happyly
Version: 0.3.1
Summary: Python library for Pub/Sub message handling
Home-page: https://github.com/equeumco/happyly
License: UNKNOWN
Keywords: google pubsub
Author: Alexander Tsukanov
Author-email: aliaksandr.tsukanau@itechart-group.com
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Object Brokering
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: attrs>=18.2
Requires-Dist: google-cloud-pubsub>=0.37.2
Requires-Dist: marshmallow>=2.15,<3
Requires-Dist: redis>=3.0
Requires-Dist: bump2version>=0.5.10; extra == "dev"
Requires-Dist: pre-commit>=1.14.4; extra == "dev"
Requires-Dist: pytest>=4.3.0; extra == "test"
Requires-Dist: tox>=3.7.0; extra == "test"
Project-URL: Documentation, https://github.com/equeumco/happyly/blob/master/Tutorial.ipynb
Provides-Extra: dev
Provides-Extra: test

[![Happyly on PyPI](https://img.shields.io/pypi/v/happyly.svg)](https://pypi.python.org/pypi/happyly)
[![Python version](https://img.shields.io/pypi/pyversions/happyly.svg)](https://pypi.python.org/pypi/happyly)

# Description
Happyly helps to build an extensible codebase when you are using Google Pub/Sub - and potentially any similar technology.
Actual actions your code perform are abstracted into universal _Handlers_ which can be used with any serialization technology or messaging protocol without any change.

# Why this name?
Happyly stands for <b>HA</b>ndlers for <b>P</b>ub/sub as a <b>PY</b>thon <b>L</b>ibrar<b>Y</b>

# Installation
```pip install happyly```

# Where can I learn how to use it?
Check out [tutorial](https://github.com/equeumco/happyly/blob/master/Tutorial.ipynb)

# Development
1. Create and activate a virtual environment (e.g. `python -m venv env; source env/bin/activate`).
2. Install [`flit`](https://flit.readthedocs.io/en/latest/): `pip install flit`.
3. Use `flit` to install the package with all development dependencies: `flit install`.
4. Note that the repository uses [pre-commit](https://pre-commit.com/)
   to auto-check code for style and types.
   Enable it for your cloned repo with `pre-commit install`.
5. In order to run tests, use either `pytest` (tests on your current python version)
   or `tox` (will try to test against all supported python versions).
6. When you are ready to deploy project,
   use [`bumpversion`](https://github.com/c4urself/bump2version):
   `bumpversion patch` (or `minor`, or `major`) and then `git push && git push --tags`.

