Bottle.py wrapper to make python objects accessible via HTTP API
Project description
Nimrodel
A simple Bottle.py-wrapper to provide HTTP API access to any python object.
Requirements
Quick Start
Install with
pip install nimrodel
Create your API with
from nimrodel import API
myapi = API()
You can pass a port number with port=42
, a path with path="api"
and whether you want to serve on IPv4 (IPv6=False
).
You can also give the API object an existing bottle server (server=bottleobject
), in which case your API will be served on the existing server. In this case, it is heavily recommended to pass a path variable to separate API from regular routing of your server.
Then make any class accessible with a decorator.
@myapi.apiclass("group")
class Group:
def __init__(self,name,apipath,songs):
# some stuff
self.__apiname__ = apipath
Any instance of that class is now accessible via the combination of class path and its individual path. Now just decorate the methods. All its arguments can be passed via URI query arguments.
@myapi.get("songs")
def get_songs(self,member):
return {"songs":[s["title"] for s in self.songs if member in s["performers"]]}
Now create an object and make sure it has an __apiname__
attribute:
e = Group("Exid","exid",exidsongs)
Then you can access its methods with simple HTTP calls:
HTTP GET http://localhost:1337/group/exid/songs?member=Junghwa
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.
Source Distribution
Built Distribution
File details
Details for the file nimrodel-0.2.0.tar.gz
.
File metadata
- Download URL: nimrodel-0.2.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72cd0ced4260c3e41edf2f6b18f9aa3b22deccf1be734aa9d18c8aa6a31553f8 |
|
MD5 | 7f1aa9481df752696a996e3c221c719e |
|
BLAKE2b-256 | bdbd3da8fe7c4dffde4c53dcedef5c2c1bce76f94a094e933ed9031fc13dd512 |
File details
Details for the file nimrodel-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: nimrodel-0.2.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 466d0fac8344dd011657f9333869ae17b9de41d205d1537eed3ea3626520dd5c |
|
MD5 | cbd3ef9cbb92dad46b7e052c42b34324 |
|
BLAKE2b-256 | 642f4bd064b0ddb01d79d13dfef96bb2a55933449c0e1a8720f7da74081991ce |