Skip to main content

Async Microservices Framework

Project description

WASPy

Waspy is the python framework for the WASP project. In other words its an asynchronous "transport-agnostic" web framework.

Language agnostic concepts

While this framework is for python, the patterns used in wasp are language agnostic. You should be able to call other services in different languages assuming they all follow the same patterns. This framework has a pluggable architecture for the transport layer, which allows you to switch from http to using a message bus, or vice-versa. You could even listen on both at the same time without having to modify your code at all.

Example

Look at examples/ folder for some quick examples, or there is an entire example repo at https://github.com/wasp/waspy-example

Alpha

This project is currently in alpha state. There are a lot of features missing.

Features for beta:

  • <input type="checkbox" checked="" disabled="" /> HTTP Transport
  • <input type="checkbox" checked="" disabled="" /> Routing
  • <input type="checkbox" checked="" disabled="" /> RabbitMQ transporty
  • <input type="checkbox" checked="" disabled="" /> Support middlewares
  • <input type="checkbox" checked="" disabled="" /> Client library (for calling other services)
  • <input type="checkbox" checked="" disabled="" /> HTTP client transport (with envvar service discovery)
  • <input type="checkbox" checked="" disabled="" /> RabbitMQ client transport
  • <input type="checkbox" disabled="" /> Test everything

note: all alpha features are complete, but I am still in the process of adding more robusts tests. Until that is done, waspy will remain in alpha and api's might change.

Wish List:

  • <input type="checkbox" disabled="" /> Transport classes for nats (nats.io)
  • <input type="checkbox" disabled="" /> Transport classes for kafka
  • <input type="checkbox" disabled="" /> Transport classes for gRPC
  • <input type="checkbox" disabled="" /> pattern for synchronous "worker-tier"
  • <input type="checkbox" checked="" disabled="" /> configuration package
  • <input type="checkbox" disabled="" /> auto-reloading when in debug mode
  • <input type="checkbox" checked="" disabled="" /> sentry integration
  • <input type="checkbox" disabled="" /> jwt handling

Features for GA (1.0):

  • <input type="checkbox" disabled="" /> High level "Falcon-like" api for writing RESTFUL endpoints even easier!
  • <input type="checkbox" disabled="" /> High level can be overridden by lower level for control/performance reasons
  • <input type="checkbox" disabled="" /> Stable/proven API

License

Apache-2.0

Installing

To install, just run pip install waspy

Developing

python setup.py develop

Project details


Release history Release notifications | RSS feed

Download files

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

Files for waspy, version 0.45.5
Filename, size File type Python version Upload date Hashes
Filename, size waspy-0.45.5-py3-none-any.whl (35.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size waspy-0.45.5.tar.gz (29.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page