Skip to content

pip-services3-python/pip-services3-facade-python

Repository files navigation

Pip.Services Logo
RESTful client facade for Python

Important: This module has been deprecated. Please, use RestOperations from pip-services3-rpc-python instead.

One of the common implementation patterns is to expose microservices via single entry point called API Gateway or Client Facade. The responsiblity of that component is to accept calls from external consumers, enforce security rules, perform authentication and authorization and when request is cleared it can call one or few microservices in a single transaction. Client Facades may also implement complex requests, combine multiple datasets and return then in a single transaction, push notifications via async mechanisms like Socket.IO or WebSockets.

This module is a part of the Pip.Services polyglot microservices toolkit. It provides reusable primitives to quickly build sophisticated client facades via composition of multiple routes and middleware components.

  • Auth - Authentication and authorization components
  • Build - Contains a factory for constructing facade components
  • Container - Facade launch container
  • Operations - Basic facade operations called by clients
  • Services - Main and partition (subpath) facade services
  • Routes - Abstract facade route class and few generic routes
  • Errors - Error simulation

Quick links:

Use

Get the package from pip

pip install -U pip-services3-facade

Develop

For development you shall install the following prerequisites:

  • Python 3.7+
  • Visual Studio Code or another IDE of your choice
  • Docker

Install dependencies:

pip install -r requirements.txt

Run automated tests:

python test.py

Generate API documentation:

./docgen.ps1

Before committing changes run dockerized build and test as:

./build.ps1
./test.ps1
./clear.ps1

Contacts

The Python version of Pip.Services is created and maintained by Sergey Seroukhov

About

RESTful Client Facade for Pip.Services in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published