Flexibly Represented Interactive Data
Project description
FRID: Flexibly Represented Interactive Data
This Python package is a tool for data manipulation.
Supported data types include:
- All JSON types: string, integer, floating point, boolean, null, array (as Python lists), and object (as Python dictionaries).
- Additional data types: binary types (bytes/bytearray/memoryview) and date types (date/time/datetime).
- Base classes are provided for user-extensible data structures, allowing users to convert between any customized data structures and string representations.
Current key features include:
- A data serialization/deserialization tool:
- Data can be dumped into and loaded from a string representation that is more concise than the JSON format.
- The library is capable of encoding data in fully JSON- or JSON5-compatible formats, including escape sequences in strings to support additional data types.
- A number of utilities functions and classes, including some asyncio utilities.
- A key/value store supporting memory, file system, redis, and sqlalchemy as backends.
- Web application support tools, such as:
- Converting data from HTTP request bodies based on content type.
- Converting data types to HTTP requests and setting the correct headers.
- Sending streaming responses if the data of the body comes from an asynchronous iterator.
- A mimimal web server routing framework, supporting both WSGi and ASGi.
- Websocket support for ASGi.
Dependencies:
The package do not have required dependencies, but it needs a few optional dependencies to run some features:
redis: for Redis support; also a system commandredis-serverto run unit tests.sqlalchemy: for SQL support, with some additional packages depending on backend; to run async key/value store with Sqlite, one needaiosqliteandgreenletto run the unit tests. For Postgres, the following are needed:psycopg[binary]for sync Postgres support,asyncpgfor async Postgres support.
- For web servers:
gunicornto run WSGi unit tests.uvicornto run ASGi unit tests.
- For websocket support (ASGi only):
websocketswithuvicorn(or installuvicorn[standard]); it also allows us to run websockets' threading-based sync client for unit tests.websocket-clientto run websocket-client-based unit tests.
Other possibilities that haven't been tested:
- For ASGi:
daphneandhypercorn; - For ASGi with
uvicorn:wsprotois an alternative towebsockets.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frid-0.6.1.tar.gz.
File metadata
- Download URL: frid-0.6.1.tar.gz
- Upload date:
- Size: 126.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4881d8b2531e52f6bb97836f85e362f920a68022e8955bd88d844012d5943f9
|
|
| MD5 |
f81f68c6608d59163e9e05eb5663f69a
|
|
| BLAKE2b-256 |
8605131990109c096afa8dafa905db9a5d6b365e2981e1e4d1bd643e3604b0ca
|
File details
Details for the file frid-0.6.1-py3-none-any.whl.
File metadata
- Download URL: frid-0.6.1-py3-none-any.whl
- Upload date:
- Size: 141.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b6af90499fe3717904fd4648a00102aef4c172a4d11f8b282ab35dda90ce0f1
|
|
| MD5 |
2b5b82411011bf79708ea5f36b1a9f3e
|
|
| BLAKE2b-256 |
bb596813719dd4c31399d62cc4265a1b61800e48f2605b37be80c6eb823dd255
|