peace 0.0.8

Last updated:

0 purchases

peace 0.0.8 Image
peace 0.0.8 Images
Add to Cart

Description:

peace 0.0.8

A REST client - inspired by restmod for javascript.

Test status



Quick start for contributing
virtualenv -p `which python3` virtualenv
source virtualenv/bin/activate
pip install -r requirements.txt
pip install -r dev_requirements.txt
nosetests


Usage
from peace import PeaceMaker

def set_authorization_header(request):
request.headers['Authorization'] = authorization_value
return request

maker = PeaceMaker('http://api.example.com')
Employee = maker.make(
'Employee',
'/employees'
has: {
'user': maker.make('Company'),
},
intercept: set_authorization_header,
)

employees = Employee.search(last_name='Smith')
bob = Employee.get('100')
bob.last_name = 'Smith-Jones'
bob.save()
bob.refresh()
company = bob.company
print(company.name) # prints name
Peace requires the REST API to conform to a particular structure. A JSON
response should look something like this:
{
"data": {
"id": 100,
"first_name": "Bob",
"last_name": "Smith",
},
"links": {
"self": {"href": "/employees/100"},
"company": {
"href": "/companies/5",
"data": {
"name": "Big Corp",
},
},
},
}
Links can be followed (e.g. bob.company). Initially, the data returned
in the original request will be immediately available, but if you try to
access other fields that a direct load is required to make available,
(i.e. were not in the original response), then a load of the linked
object will be done first (e.g. GET /companies/5).

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.