Json API Smart
Is your client library which support ths JSON:API standard specified on JSON:API.
class BaseResource(JsonApiResource):
@staticmethod
def base_url(cls) -> str:
return "http://baseurl.com/"
class People(BaseResource):
id: str = resource_id()
first_name: str = attribute()
class Article(BaseResource):
id: str = resource_id()
title: str = attribute()
number: int = attribute()
some_date: date = attribute(decoder=date.fromisoformat)
some_optional: Optional[int] = attribute()
author: People = relationship()
Query it with:
# http://baseurl.com/articles/101
article = Article.find("101")
article.id # 101
article.title # JSON:API paints my bikeshed!
article.number # 1
article.some_optional # None
article.author.id # "9"
article.author.first_name # "Dan"
Query resources
Call your resources by building chains:
# http://baseurl.com/articles
articles = Article.all()
# http://baseurl.com/articles?price=5
articles = Article.with_params(price=5).all()
# http://baseurl.com/articles?filter[author]=101
articles = Article.where(author=101).all()
# http://baseurl.com/articles/101
articles = Article.find("101")
Metadata
Release files for json-api-smart 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| json-api-smart-0.0.5.tar.gz | 4.8 kB | Details |
Release files / json-api-smart-0.0.5.tar.gz
| Download URL | json-api-smart-0.0.5.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f02e7db207a024e66c4cd8b479052a48d1bd23d01ac393ca73d87a1c12dfa7f
|
|
BLAKE2b-256 checksum How to use checksums |
c61a328653d64cc0bf8fee9635256b526bea3666713da8d7df9cba33d85b157c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1
|