No project description provided
Project description
Data Snack
About
Data Snack is a minimalistic framework for storing and accessing structured data.
It uses an Entity
objects to define a schema for your data. Snack
provides an interface
for automatically serializing and storing entities in a cache database of you choice.
General interface that allows you to use different backends: redis, memcached.
Install
Data Snack can be easily installed using pypi repository.
pip install data_snack
Usage
This examples shows a basic usage of defining an entity and using Snack
to save and load it from the cache.
More examples can be found in the Examples section.
Example 1 - Creating new entities and saving
1. Define entities
from dataclasses import dataclass
from typing import Text
from data_snack.entities import Entity
@dataclass
class Person(Entity):
index: Text
name: Text
2. Connect to redis
import redis
redis_connection = redis.Redis(host='127.0.0.1', port=6379, password='')
3. Create snack instance
from data_snack import Snack
snack = Snack(connection=redis_connection) # create instance
snack.register_entity(Person, keys=['index']) # register your entity
4. Save and load your entities using Snack
snack.set(Person("1", "John"))
# 'Person-1'
snack.get(Person, ["1"])
# Person(index='1', name='John')
snack.mset([Person("1", "John"), Person("2", "Anna")])
# ['Person-1', 'Person-2']
entities = snack.mget(CarEntity, [["1"], ["2"]])
# [Person(index='1', name='John'), Person(index='2', name='Anna')]
Contact
Plugin was created by the Data Science team from Webinterpret.
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
Hashes for data_snack-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9045dd7274b32d4379b2a7d0e3ae21b3e3ec469223b6b1c4a4b7df898452e1fc |
|
MD5 | 42092bc13c943097e96bbe1592a2e6af |
|
BLAKE2b-256 | b570078cc14effc2ef4c1a660df15cd67924687c829050e7f26bb61457f63430 |