semvec/pypi-packages huggingface dataset:
storejson 0.1.1
Easiest way to Store JSON typed data using a Pydantic models and database-like structure.
License: MIT
Requires Python: <4.0,>=3.12

![](https://cdn.discordapp.com/attachments/1260365923399762021/1279777654966325281/Frame_24.png?ex=66d5ad52&is=66d45bd2&hm=6dbc2843aa21198e1d34c59774bbb04802a53a452355df96b1ebd76ec9206f9c&)

<h1 align="center">StoreJSON</h1>

<p align="center">
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.
</p>

## 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](https://docs.pydantic.dev/latest/). 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

```python
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:

```python
# 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`.

```bash
pip install pdoc
py -m pdoc storejson
```
django-sage-invoice 0.1.6
A project for invoice generation and NFC integration.
License: MIT
Requires Python: <4.0,>=3.9
Keywords: django, invoice, sageteam, django-packages

# Django Sage Invoice

Django Sage Invoice is a Django application for managing invoices. It provides a robust admin interface to create, view, and manage invoices and their related components like categories, items, and totals.

## Features

- Create and manage invoices with detailed customer information.
- Customize invoices with logos, backgrounds, signatures, and stamps.
- Add custom columns to each invoice for additional information.
- Generate invoice totals automatically, including tax and discount calculations.
- Export invoices as HTML files bundled in a ZIP archive.
- Choose from predefined templates or define your own.

## Installation

### Using `pip` with `virtualenv`

1. **Create a Virtual Environment**:

    ```bash
    python -m venv .venv
    ```

2. **Activate the Virtual Environment**:

   - On Windows:

     ```bash
     .venv\Scripts\activate
     ```

   - On macOS/Linux:

     ```bash
     source .venv/bin/activate
     ```

3. **Install `django-sage-invoice`**:

    ```bash
    pip install django-sage-invoice
    ```

### Using `poetry`

1. **Initialize Poetry** (if not already initialized):

    ```bash
    poetry init
    ```

2. **Install `django-sage-invoice`**:

    ```bash
    poetry add django-sage-invoice
    ```

3. **Apply Migrations**:

    After installation, make sure to run the following commands to create the necessary database tables:

    ```bash
    python manage.py makemigrations
    python manage.py migrate
    ```

## Configuration

### Django Settings

Add `django-sage-invoice` to your `INSTALLED_APPS` in the Django settings and configure the `SAGE_MODEL_PREFIX` and `SAGE_MODEL_TEMPLATE`:

```python
INSTALLED_APPS = [
    # other packages
    "sage_tools",
    "sage_invoice",
]
SAGE_MODEL_PREFIX = "invoice"
SAGE_MODEL_TEMPLATE = "sage_invoice"
```
bismuth-mypy 1.11.2b3
Optional static typing for Python
License: MIT
Requires Python: >=3.8

Mypy -- Optional Static Typing for Python
=========================================

Add type annotations to your Python programs, and use mypy to type
check them.  Mypy is essentially a Python linter on steroids, and it
can catch many programming errors by analyzing your program, without
actually having to run it.  Mypy has a powerful type system with
features such as type inference, gradual typing, generics and union
types.