HAL for humans
Do you have an API that serves data following the HAL specification? The halchemy library makes it easy for your client to make the most of that API.
Install halchemy using the package manager of your chosen language:
pip install halchemy
npm install halchemy
In your code, create an Api
object with the URL of your API.
from halchemy import Api
api = Api('http://example.org/api')
root = api.root.get() # get the root resource
people = api.follow(root).to('people').get() # follow the people rel to get the list of people
# Issue a refund of $5 to everyone
for person in people['_items']:
account = api.follow(person).to('account').get()
api.follow(account).to('deposit').post({'amount':5.00})
print(f"{person['name']} has a new balance of ${account['balance']}")
import { Api } from 'halchemy'
const api = new Api('http://example.org/api')
const root = api.root.get() // get the root resource
const people = api.follow(root).to('people').get() // follow the people rel to get the list of people
// Issue a refund of $5 to everyone
for (const person of people._items) {
const account = async api.follow(person).to('account').get()
async api.follow(account).to('deposit').post({amount:5.00})
console.log(`${person.name} has a new balance of ${account.balance}`)
}
Read the docs to learn more!