Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marshmallow-code/marshmallow-jsonapi
JSON API 1.0 (https://jsonapi.org/) formatting with marshmallow
https://github.com/marshmallow-code/marshmallow-jsonapi
deserialization flask json-api marshmallow rest-api serialization validation
Last synced: 10 days ago
JSON representation
JSON API 1.0 (https://jsonapi.org/) formatting with marshmallow
- Host: GitHub
- URL: https://github.com/marshmallow-code/marshmallow-jsonapi
- Owner: marshmallow-code
- License: mit
- Archived: true
- Created: 2015-09-12T20:10:55.000Z (about 9 years ago)
- Default Branch: dev
- Last Pushed: 2023-06-28T21:15:39.000Z (over 1 year ago)
- Last Synced: 2024-10-30T00:00:14.256Z (11 days ago)
- Topics: deserialization, flask, json-api, marshmallow, rest-api, serialization, validation
- Language: Python
- Homepage: https://marshmallow-jsonapi.readthedocs.io
- Size: 590 KB
- Stars: 217
- Watchers: 10
- Forks: 67
- Open Issues: 53
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
*******************
marshmallow-jsonapi
*******************.. image:: https://badgen.net/pypi/v/marshmallow-jsonapi
:target: https://pypi.org/project/marshmallow-jsonapi/
:alt: PyPI version.. image:: https://dev.azure.com/sloria/sloria/_apis/build/status/marshmallow-code.marshmallow-jsonapi?branchName=dev
:target: https://dev.azure.com/sloria/sloria/_build/latest?definitionId=7&branchName=dev
:alt: Build status.. image:: https://readthedocs.org/projects/marshmallow-jsonapi/badge/
:target: https://marshmallow-jsonapi.readthedocs.io/
:alt: Documentation.. image:: https://badgen.net/badge/marshmallow/3
:target: https://marshmallow.readthedocs.io/en/latest/upgrading.html
:alt: marshmallow 3 compatible.. image:: https://badgen.net/badge/code%20style/black/000
:target: https://github.com/ambv/black
:alt: code style: blackHomepage: http://marshmallow-jsonapi.readthedocs.io/
JSON API 1.0 (`https://jsonapi.org `_) formatting with `marshmallow `_.
marshmallow-jsonapi provides a simple way to produce JSON API-compliant data in any Python web framework.
.. code-block:: python
from marshmallow_jsonapi import Schema, fields
class PostSchema(Schema):
id = fields.Str(dump_only=True)
title = fields.Str()author = fields.Relationship(
"/authors/{author_id}", related_url_kwargs={"author_id": ""}
)comments = fields.Relationship(
"/posts/{post_id}/comments",
related_url_kwargs={"post_id": ""},
# Include resource linkage
many=True,
include_resource_linkage=True,
type_="comments",
)class Meta:
type_ = "posts"post_schema = PostSchema()
post_schema.dump(post)
# {
# "data": {
# "id": "1",
# "type": "posts"
# "attributes": {
# "title": "JSON API paints my bikeshed!"
# },
# "relationships": {
# "author": {
# "links": {
# "related": "/authors/9"
# }
# },
# "comments": {
# "links": {
# "related": "/posts/1/comments/"
# }
# "data": [
# {"id": 5, "type": "comments"},
# {"id": 12, "type": "comments"}
# ],
# }
# },
# }
# }Installation
============
::pip install marshmallow-jsonapi
Documentation
=============Full documentation is available at https://marshmallow-jsonapi.readthedocs.io/.
Requirements
============- Python >= 3.6
Project Links
=============- Docs: http://marshmallow-jsonapi.readthedocs.io/
- Changelog: http://marshmallow-jsonapi.readthedocs.io/en/latest/changelog.html
- Contributing Guidelines: https://marshmallow-jsonapi.readthedocs.io/en/latest/contributing.html
- PyPI: https://pypi.python.org/pypi/marshmallow-jsonapi
- Issues: https://github.com/marshmallow-code/marshmallow-jsonapi/issuesLicense
=======MIT licensed. See the bundled `LICENSE `_ file for more details.