Skip to main content

Starlette Marshal

This package has two usage.Provide a "JSONResponse" to replace simple Starlette "JSONResponse" and works with other Python JSON libraries. And offer a "json" library to replace Python "json" library, so we can use it instead.

Installation

To install base package:

pip install -U starlette-marshal

to support RapidJSON:

pip install -U starlette-marshal[rapidjson]

or if you prefer the latest development version, you can install it from the source:

Quickstart

We want to be soft dependency. So this package is 100% compatible with standard Python and Starlette package. To archive this goal you can import it like this:

try:
    from starlette_marshal import json
except ImportError:
    import json

try:
    from starlette_marshal import JSONResponse
except ImportError:
    from starlette.responses import JSONResponse

the usage is just like Starlette itself:

async def get(request: Request) -> Response:
    content: dict = {
        'foo': 'This is foo',
        'bar': 'And here the bar',
    }
    return JSONResponse(content=content)

and for "json" library:

async def post(request: Request) -> Response:
    body: dict = json.loads(s=await request.body())
    return JSONResponse(content=body)

TODO

  • Support RapidJSON
  • Support UltraJSON
  • Support simplejson
  • Support orjson

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starlette-marshal-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

starlette_marshal-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file starlette-marshal-0.1.0.tar.gz.

File metadata

  • Download URL: starlette-marshal-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for starlette-marshal-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6f64eeb9829a9537afabfbd81f9fb027bdb0365db647f397d33c648140431d0b
MD5 21ad2e9c8286e0615c80d71d55f46043
BLAKE2b-256 b82a8256507594d8c2a49382d7e366e548cb4318cfcc20b558075bcd91ead217

See more details on using hashes here.

File details

Details for the file starlette_marshal-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: starlette_marshal-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for starlette_marshal-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d20b7ca74a1396084d8513261647d2364cc2f8d8632e0af083b6cbc045d1f2d8
MD5 003bd2407f3dbf546ffee7f5767fc53b
BLAKE2b-256 15506c97b1d8decaae3526ce7708226cbf32e817e7fdfb83b34739be71b0da67

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page