Metadata-Version: 2.4
Name: edutk3
Version: 0.1.0
Summary: Учебная библиотека для простого Tkinter + SQLite приложения с авторизацией и CRUD
Author: Student Project
License: MIT
Keywords: tkinter,sqlite,education,crud,admin
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# edu-tk-sqlite

Учебная Python-библиотека для быстрого создания простого desktop-приложения на **Tkinter + SQLite**.

Библиотека подходит для лёгкого учебного проекта: каталог сущностей, авторизация, регистрация, профиль, избранное и простая админка.

## Что есть внутри

- авторизация;
- регистрация;
- профиль пользователя;
- каталог сущностей;
- избранное;
- картинки у сущностей по указанному пути;
- админка;
- добавление сущностей;
- редактирование сущностей;
- удаление сущностей;
- просмотр пользователей.

## Структура проекта

```text
edu_tk_sqlite_lib/
├── edu_tk_sqlite/
│   ├── __init__.py
│   └── app.py
├── examples/
│   ├── app.py
│   └── images/
│       ├── apple.ppm
│       ├── book.ppm
│       └── car.ppm
├── pyproject.toml
└── README.md
```

## Установка локально

Открой терминал в папке с проектом и выполни:

```bash
pip install -e .
```

Флаг `-e` означает editable-режим: если поменять код библиотеки, переустанавливать её не нужно.

## Запуск примера

```bash
python examples/app.py
```

## Логины для проверки

```text
Администратор:
admin / admin

Пользователь:
user / user
```

## Минимальный код использования

```python
from edu_tk_sqlite import SimpleTkSQLiteAdmin

app = SimpleTkSQLiteAdmin()
app.run()
```

## Код использования с настройками

```python
from pathlib import Path
from edu_tk_sqlite import SimpleTkSQLiteAdmin

BASE_DIR = Path(__file__).parent

app = SimpleTkSQLiteAdmin(
    db_path="simple_ru.db",
    base_dir=BASE_DIR,
    image_dir="images",
    app_title="Мой учебный проект",
    window_size="760x560",
)

app.run()
```

## Как поменять стартовые сущности

```python
from edu_tk_sqlite import SimpleTkSQLiteAdmin

items = [
    ("Пицца", "Описание блюда", "images/apple.ppm"),
    ("Суп", "Ещё одно блюдо", "images/book.ppm"),
]

app = SimpleTkSQLiteAdmin(default_items=items)
app.run()
```

## Важно

Это учебная библиотека. Пароли хранятся в SQLite в открытом виде, потому что проект специально сделан максимально простым. Для настоящего проекта пароли надо хешировать.
