Skip to main content

RPC core package to build a FaaS-like application service

Project description

guirpc

RPC core package to build a FaaS-like application service


Build Status

| Is a Python RPC package to build and run FaaS-like application service. | It facilitates the creation of an consumer or a producer, as well as an abstraction layer for the transmission of messages over a connected message broker server.

It provides an abstraction layer with some decorators, encoders, serializers and in short all the surrounded layers for easily build, configure and run an RPC server as it makes up as a FaaS-like application.

Built With

  • RabbitMQ - The message broker layer
  • Pika - RabbitMQ client library

Prerequisites

  • Python version 3.6 ( with pip)

Documentation

Package is distributed under PyPi. Take a look at the official documentation.

Documentation of this project is created with Sphinx, to build it run:

pip install -U docs/requirements.txt
sphinx-build -b html docs/source/ docs/build/

Tests

Tests are built with pytest and run with docker. In order tu run it be sure last that current stable versions of docker and docker-compose are installed.

  • First, build the foobar consumer service and run it alongside a RabbitMQ server(optionally with the management plugin):
docker-compose up --build -d rabbitmq consumer
  • Run all unit and integration tests:
docker-compose run test

Optionally, run code static analysis (with flake8):

docker-compose run static_analysis

For development, create a link file which associates source code with your interpreter site-packages directory:

touch setup.py
echo "import setuptools
setuptools.setup()" > setup.py
# Then do
pip install --editable .

Resources

  • RFC2045 - (MIME) Part One: Format of Internet Message Bodies.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

guirpc-0.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

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

guirpc-0.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file guirpc-0.1.tar.gz.

File metadata

  • Download URL: guirpc-0.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for guirpc-0.1.tar.gz
Algorithm Hash digest
SHA256 38f2c505f6b3e330cc87ce3b9dc679e08b05655b6cfc74ba9524fcc66ffdf0d5
MD5 18ac3f85cbf31e9c3736a3e634ae55dc
BLAKE2b-256 855ffbc974e2f66ace6edc9aa08913efed6d6cb8cbce8d583fd5b8a9ccbd5d2a

See more details on using hashes here.

File details

Details for the file guirpc-0.1-py3-none-any.whl.

File metadata

  • Download URL: guirpc-0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for guirpc-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e31f597ffdc9b95c4ac2ac6869649775ab5f36a03d8c3b6ed39e3ba84c257e7b
MD5 6d7584bfff3f1d6145e123505907a9d8
BLAKE2b-256 3e8ac26efd233b42571b67e306074211d720435f755ab461a23271b4f9d124f9

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