Python microservice framework

pip install pyrs-resource==0.2.0


MicroService framework :: Resource Documentation Status

Project homepage:


Issue tracking:

What is this package for

In the python world there are many RESTFul framework. Some of them based on Django others are based on Flask. I've tried some but I had the feeling, I want to learn one, the use with Django or Flask or even Odoo. And I don't mention sometimes I found them not flexible enough. So, I've decided write my own independent framework what anybody can use in at least the mentioned 3 different worlds.

Nutshell (notice that, it would be the achivement)

from pyrs import resource
from pyrs.resource import GET

class UserResouce:

    def get_users(self):
        return User.objects.all()

    @PUT(path='/<int:user_id>', response=UserSchema, request=UserSchema)
    def update_user(self, user_id, body):
        user = get_object_or_404(User, pk=user_id) = body['name'] = body['email']
        return user

app = resource.Application()
app.add('/user', UserResouce)

In this example I've shown Django (like) example. The schema is based on pyrs.schema. Even if I tend to use that framework, you would be able to use any other.


  • Using simple classes or even functions (no inheritance)
  • Wrapped error handling, errors can be serialised
  • Extensible API
  • Works with python 2.7, 3.3, 3.4 (tested against these versions)
  • Hooks for extending the dispatching process


$ pip install pyrs-resource


See requirements.txt for details, but mainly depends on Werkzeug. I'm using that project routing capabilities. Also depends on pyrs.schema as I mentioned in nutshell section.

Important caveats

This code right now really in beta state. I plan to release soon as possible a completely working code, but right now it's just shaping.

The ecosystem

This work is part of pyrs framework. The complete framework follow the same intention to implement flexible solution.


I really welcome any comments! I would be happy if you fork my code or create pull requests. I've already really strong opinions what I want to achieve and how, though any help would be welcomed.

Feel free drop a message to me!