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 typing import Set

import rom

# Library will wrap the class into a dataclass and detect fields from that
class Foo(rom.Model):
    bar: int
    foobar: Set[int] = rom.field(default_factory=set)
    my_boolean: bool = False
    transient_field: Dict = rom.field(transient=True)

class OtherFoo(rom.Model):
    foo: Foo

async def main():
    await rom.init("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
  3. Pypi
  4. Update specific model fields

Limitations

  1. init 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.0.6.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

aio_rom-0.0.6-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file aio-rom-0.0.6.tar.gz.

File metadata

  • Download URL: aio-rom-0.0.6.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for aio-rom-0.0.6.tar.gz
Algorithm Hash digest
SHA256 928df04627f8c3ad783bac68dbfce59bc6a4f7e09706321f4d98a78c684e8f42
MD5 6fdbc06a237a849f724a43c96702f5ae
BLAKE2b-256 8eba220ab7b801112aee1b1e12b02a25f26e4bb8542dadaab4561f03345ee454

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aio_rom-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for aio_rom-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cffde4726f4624e7423dc81b010fc916296f7776108dbb5ab4fa51794d49c2fd
MD5 a504a3b30e75e2de10545b5de16554dd
BLAKE2b-256 7167cba34646f7f6fe45f0b38f57d9a874f621debf63161bfffc5d147a8f4327

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