Skip to main content

Easiest way to Store JSON typed data using a Pydantic models and database-like structure.

Project description

StoreJSON

StoreJSON is the easiest way to manage data with JSON. It allows you to store, manipulate, and query objects in table form, similar to a database, but with the simplicity and readability of the JSON format. This project is designed to be as accessible as possible while remaining powerful enough for various use cases.

Why Use StoreJSON?

  • Simplicity: With StoreJSON, working with structured data becomes as simple as manipulating Python objects. No complex configuration is needed. Everything is managed through classes.

  • Performance: The use of typed models via Pydantic. enables efficient data validation while ensuring data integrity.

  • Readability: Storing data in JSON format ensures that your data remains easily readable and modifiable, even without specific tools.

Example Usage

from storejson import Storage, TableObject

# Create a new storage instance using a JSON file
storage = Storage("./mystorage.json")

# Define a data model for the "users" table
class UserModel(TableObject):
    id: int
    username: str

# Add the "users" table to the storage
User = storage.add_table("users", id_key="id", model_class=UserModel)

# Create a new user and add them to the table
user = User(id=1, username="JohnDoe")
user.storage.push()

# Retrieve a user by their ID
retrieved_user = User.get(1)
print(retrieved_user)

# Update a user
retrieved_user.username = "JaneDoe"
retrieved_user.push()

# Delete a user
retrieved_user.remove()

Using Decorators

If you prefer to use decorators for more concise syntax:

# Create a "users" table using a decorator
@storage.table("users", id_key="id")
class User(TableObject):
    id: int
    username: str

# Create and add a user
user = User(id=2, username="Alice")
user.storage.push()

# Retrieve and display the user
print(User.storage.get(2))

Complete Documentation

To view the full documentation of the project, it is recommended to use pdoc.

pip install pdoc
py -m pdoc storejson

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

storejson-0.1.1.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

storejson-0.1.1-py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 3

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