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.
Release files for frid 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| frid-0.6.1.tar.gz | 126.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| frid-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 268.1 kB
Release files / frid-0.6.1.tar.gz
| Download URL | frid-0.6.1.tar.gz |
|---|---|
| Size | 126.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c4881d8b2531e52f6bb97836f85e362f920a68022e8955bd88d844012d5943f9
|
|
BLAKE2b-256 checksum How to use checksums |
8605131990109c096afa8dafa905db9a5d6b365e2981e1e4d1bd643e3604b0ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.2
|
Release files / frid-0.6.1-py3-none-any.whl
| Download URL | frid-0.6.1-py3-none-any.whl |
|---|---|
| Size | 141.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b6af90499fe3717904fd4648a00102aef4c172a4d11f8b282ab35dda90ce0f1
|
|
BLAKE2b-256 checksum How to use checksums |
bb596813719dd4c31399d62cc4265a1b61800e48f2605b37be80c6eb823dd255
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.2
|