Skip to content

Instantly share code, notes, and snippets.

View abrookins's full-sized avatar

Andrew Brookins abrookins

View GitHub Profile
@abrookins
abrookins / embedded_json.py
Created November 20, 2021 01:44
Embedded JSON models with Redis OM for Python
import datetime
from typing import Optional
from redis_om import (
EmbeddedJsonModel,
JsonModel,
Field,
Migrator,
)
from redis_om import get_redis_connection
@abrookins
abrookins / querying.py
Created November 20, 2021 01:36
Rich query expressions with Redis OM for Python
import datetime
from typing import Optional
from pydantic import EmailStr
from redis_om import (
Field,
HashModel,
Migrator
)
@abrookins
abrookins / validation.py
Created November 20, 2021 01:27
Data validation with Redis OM for Python
import datetime
from typing import Optional
from pydantic import EmailStr, ValidationError
from redis_om import HashModel
class Customer(HashModel):
first_name: str
@abrookins
abrookins / models.py
Created November 19, 2021 15:51
Declarative Models with Redis OM
import datetime
from typing import Optional
from pydantic import EmailStr
from redis_om import HashModel
class Customer(HashModel):
first_name: str
@abrookins
abrookins / kant-light.icls
Last active August 12, 2020 13:31
Kant Light - A light monochrome color scheme for Intellij editors. Inspired by Verdandi.
Moved to: https://github.com/abrookins/kant
@abrookins
abrookins / kant-light.icls
Created August 11, 2020 21:46
Kant Light - A light monochrome color scheme for Intellij editors.
This file has been truncated, but you can view the full file.
<scheme name="Kant" version="142" parent_scheme="Default">
<option name="FONT_SCALE" value="1.0" />
<metaInfo>
<property name="created">2020-08-11T14:43:37</property>
<property name="ide">Python</property>
<property name="ideVersion">2020.2.0.0</property>
<property name="modified">2020-08-11T14:43:46</property>
<property name="originalScheme">Kant</property>
</metaInfo>
<option name="LINE_SPACING" value="1.0" />
@abrookins
abrookins / kant-dark.icls
Last active August 12, 2020 13:30
Kant Dark - A dark monochrome color scheme for Intellij editors. Inspired by Verdandi.
Moved to: https://github.com/abrookins/kant
SiteStatsSchema = marshmallow_dataclass.class_schema(SiteStats)
In [13]: SiteStatsSchema().load({"meter_reading_count": "hey"})
[…]
ValidationError: {'meter_reading_count': ['Not a valid integer.'], 'min_wh_generated': ['Missing data for required field.'], 'last_reporting_time': ['Missing data for required field.'], 'max_wh_generated': ['Missing data for required field.'], 'max_capacity': ['Missing data for required field.']}
In [10]: stats2 = SiteStatsSchema().load(data)
In [11]: stats == stats2
Out[11]: True