Metadata-Version: 2.4
Name: ptech-tools
Version: 0.1.0
Summary: Reusable Django utilities for PTech projects
Author: PTech
License-Expression: MIT
Keywords: django,backup,utilities,management-command
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Django<7,>=5.2
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Requires-Dist: pytest-django>=4; extra == "test"
Dynamic: license-file

# ptech-tools

Pacote reutilizavel de utilitarios Django/Python para os projetos da PTech.

## Instalacao

```bash
pip install ptech-tools
```

Requer Django 5.2 ou superior.

## Uso no Django

Adicione o app em `INSTALLED_APPS`:

```python
INSTALLED_APPS = [
    # ...
    "ptech_tools.apps.PtechToolsConfig",
]
```

## Comando inicial

O pacote ja expoe o comando `export_db`:

```bash
python manage.py export_db
```

Configuracao opcional via `settings.py`:

```python
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent

PTECH_TOOLS = {
    "EXPORT_DB": {
        "output_dir": BASE_DIR / "backups",
        "database_alias": "default",
        "compress": True,
        "include_tables": ["users", "orders"],
        "exclude_tables": ["audit_log"],
    }
}
```

O comando tambem aceita flags diretas:

```bash
python manage.py export_db --compress --include-table users --include-table orders
```

Quando `compress=True` ou `--compress` estiver ativo, o arquivo final termina em `.gz`.
Use `--no-compress` para forcar saida sem compactacao, mesmo se `compress=True` estiver configurado.

`include_tables` e `exclude_tables` aceitam listas no `settings.py` e valores separados por virgula nas variaveis de ambiente.

## Publicacao

O fluxo de publicacao para TestPyPI e PyPI esta documentado em [docs/publishing.md](docs/publishing.md).
