Skip to main content

asyncio based Redis object mapper

Project description

Python Redis Object Mapper

asyncio based Redis object mapper

Table of content

Installation

TODO

Usage

import asyncio

from dataclasses import field
from typing import Set, Dict

from aio_rom import Model
from aio_rom.fields import Metadata
from aio_rom.session import redis_pool


class Foo(Model):
    bar: int
    foobar: Set[int] = field(default_factory=set)
    my_boolean: bool = False
    transient_field: Dict = field(metadata=Metadata(transient=True))


class OtherFoo(Model):
    foo: Foo

async def main():
    async with redis_pool("redis://localhost"):
        foo = Foo(123, {1,2,3}, True)
        await foo.save()
        ...
        foo2 = await Foo.get(321)
        other_foo = OtherFoo(303, foo2)
        await other_foo.save()

asyncio.run(main())

Features

TODO

TODO

  1. Docs
  2. Tests

Limitations

  1. configure must be called before other calls to Redis can succeed, no defaults to localhost atm.
  2. You cannot use from __future__ import annotations in the same file you define your models. See https://bugs.python.org/issue39442
  3. TODO Supported datatypes
  4. Probably more ...

Project details


Download files

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

Source Distribution

aio_rom-0.1.7.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

aio_rom-0.1.7-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file aio_rom-0.1.7.tar.gz.

File metadata

  • Download URL: aio_rom-0.1.7.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for aio_rom-0.1.7.tar.gz
Algorithm Hash digest
SHA256 a06f371f4378d13aa7163979ff070252d669b566f8e215606f6a28ec94a39bb4
MD5 092fe8698119e32db9a4c986850df429
BLAKE2b-256 786afc83f8d97add4cd8f9bb14d5654bd3eb7465456b49713499b1806583002f

See more details on using hashes here.

File details

Details for the file aio_rom-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: aio_rom-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for aio_rom-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3d8bdeb2e47d21bfd87106b87f0b98f700f12710623a1e4728353b5e5e2ca117
MD5 389032a0b1eae1d67752cd929073dbc1
BLAKE2b-256 c6c908643d6def060302316f194b4d82c895be0398343a70c7771781c4ac0570

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page