Unofficial hypermedia form extension for dougrain.
Project description
A generator for hypermedia forms, following an unofficial draft by Mike Kelly. The format is roughly based on this Gist by Mike Kelly.
Installation
pip install dougrain-forms
Usage
Example:
from dougrain_forms import FormsMixin class FormsDocument(Document, FormsMixin): pass doc = FormsDocument.empty() doc.add_link('self', '/foo') doc.set_form( 'attack', '/attacks', headers={ 'Content-Type': 'application/json' }, method='POST', schema=ATTACK_SCHEMA ) print(doc.as_object())
Output:
{ "_forms": { "attack": { "headers": { "Content-Type": "application/json" }, "href": "/attacks", "method": "POST", "schema": { "required": [ "name", "damage" ], "type": "object", "properties": { "name": { "type": "string" }, "damage": { "minimum": 0, "type": "integer", "description": "How much does it hurt?" } }, "title": "Damage Schema" } } }, "_links": { "self": { "href": "/foo" } } }
API
By mixing in FormMixin into your document, you get three new methods:
set_form(self, rel, target, **kwargs)
delete_form(self, rel)
form(self, href, **kwargs)
Until real docs have been written, take a look at the source.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dougrain-forms-0.2.0.tar.gz
(5.5 kB
view details)
File details
Details for the file dougrain-forms-0.2.0.tar.gz
.
File metadata
- Download URL: dougrain-forms-0.2.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13a14cd807d7794c9465a267a36ef4c238167ebdd6ff8a01f4df4d0f91bd660f |
|
MD5 | 4f39d9c4b130b0889e5f1cce31c4bcc5 |
|
BLAKE2b-256 | d54f055e1ca3975adb141e9ccbbdef413676983df3a7c7d002d65d0b1b7911f7 |