Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miketheredherring/py-rest-orm
Generic Python REST ORM. Inspired by Django. Powered by Requests.
https://github.com/miketheredherring/py-rest-orm
Last synced: 27 days ago
JSON representation
Generic Python REST ORM. Inspired by Django. Powered by Requests.
- Host: GitHub
- URL: https://github.com/miketheredherring/py-rest-orm
- Owner: miketheredherring
- License: mit
- Created: 2016-04-27T19:09:45.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-04-20T17:28:55.000Z (over 3 years ago)
- Last Synced: 2024-11-09T04:03:21.293Z (about 1 month ago)
- Language: Python
- Size: 66.4 KB
- Stars: 17
- Watchers: 16
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-python-models - py-rest-orm - Generic Python REST ORM. Inspired by Django. Powered by Requests. (ODM, ORM, Active Record)
README
# py-rest-orm
[![Coverage Status](https://coveralls.io/repos/github/GenePeeks/py-rest-orm/badge.svg?branch=master)](https://coveralls.io/github/GenePeeks/py-rest-orm?branch=master)Generic Python REST ORM. Inspired by Django. Powered by Requests.
# Installation
**Latest Version**:
```pip install https://github.com/GenePeeks/py-rest-orm.git```**Stable Build**:
*Coming soon*# Usage
Unpaginated API
```python
>>> from pyrestorm.models import RestModel>>> class Post(RestModel):
>>> class Meta:
>>> url = 'http://jsonplaceholder.typicode.com/posts'
...
>>> def __repr__(self):
>>> return '%s - %s' % (self.id, self.title)>>> posts = Post.objects.all()
>>> print posts[0]
1 - sunt aut facere repellat provident occaecati excepturi optio reprehenderit
```Paginated API With Filtering
```python
>>> from pyrestorm.models import RestModel
>>> from pyrestorm.paginators import DjangoRestFrameworkLimitOffsetPaginator>>> class Gene(RestModel):
>>> class Meta:
>>> url = 'https://api.genepeeks.com/genes/'
>>> paginator_class = DjangoRestFrameworkLimitOffsetPaginator
...
>>> def __repr__(self):
>>> return '%s [%s:%s]' % (self.slug, self.start, self.end)>>> genes = Gene.objects.all()
>>> print genes[0]
RPH3AL [62293:236045]>>> gene = Gene.objects.get(name='PEX10')
>>> print gene
PEX10 [2336236:2345236]>>> Gene.objects.get(name__icontains='PEX')
raise Gene.MultipleObjectsReturned>>> Gene.objects.get(name='PEXCFTR')
raise Gene.DoesNotExist
```