From 64c5be6fab21a6b381c9736348489e3f48542f81 Mon Sep 17 00:00:00 2001 From: azhig Date: Tue, 2 Jun 2026 16:21:37 +0300 Subject: [PATCH] chore(release): prepare v0.1.0 for PyPI Package the project for its first public PyPI release and fix correctness issues in the generated application. Generated app fixes: - map DBML timestamp/datetime/date/time to Python datetime/date/time instead of str, emitting the matching imports - add greenlet to generated requirements - read DATABASE_URL from the environment and use the FastAPI lifespan API --- .env | 3 - .env.example | 9 +- .github/workflows/publish.yml | 59 ++ .gitignore | 3 +- CHANGELOG.md | 66 +- CONTRIBUTING.md | 18 +- Makefile | 10 +- README.md | 227 +++-- docs/CLI_GUIDE.md | 688 ++----------- docs/img/admin.png | Bin 0 -> 58714 bytes docs/img/admin_login.png | Bin 0 -> 12581 bytes docs/img/cli.png | Bin 0 -> 28768 bytes docs/img/cli_code2dbml.png | Bin 0 -> 26519 bytes docs/img/cli_diff.png | Bin 0 -> 143496 bytes docs/img/cli_generate.png | Bin 0 -> 120780 bytes docs/img/cli_info.png | Bin 0 -> 54621 bytes docs/img/cli_interactive_initial.png | Bin 0 -> 55790 bytes docs/img/cli_preview.png | Bin 0 -> 84224 bytes docs/img/dbml.png | Bin 0 -> 88064 bytes docs/img/docs.png | Bin 0 -> 71683 bytes examples/schema.dbml | 8 +- pyproject.toml | 75 +- src/__init__.py | 3 - src/dbml_to_sqlmodel/cli.py | 25 +- src/dbml_to_sqlmodel/constants.py | 18 +- src/dbml_to_sqlmodel/core/code_generator.py | 50 +- src/dbml_to_sqlmodel/core/config.py | 6 +- src/dbml_to_sqlmodel/core/parser.py | 158 +-- src/dbml_to_sqlmodel/generate_app.py | 391 ------- src/dbml_to_sqlmodel/generator.py | 95 +- src/dbml_to_sqlmodel/integrations/__init__.py | 5 - .../integrations/pydbml_adapter.py | 22 - src/dbml_to_sqlmodel/sqlmodel_to_dbml.py | 23 +- src/dbml_to_sqlmodel/templates/__init__.py | 0 src/dbml_to_sqlmodel/utils/type_mapping.py | 24 +- tests/test_cli.py | 86 ++ tests/test_code_generator.py | 84 ++ tests/test_commands.py | 158 +++ tests/test_full_coverage.py | 959 ------------------ tests/test_generated_app_smoke.py | 91 ++ tests/test_generator.py | 110 ++ tests/test_parser.py | 151 +++ tests/test_sqlmodel_to_dbml.py | 363 +++++++ tests/test_style.py | 37 - tests/test_utils.py | 49 + uv.lock | 3 +- 46 files changed, 1711 insertions(+), 2366 deletions(-) delete mode 100644 .env create mode 100644 .github/workflows/publish.yml create mode 100644 docs/img/admin.png create mode 100644 docs/img/admin_login.png create mode 100644 docs/img/cli.png create mode 100644 docs/img/cli_code2dbml.png create mode 100644 docs/img/cli_diff.png create mode 100644 docs/img/cli_generate.png create mode 100644 docs/img/cli_info.png create mode 100644 docs/img/cli_interactive_initial.png create mode 100644 docs/img/cli_preview.png create mode 100644 docs/img/dbml.png create mode 100644 docs/img/docs.png delete mode 100644 src/__init__.py delete mode 100644 src/dbml_to_sqlmodel/generate_app.py delete mode 100644 src/dbml_to_sqlmodel/integrations/__init__.py delete mode 100644 src/dbml_to_sqlmodel/integrations/pydbml_adapter.py delete mode 100644 src/dbml_to_sqlmodel/templates/__init__.py create mode 100644 tests/test_cli.py create mode 100644 tests/test_commands.py delete mode 100644 tests/test_full_coverage.py create mode 100644 tests/test_generated_app_smoke.py create mode 100644 tests/test_sqlmodel_to_dbml.py delete mode 100644 tests/test_style.py diff --git a/.env b/.env deleted file mode 100644 index fb7668b..0000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -ADMIN_USER=admin -ADMIN_PASS=pass -ADMIN_SECRET=sec diff --git a/.env.example b/.env.example index 2c3f018..a18634c 100644 --- a/.env.example +++ b/.env.example @@ -1 +1,8 @@ -ADMIN_USER=admin ADMIN_PASS=pass ADMIN_SECRET=sec +# Database connection string used by the generated application +DATABASE_URL=sqlite+aiosqlite:///./database.db + +# SQLAdmin authentication (only required when generating with --admin-auth) +ADMIN_USER=admin +ADMIN_PASS=change-me +# ADMIN_SECRET must be at least 32 characters long +ADMIN_SECRET=replace-with-a-secret-of-at-least-32-characters diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..472b0d2 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,59 @@ +name: Publish to PyPI + +# Publishes the package to PyPI when a GitHub Release is published. +# Uses PyPI Trusted Publishing (OIDC) — no API tokens are stored in the repo. +# +# One-time setup on PyPI (https://pypi.org/manage/account/publishing/): +# - Project name: dbml-to-sqlmodel +# - Owner: azhig +# - Repository: dbml-to-sqlmodel +# - Workflow name: publish.yml +# - Environment: pypi + +on: + release: + types: [published] + workflow_dispatch: + +jobs: + build: + name: Build distributions + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - name: Install uv + uses: astral-sh/setup-uv@v7 + with: + version: "latest" + + - name: Build sdist and wheel + run: uv build + + - name: Check distribution metadata + run: uvx twine check dist/* + + - name: Upload distributions + uses: actions/upload-artifact@v4 + with: + name: dist + path: dist/ + + publish: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/project/dbml-to-sqlmodel/ + permissions: + id-token: write # required for trusted publishing + steps: + - name: Download distributions + uses: actions/download-artifact@v4 + with: + name: dist + path: dist/ + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.gitignore b/.gitignore index 7275c9d..cd0a45a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,7 @@ habr_article.md *.db-shm *.db-wal -# Generated files in root (legacy - если остались) +# Generated files in root /models.py /admin.py /crud/ @@ -35,6 +35,7 @@ habr_article.md .pytest_cache/ .ruff_cache/ .coverage +.mypy_cache htmlcov/ # OS diff --git a/CHANGELOG.md b/CHANGELOG.md index 83d3563..40b3ec8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,41 +5,39 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.1.0] - 2026-06-02 -### Added -- Ruff configuration for linting and formatting -- Pre-commit hooks for code quality -- MyPy type checking support -- Dependabot for automated dependency updates -- CHANGELOG.md for tracking version changes -- CONTRIBUTING.md guidelines - -### Changed -- Project structure refactored from `dbml_to_code` to `dbml_to_sqlmodel` -- Updated Makefile with correct CLI commands -- Improved .gitignore patterns - -## [0.1.0] - 2026-01-14 +Initial public release. ### Added -- Initial release -- DBML to SQLModel conversion -- FastAPI CRUD generation -- Interactive CLI with questionary -- Preview mode with diff display -- Info command for file inspection -- GitHub Actions CI/CD pipeline -- Test coverage reporting -- Example schema files - -### Features -- Generate SQLModel models from DBML schemas -- Auto-generate FastAPI CRUD endpoints -- SQLAdmin integration -- Database migrations support -- Type-safe code generation -- CLI with multiple commands (generate, preview, info) -[Unreleased]: https://github.com/yourusername/dbml-to-sqlmodel/compare/v0.1.0...HEAD -[0.1.0]: https://github.com/yourusername/dbml-to-sqlmodel/releases/tag/v0.1.0 +- DBML to SQLModel model generation +- FastAPI CRUD endpoint generation powered by + [FastCRUD](https://github.com/igorbenav/fastcrud) +- Optional [SQLAdmin](https://github.com/aminalaee/sqladmin) admin panel, with + optional constant-time credential authentication (`--admin-auth`) +- Modular generated project: one package per table, plus a wired-up `main.py` + that uses the FastAPI `lifespan` API and reads `DATABASE_URL` from the + environment (`.env`) +- Correct temporal type mapping: DBML `timestamp`/`datetime`/`date`/`time` map to + Python `datetime`/`date`/`time` with the matching imports +- PascalCase class names and singularized relationship attribute names +- Interactive CLI (`questionary`) plus direct subcommands: `generate`, + `preview`, `info` and `code-to-dbml` +- Preview mode with diff display and protection for manual edits via the + `USER_MODIFIED` marker +- Reverse conversion: generated code back to DBML +- `--version` / `-V` flag +- Generated `requirements.txt` with runtime versions aligned to the tested + stack (including `greenlet`, which the async SQLAlchemy engine needs but + which is not auto-installed on every platform) +- `py.typed` marker (PEP 561) and full PyPI packaging metadata (authors, + keywords, Trove classifiers, project URLs) +- Documentation: README, CLI guide and contributing guidelines +- Tooling: Ruff, MyPy, pre-commit, Dependabot, GitHub Actions CI with Codecov + coverage and a PyPI trusted-publishing workflow +- Test suite with 100% coverage, including smoke tests that compile the + generated application and guard temporal-type, lifespan and requirements + regressions + +[0.1.0]: https://github.com/azhig/dbml-to-sqlmodel/releases/tag/v0.1.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8b75d46..d71153f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,8 +6,8 @@ Thank you for your interest in contributing! This document provides guidelines f 1. **Clone the repository** ```bash - git clone - cd dbml_to_crud + git clone https://github.com/azhig/dbml-to-sqlmodel.git + cd dbml-to-sqlmodel ``` 2. **Install uv** (if not already installed) @@ -232,18 +232,22 @@ docs(readme): update installation instructions ## Project Structure ``` -dbml_to_crud/ +dbml-to-sqlmodel/ ├── src/ │ └── dbml_to_sqlmodel/ # Main package │ ├── cli.py # CLI entry point -│ ├── parser.py # DBML parser │ ├── generator.py # Code generator -│ ├── config.py # Configuration -│ └── templates/ # Jinja2 templates +│ ├── core/ # Parser, config, code generation +│ ├── commands/ # CLI subcommands (generate, preview, info, code-to-dbml) +│ ├── integrations/ # pydbml adapter +│ ├── models/ # Internal data models +│ ├── utils/ # Helpers (diff, formatters, file manager) +│ └── templates/ # Code templates ├── tests/ # Test files ├── examples/ # Example schemas +├── docs/ # Documentation ├── Makefile # Development commands -└── pyproject.toml # Project metadata +└── pyproject.toml # Project metadata ``` ## Configuration Files diff --git a/Makefile b/Makefile index abce17d..9c7ceeb 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: help install cli generate preview info run dev clean db-reset format format-imports lint lint-fix typecheck check pre-commit pre-commit-install fresh restart full-reset +.PHONY: help install cli generate preview info run-deps run dev clean db-reset format format-imports lint lint-fix typecheck check pre-commit pre-commit-install fresh restart full-reset # Output colors GREEN := \033[0;32m @@ -27,10 +27,14 @@ preview: ## Show diff without writing files info: ## Show generated files and mismatches uv run dbml-to-sqlmodel info examples/schema.dbml -run: ## Run server (production) +run-deps: ## Install runtime dependencies for the generated app (fastapi, sqlmodel, greenlet, ...) + uv sync --extra runtime + @echo "$(GREEN)OK: runtime dependencies installed$(NC)" + +run: run-deps ## Run server (production) cd output && uv run python main.py -dev: ## Run server in development mode (hot reload) +dev: run-deps ## Run server in development mode (hot reload) cd output && uv run uvicorn main:app --reload --host 0.0.0.0 --port 8001 clean: ## Remove generated files and caches diff --git a/README.md b/README.md index 01d5de6..ad46985 100644 --- a/README.md +++ b/README.md @@ -15,15 +15,20 @@ ```

- - Tests + + PyPI version - - Coverage + + Python Versions - Python Versions - - License: MIT + + Tests + + + Coverage + + + License: MIT Ruff @@ -31,50 +36,57 @@ Pre-commit - Code style: ruff Type checked: mypy

-**Generate FastAPI + SQLModel + FastCRUD + SQLAdmin from DBML schema** +**Generate FastAPI + SQLModel + FastCRUD + SQLAdmin applications from a DBML schema.** + +`dbml-to-sqlmodel` turns a [DBML](https://dbml.org/) database schema into a ready-to-run, +modular FastAPI project: SQLModel models, FastCRUD routers, an optional SQLAdmin panel, +and a wired-up application — in a single command. ## Features -- Generate SQLModel models from DBML schema -- Auto-create CRUD routers with FastCRUD -- Generate FastAPI application with ready-to-use endpoints -- Optional SQLAdmin panel -- Preview mode to review changes before applying -- Protect user modifications in generated files +- Generate SQLModel models from a DBML schema +- Auto-generate CRUD routers powered by [FastCRUD](https://github.com/igorbenav/fastcrud) +- Produce a FastAPI application with ready-to-use endpoints +- Optional [SQLAdmin](https://github.com/aminalaee/sqladmin) admin panel +- Preview mode to inspect changes before applying them +- Protection for your manual edits in generated files (`USER_MODIFIED` marker) +- Reverse conversion: generated code back to DBML - Interactive CLI and direct commands ## Requirements - Python 3.11+ -- uv (recommended) or any Python environment manager +- [uv](https://docs.astral.sh/uv/) (recommended) or any other Python environment manager ## Installation -### For Code Generation Only +### Code generation only ```bash pip install dbml-to-sqlmodel ``` -### For Running Generated Applications +### To run the generated applications ```bash # Install with runtime dependencies -pip install dbml-to-sqlmodel[runtime] +pip install "dbml-to-sqlmodel[runtime]" + +# Or install the runtime dependencies separately in your project +pip install "fastapi[all]" sqlmodel fastcrud sqladmin aiosqlite -# Or install runtime dependencies separately in your project -pip install fastapi[all] sqlmodel fastcrud sqladmin aiosqlite +# Or, when working inside this repository +uv sync --extra runtime ``` ## Quick Start ### 1. Create a DBML schema -Create a `schema.dbml` file with your database structure: +Create a `schema.dbml` file describing your database. For example: ```dbml Table users { @@ -93,38 +105,63 @@ Table posts { } ``` +![DBML schema](https://raw.githubusercontent.com/azhig/dbml-to-sqlmodel/main/docs/img/dbml.png) + ### 2. Generate the application ```bash dbml-to-sqlmodel generate schema.dbml -o output ``` -### 3. Setup environment +Or launch the interactive mode: + +```bash +dbml-to-sqlmodel +# or the alternative command +dbml2sm +``` + +![Interactive CLI](https://raw.githubusercontent.com/azhig/dbml-to-sqlmodel/main/docs/img/cli.png) + +After generation, all SQLModel objects and their `FastCRUD` routers are created +automatically in the target directory. + +### 3. Configure the environment ```bash cd output echo "DATABASE_URL=sqlite+aiosqlite:///./database.db" > .env -# Install runtime dependencies if not already installed -pip install dbml-to-sqlmodel[runtime] +# Install the runtime dependencies if they are not installed yet +pip install "dbml-to-sqlmodel[runtime]" ``` ### 4. Run the application ```bash python main.py + +# From this repository you can also run it via Make. +# `make run` first installs the runtime dependencies (uv sync --extra runtime) +# and then starts the server; `make dev` does the same with hot reload. +make run ``` -### 5. Open in browser +### 5. Open it in the browser - API documentation: `http://localhost:8001/docs` -- Admin panel: `http://localhost:8001/admin` + +![API docs](https://raw.githubusercontent.com/azhig/dbml-to-sqlmodel/main/docs/img/docs.png) + +- SQLAdmin panel: `http://localhost:8001/admin` + +![Admin panel](https://raw.githubusercontent.com/azhig/dbml-to-sqlmodel/main/docs/img/admin.png) ## Generated Structure -The generator creates a modular project where each table has its own directory: +The generator produces a modular project with a dedicated directory per table: -``` +```text output/ ├── main.py # FastAPI application ├── admin.py # SQLAdmin configuration @@ -142,36 +179,97 @@ output/ └── ... (one directory per table) ``` -For detailed structure documentation, see [CLI_GUIDE.md](CLI_GUIDE.md#generated-project-structure). +For a detailed description of the structure, see the +[CLI Guide](https://github.com/azhig/dbml-to-sqlmodel/blob/main/docs/CLI_GUIDE.md). + +## Using It in Your Own Project + +`dbml-to-sqlmodel` is a **code generator**: you need it while developing (to scaffold +and regenerate code from your schema), but the running application never imports it. +The recommended setup is therefore: + +- add the generator itself as a **development** dependency, and +- add the libraries the generated app uses as your project's **runtime** dependencies. + +### 1. Add the generator as a dev dependency + +```bash +# uv (recommended) +uv add --dev dbml-to-sqlmodel + +# Poetry +poetry add --group dev dbml-to-sqlmodel + +# pip (e.g. into requirements-dev.txt) +pip install dbml-to-sqlmodel +``` + +### 2. Add the runtime libraries the generated app needs + +The generated project imports FastAPI, SQLModel, FastCRUD, SQLAdmin and an async +database driver. Add them as regular (runtime) dependencies of your project: + +```bash +uv add "fastapi[all]" sqlmodel fastcrud sqladmin aiosqlite greenlet +``` + +> `greenlet` is required by SQLAlchemy's async engine and is **not** auto-installed +> on every platform/Python combination, so add it explicitly — otherwise the app +> fails to start with `the greenlet library is required`. + +### 3. Recommended workflow + +1. Keep `schema.dbml` under version control and treat it as the single source of truth. +2. Regenerate the code whenever the schema changes: + ```bash + uv run dbml-to-sqlmodel generate schema.dbml -o output + ``` +3. Preview the changes before applying them to an existing project: + ```bash + uv run dbml-to-sqlmodel preview schema.dbml -o output + ``` +4. Protect any file you edit by hand with a `# USER_MODIFIED` marker (see + [Protecting Your Modifications](#protecting-your-modifications)); such files are + kept on regeneration unless you pass `--force`. +5. If you adjusted the models by hand, you can sync the schema back from the code: + ```bash + uv run dbml-to-sqlmodel code-to-dbml output -o schema.dbml + ``` +6. Commit both `schema.dbml` and the generated code so the repository stays reproducible. ## CLI Usage -For complete CLI documentation, see [CLI_GUIDE.md](CLI_GUIDE.md). +Full CLI reference: [CLI Guide](https://github.com/azhig/dbml-to-sqlmodel/blob/main/docs/CLI_GUIDE.md). ### Quick Commands +Everywhere `dbml-to-sqlmodel` can be replaced with the shorter `dbml2sm`. + ```bash # Interactive CLI mode dbml-to-sqlmodel -# Generate application +# Generate the application dbml-to-sqlmodel generate schema.dbml -o output # Preview changes dbml-to-sqlmodel preview schema.dbml -# Show schema info +# Schema information dbml-to-sqlmodel info schema.dbml -# Reverse: code to DBML +# Reverse conversion: code -> DBML dbml-to-sqlmodel code-to-dbml output -o schema.dbml + +# Show the installed version +dbml-to-sqlmodel --version ``` ## Configuration ### Environment Variables -Create a `.env` file in your project directory: +Create a `.env` file in the project root: ```env DATABASE_URL=sqlite+aiosqlite:///./database.db @@ -179,13 +277,13 @@ DATABASE_URL=sqlite+aiosqlite:///./database.db ### SQLAdmin Authentication -To enable admin panel authentication: +To enable authentication for the admin panel: ```bash dbml-to-sqlmodel generate schema.dbml --admin-auth ``` -Add to your `.env` file: +Add the following to `.env`: ```env ADMIN_USER=admin @@ -193,47 +291,21 @@ ADMIN_PASS=your-secure-password ADMIN_SECRET=your-secret-key-must-be-at-least-32-characters-long ``` -For more configuration options, see [CLI_GUIDE.md](CLI_GUIDE.md). +![Admin login](https://raw.githubusercontent.com/azhig/dbml-to-sqlmodel/main/docs/img/admin_login.png) + +Other configuration options are described in the +[CLI Guide](https://github.com/azhig/dbml-to-sqlmodel/blob/main/docs/CLI_GUIDE.md). ## Protecting Your Modifications -If you modify generated files and want to prevent them from being overwritten on regeneration, add this comment at the top of the file: +If you edit generated files and want to protect them from being overwritten on +regeneration, add the following comment at the top of the file: ```python # USER_MODIFIED ``` -Files with this marker will be protected during regeneration unless you use the `--force` flag. - -## Development - -### Running Tests - -```bash -# Run all tests -make test - -# Run tests with coverage -make coverage - -# Generate HTML coverage report -make coverage-html -# Open htmlcov/index.html in browser -``` - -### Code Quality - -```bash -# Format code -make format - -# Lint code -make lint -``` - -## Usage Examples - -See [CLI_GUIDE.md](CLI_GUIDE.md) for complete examples and workflows. +Files with this marker are not overwritten unless you pass the `--force` flag. ## Table Relationships @@ -252,6 +324,19 @@ Table posts { } ``` +## Documentation + +- [CLI Guide](https://github.com/azhig/dbml-to-sqlmodel/blob/main/docs/CLI_GUIDE.md) — full command reference and usage examples +- [Changelog](https://github.com/azhig/dbml-to-sqlmodel/blob/main/CHANGELOG.md) +- [Contributing](https://github.com/azhig/dbml-to-sqlmodel/blob/main/CONTRIBUTING.md) + +## Contributing + +Contributions are welcome! Please read the +[contributing guidelines](https://github.com/azhig/dbml-to-sqlmodel/blob/main/CONTRIBUTING.md) +before opening a pull request. + ## License -MIT +This project is licensed under the terms of the +[MIT License](https://github.com/azhig/dbml-to-sqlmodel/blob/main/LICENSE). diff --git a/docs/CLI_GUIDE.md b/docs/CLI_GUIDE.md index d7faf7c..2807529 100644 --- a/docs/CLI_GUIDE.md +++ b/docs/CLI_GUIDE.md @@ -1,6 +1,6 @@ -# CLI Usage Guide +# CLI Guide -Complete guide for using the `dbml-to-sqlmodel` command-line interface. +Complete guide to using the `dbml-to-sqlmodel` CLI. ## Table of Contents @@ -14,724 +14,194 @@ Complete guide for using the `dbml-to-sqlmodel` command-line interface. - [Configuration](#configuration) - [File Protection](#file-protection) - [Examples](#examples) +- [Troubleshooting](#troubleshooting) ## Installation -### For Code Generation Only - -Install just the generator tool (lightweight, no runtime dependencies): +### Code generation only ```bash pip install dbml-to-sqlmodel ``` -### For Running Generated Applications - -If you want to run the generated application, install with runtime dependencies: +### To run the generated applications ```bash -pip install dbml-to-sqlmodel[runtime] +pip install "dbml-to-sqlmodel[runtime]" ``` -Or install runtime dependencies separately in your project: +## Interactive Mode + +![Interactive mode — initial setup](img/cli_interactive_initial.png) ```bash -pip install fastapi[all] sqlmodel fastcrud sqladmin aiosqlite +dbml-to-sqlmodel +# or from the repository +make cli ``` -## Interactive Mode +On the very first run, an **Initial Setup** wizard lets you configure a few options. -Launch the interactive CLI menu: +**In order:** -```bash -dbml-to-sqlmodel +```text +1. Path to DBML schema: # Choose the DBML file +2. Output directory: # Output folder +3. Show all files in preview?: # Show the full list or only changes +4. Show new file contents?: # Preview the content of new files +5. Overwrite protected files (USER_MODIFIED)?: # Force-overwrite protected files +6. Require login for SQLAdmin?: # Whether to require an admin password ``` -Interactive mode provides a guided experience: +> The SQLAdmin credentials are managed through environment variables — see +> [.env.example](../.env.example). -1. **Select DBML file** - Browse and select your schema file -2. **Choose output directory** - Specify where to generate files -3. **Configure options** - Set generation parameters -4. **Preview mode** - Review changes before applying -5. **Save settings** - Store configuration for future use +After that, the interactive menu becomes available: -The interactive mode saves your preferences to `.dbml_to_code` in the project directory. +```text +1) [>] Settings # - Configure generator options +2) [>] DBML → Code # - Generate FastAPI from schema +3) [>] Code → DBML # - Extract schema from models +4) [>] Report # - View generation statistics +5) [x] Exit +``` ## Commands ### generate -Generate a complete FastAPI application from DBML schema. - -**Syntax:** +Generate a FastAPI application from DBML. ```bash -dbml-to-sqlmodel generate [OPTIONS] +dbml-to-sqlmodel generate [-o ] [--admin-auth] [--force] ``` -**Arguments:** - -- `schema_file` - Path to DBML schema file (required) - -**Options:** - -- `-o, --output ` - Output directory (default: `output`) -- `--admin-auth` - Enable authentication in SQLAdmin panel -- `--force` - Overwrite files marked as USER_MODIFIED -- `--help` - Show help message - -**Examples:** +**Example:** ```bash -# Basic generation -dbml-to-sqlmodel generate examples/schema.dbml - -# Custom output directory -dbml-to-sqlmodel generate examples/schema.dbml -o my_app - -# With admin authentication -dbml-to-sqlmodel generate examples/schema.dbml --admin-auth - -# Force overwrite protected files -dbml-to-sqlmodel generate examples/schema.dbml --force +dbml-to-sqlmodel generate schema.dbml -o my_app --admin-auth ``` -**Generated Structure:** - -``` -output/ -├── main.py # FastAPI application -├── admin.py # SQLAdmin configuration -├── requirements.txt # Project dependencies -└── models/ - ├── __init__.py # Root init (imports all models) - ├── enums.py # (Optional) DBML enums - ├── users/ - │ ├── __init__.py # Local init (exports models and router) - │ ├── model.py # SQLModel classes (Base, Main, Create, Update) - │ └── crud.py # FastCRUD router - ├── posts/ - │ ├── __init__.py - │ ├── model.py - │ └── crud.py - └── ... (one directory per table) -``` +![generate command](img/cli_generate.png) ### preview -Preview changes without applying them. Shows which files will be created, modified, or skipped. - -**Syntax:** +Preview changes **without writing** any files. ```bash -dbml-to-sqlmodel preview [OPTIONS] +dbml-to-sqlmodel preview schema.dbml -o my_app ``` -**Arguments:** - -- `schema_file` - Path to DBML schema file (required) - -**Options:** - -- `-o, --output ` - Output directory (default: `output`) -- `--help` - Show help message +![preview command](img/cli_preview.png) **Output:** -The preview shows a table with file statuses: - -- `CREATE` - New file will be created -- `UPDATE` - Existing file will be modified -- `SKIP` - File is protected (USER_MODIFIED marker) -- `UNCHANGED` - File content is identical - -**Examples:** - -```bash -# Preview changes -dbml-to-sqlmodel preview examples/schema.dbml - -# Preview with custom output directory -dbml-to-sqlmodel preview examples/schema.dbml -o my_app - -# Preview, then generate -dbml-to-sqlmodel preview examples/schema.dbml && dbml-to-sqlmodel generate schema.dbml +```text +📁 models/users/model.py UPDATE +📁 models/posts/crud.py CREATE +📁 users/__init__.py SKIP (USER_MODIFIED) ← Protected! ``` ### info -Display schema information: tables, columns, types, and relationships. - -**Syntax:** - -```bash -dbml-to-sqlmodel info -``` - -**Arguments:** - -- `schema_file` - Path to DBML schema file (required) - -**Output:** - -Shows: -- Table names and column counts -- Column details (name, type, constraints) -- Relationships between tables -- Primary keys and foreign keys - -**Example:** +Show information about the schema and the generated files. ```bash -dbml-to-sqlmodel info examples/schema.dbml +dbml-to-sqlmodel info schema.dbml ``` -**Sample Output:** - -``` -Schema: schema.dbml - -Table: users (4 columns) -├── id: int [PK] -├── username: str [unique, not null] -├── email: str [unique, not null] -└── created_at: datetime - -Table: posts (5 columns) -├── id: int [PK] -├── title: str [not null] -├── content: str -├── user_id: int [FK -> users.id] -└── created_at: datetime - -Relationships: - posts.user_id -> users.id (Many-to-One) -``` +![info command](img/cli_info.png) ### code-to-dbml -Reverse conversion: generate DBML schema from existing generated code. - -**Syntax:** +Reverse conversion: generated code → DBML. ```bash -dbml-to-sqlmodel code-to-dbml [OPTIONS] -``` - -**Arguments:** - -- `source_dir` - Directory with generated code (required) - -**Options:** - -- `-o, --output ` - Output DBML file (default: `schema.dbml`) -- `--help` - Show help message - -**Examples:** - -```bash -# Generate DBML from code -dbml-to-sqlmodel code-to-dbml output - -# Custom output file -dbml-to-sqlmodel code-to-dbml output -o new_schema.dbml - -# Update existing schema -dbml-to-sqlmodel code-to-dbml my_app -o examples/schema.dbml -``` - -**Use Cases:** - -1. Document existing generated code -2. Sync DBML after manual code changes -3. Create backup of current schema state -4. Compare schemas across versions - -## Generated Project Structure - -### Overview - -The generator creates a modular structure where each table gets its own directory with model and CRUD files: - -``` -output/ -├── main.py # FastAPI application entry point -├── admin.py # SQLAdmin panel configuration -├── requirements.txt # Project dependencies -├── .env # Environment variables (created manually) -└── models/ - ├── __init__.py # Exports all models and routers - ├── enums.py # (Optional) DBML enum definitions - │ - ├── users/ # Table: users - │ ├── __init__.py # Exports Users, UsersCreate, UsersUpdate, create_users_router - │ ├── model.py # SQLModel classes - │ └── crud.py # FastCRUD router factory - │ - ├── posts/ # Table: posts - │ ├── __init__.py - │ ├── model.py - │ └── crud.py - │ - └── categories/ # Table: categories - ├── __init__.py - ├── model.py - └── crud.py -``` - -### File Details - -#### `models/{table}/model.py` - -Contains 4 SQLModel classes for each table: - -```python -# Example: models/users/model.py - -from sqlmodel import SQLModel, Field -from typing import Optional - -# 1. Base class - shared fields (no PK) -class UsersBase(SQLModel): - username: str = Field(unique=True) - email: str = Field(unique=True) - full_name: Optional[str] = None - -# 2. Main table class - with PK and relationships -class Users(UsersBase, table=True): - """Users table""" - id: Optional[int] = Field(default=None, primary_key=True) - -# 3. Create schema - for POST requests (no PK) -class UsersCreate(UsersBase): - """Create schema for users""" - pass - -# 4. Update schema - for PATCH requests (all Optional) -class UsersUpdate(SQLModel): - """Update schema for users""" - username: Optional[str] = None - email: Optional[str] = None - full_name: Optional[str] = None -``` - -#### `models/{table}/crud.py` - -Contains router factory function: - -```python -# Example: models/users/crud.py - -from fastcrud import crud_router -from .model import Users, UsersCreate, UsersUpdate - -def create_users_router(get_session): - """Create CRUD router with session dependency""" - return crud_router( - model=Users, - create_schema=UsersCreate, - update_schema=UsersUpdate, - path='/users', - tags=['users'], - session=get_session - ) -``` - -#### `models/{table}/__init__.py` - -Exports classes and router: - -```python -# Example: models/users/__init__.py - -from .model import Users, UsersCreate, UsersUpdate -from .crud import create_users_router - -__all__ = [ - "Users", - "UsersCreate", - "UsersUpdate", - "create_users_router", -] -``` - -#### `models/__init__.py` - -Root init that exports everything: - -```python -# models/__init__.py - -from .users import Users, UsersCreate, UsersUpdate, create_users_router -from .posts import Posts, PostsCreate, PostsUpdate, create_posts_router -from .categories import Categories, CategoriesCreate, CategoriesUpdate, create_categories_router - -__all__ = [ - # Users - "Users", "UsersCreate", "UsersUpdate", "create_users_router", - # Posts - "Posts", "PostsCreate", "PostsUpdate", "create_posts_router", - # Categories - "Categories", "CategoriesCreate", "CategoriesUpdate", "create_categories_router", -] -``` - -#### `models/enums.py` - -Generated only if DBML contains enum definitions: - -```python -# models/enums.py - -from enum import Enum - -class StatusEnum(str, Enum): - """DBML enum: status""" - __dbml_name__ = "status" - ACTIVE = "active" - INACTIVE = "inactive" - PENDING = "pending" -``` - -#### `main.py` - -FastAPI application entry point: - -```python -# main.py (simplified) - -from fastapi import FastAPI -from sqlalchemy.ext.asyncio import create_async_engine -from sqlmodel import SQLModel - -# Import router factories -from models.users import create_users_router -from models.posts import create_posts_router - -app = FastAPI(title="Generated API") - -# Database setup -engine = create_async_engine("sqlite+aiosqlite:///./database.db") - -# Create session dependency -async def get_session(): - async with AsyncSession(engine) as session: - yield session - -# Initialize routers -users_router = create_users_router(get_session) -posts_router = create_posts_router(get_session) - -# Register routers -app.include_router(users_router) -app.include_router(posts_router) - -# Initialize admin panel -from admin import init_admin -init_admin(app, engine) -``` - -#### `admin.py` - -SQLAdmin panel configuration: - -```python -# admin.py (simplified) - -from sqladmin import Admin, ModelView -from models.users import Users -from models.posts import Posts - -def init_admin(app, engine): - admin = Admin(app, engine) - - class UsersAdmin(ModelView, model=Users): - name = "User" - name_plural = "Users" - icon = "fa-solid fa-user" - - class PostsAdmin(ModelView, model=Posts): - name = "Post" - name_plural = "Posts" - icon = "fa-solid fa-file-text" - - admin.add_view(UsersAdmin) - admin.add_view(PostsAdmin) - - return admin -``` - -#### `requirements.txt` - -Project dependencies: - -```txt -fastapi>=0.104.0 -sqlmodel>=0.0.14 -sqladmin>=0.22.0 -fastcrud>=0.20.1 -uvicorn[standard]>=0.23.0 -aiosqlite>=0.19.0 -python-dotenv>=1.0.0 -``` - -### Import Patterns - -**Import a model:** -```python -from models.users import Users, UsersCreate, UsersUpdate -``` - -**Import multiple models:** -```python -from models.users import Users -from models.posts import Posts -from models.categories import Categories +dbml-to-sqlmodel code-to-dbml output -o backup.dbml ``` -**Import from root (if needed):** -```python -from models import Users, Posts, Categories -``` - -### Benefits of This Structure - -1. **Modularity** - Each table is self-contained in its directory -2. **Scalability** - Easy to find files even with 50+ tables -3. **Extensibility** - Add custom files to table directories: - ``` - users/ - ├── model.py - ├── crud.py - ├── schemas.py # Custom Pydantic schemas - ├── services.py # Business logic - └── validators.py # Custom validators - ``` -4. **Isolation** - Changes to one table don't affect others -5. **Microservices Ready** - Easy to extract a table module into separate service +![code-to-dbml command](img/cli_code2dbml.png) ## Configuration -### Settings File - -CLI saves configuration to `.dbml_to_code` in your project directory. - -**Format:** +**.dbml_to_sqlmodel** (JSON, saved automatically): ```json -{ - "schema_file": "schema.dbml", - "output_dir": "output", - "preview_enabled": true, - "overwrite": false, - "admin_auth": false -} +{ "schema_file": "schema.dbml", "output_dir": "output" } ``` -**Parameters:** - -- `schema_file` - Default DBML file path -- `output_dir` - Default output directory -- `preview_enabled` - Show preview before generation -- `overwrite` - Overwrite USER_MODIFIED files -- `admin_auth` - Enable admin authentication - -### Environment Variables - -For generated applications, create `.env` file: - -**Basic Configuration:** +**.env** (for the generated applications): ```env -DATABASE_URL=sqlite+aiosqlite:///./database.db -``` - -**With Admin Authentication:** - -```env -DATABASE_URL=sqlite+aiosqlite:///./database.db +DATABASE_URL=sqlite+aiosqlite:///./db.db ADMIN_USER=admin -ADMIN_PASS=your-secure-password -ADMIN_SECRET=your-secret-key-must-be-at-least-32-characters-long +ADMIN_PASS=pass +ADMIN_SECRET=at_least_32_characters_secret ``` -**Security Notes:** - -- Never commit `.env` to version control -- Use strong passwords in production -- Keep `ADMIN_SECRET` at least 32 characters -- Rotate secrets regularly - ## File Protection -### Protecting Your Modifications - -Add a marker to prevent file overwriting: +Add this marker to the top of a file: ```python # USER_MODIFIED - -# Your custom code here -from sqlmodel import Field, SQLModel - -class User(SQLModel, table=True): - id: int | None = Field(default=None, primary_key=True) - username: str = Field(unique=True) - # Your custom fields... -``` - -**Behavior:** - -- Files with `# USER_MODIFIED` are skipped during regeneration -- Use `--force` flag to override protection -- Preview mode shows protected files as `SKIP` - -### Force Overwrite - -Override file protection: - -```bash -dbml-to-sqlmodel generate schema.dbml --force ``` -**Warning:** This will overwrite ALL files, including USER_MODIFIED ones. +**Result:** the file is shown as `SKIP` in preview; use `--force` to overwrite it. ## Examples -### Complete Workflow +### Full workflow ```bash -# 1. Create schema -cat > schema.dbml < schema.dbml <<'EOF' +Table users { id integer [pk], username varchar [unique] } EOF -# 2. Inspect schema -dbml-to-sqlmodel info schema.dbml - -# 3. Preview generation -dbml-to-sqlmodel preview schema.dbml +dbml-to-sqlmodel info schema.dbml # Inspect +dbml-to-sqlmodel preview schema.dbml # Preview +dbml-to-sqlmodel generate schema.dbml # Generate -# 4. Generate application -dbml-to-sqlmodel generate schema.dbml - -# 5. Setup environment cd output -echo "DATABASE_URL=sqlite+aiosqlite:///./database.db" > .env - -# 6. Install runtime dependencies (if not installed) -pip install dbml-to-sqlmodel[runtime] - -# 7. Run application -python main.py +echo "DATABASE_URL=sqlite+aiosqlite:///./db.db" > .env +python main.py # Run ``` -### Update Existing Application +### Updating an existing project ```bash -# 1. Modify schema.dbml (add new table/column) - -# 2. Preview changes +# After adding a column to schema.dbml dbml-to-sqlmodel preview schema.dbml -o my_app - -# 3. Review what will be updated -# Protected files (USER_MODIFIED) won't be touched - -# 4. Apply changes +# ✅ Shows only the changes dbml-to-sqlmodel generate schema.dbml -o my_app - -# 5. Restart application -cd my_app && python main.py ``` -### Multi-Environment Setup - -```bash -# Development -dbml-to-sqlmodel generate schema.dbml -o dev_app -cd dev_app -echo "DATABASE_URL=sqlite+aiosqlite:///./dev.db" > .env - -# Production -dbml-to-sqlmodel generate schema.dbml -o prod_app --admin-auth -cd prod_app -cat > .env <|k2 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 Uy1w%}c!E-wr>mdKI;Vst0GM@a#{d8T literal 0 HcmV?d00001 diff --git a/docs/img/admin_login.png b/docs/img/admin_login.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c9dabd6bd4ccc6a3dd77de7d8557226e1914d1 GIT binary patch literal 12581 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 literal 0 HcmV?d00001 diff --git a/docs/img/cli.png b/docs/img/cli.png new file mode 100644 index 0000000000000000000000000000000000000000..0074d1f6f5bc8ad5f2d2693b7de83f1eda691be1 GIT binary patch literal 28768 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 literal 0 HcmV?d00001 diff --git a/docs/img/cli_code2dbml.png b/docs/img/cli_code2dbml.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ee452dee4b2d9f3499bacd144511e1c666f97f GIT binary patch literal 26519 zcmd42bzf9n`!|fDG@^h~0xBZX-K8QRE!~VrcL_s}BGRGK-3`(mBOo0E44u+B)X+>k zoAbP`J3jaC1w8!0>{+w-T5BKcsP7S>?^WeViD-#%aBxT!-o4ep!MU9XT+a~T0sjMw zU$Fuocii46Xb}K^z69nWz;~KYvU;C1oh(0rOc9V9OY6Q%=G2jl z*2!(QzrVkDwz4&pXDVCtQR;IM)sV0%HEl6`%5zB0g-R2B84(h-`FZc64a99CAi6mN z^BRufH}2@@P`r<$oFX)|a=he!9l5o&#nvBr{|&*@w}`c86v|Hnf$QaWzb4Xd{d4JJ z_Jc70e)i;HGW7P68hC|#wx+2%JLK9A+i?z0E5wVq{o7~ek+1ZEeo@1CebjGYFdxFe zzahp~0?hNCubuKuh{119Uc3cvx|dQk>I?c0-Vl_G|2zF84R>nxRtKwAD_+j_NNZCy zQ{eqaeRnho)br*U{cpKnGyGlt#w(87nFSg_pTyZTDuqXRMq~sPE6^#15%H!G;>4WzlWI zurpMM;nFgt!{sCG&9=e-I`zXL@`xVHtBG|T0U4I;dp0Ed4AlJa5p)#;Iz59jZb-27 z;XavEG+Qoj*AM*6hKBi5tp%q}zZHrGTY;@J`&aebhO(CwZ$f6@sQw^+S{!jLgAF!3 z5FhE0(`@nK?7paOsM|9)*w-k(wFqnb)?~p#ViQWe0?V?UpqcW{+BhPCQklt-|B~|e zj7Yn8%UubYfg#_oU;4(&pR|&5tv+EFGNnoE;;^_#sWb6}#O%wX=p+7@jj>sM**z;OUTpBpGe!Jm2CA$qlfw$hbI4L#C zugwRkcF3*ZH$wlEa?} z$FC>dQ?mAc{ZopO4C!01M!TKfpVNo!O#YzsI}_t_i(jFoCi(0Lua8|bkAI<2e~bC* z<9x7+9GvU%!usJu7n{jP?r1q`H!k(V{_!y}uWNiQjC+5n;RTwH1cGRHm=~B2UJ5rn zc)Dc<(;Lc=tZ^!<7QgrO4{7oHaJv&zBiP#&j|<)4w>Itp`iH;mwR#{uW(zF$6y6iK zAlal^sN9hrp3;|MK_`?a1_x1?6t@8jGk;fGTUIAPI@9ex+B4R^l%UMI}YL(Rzak>Nc3Gc<62p1^PF)>hL( z(A;vXM~{_DKoOk?gZ7E({4=uYwD0%dY=O&|uq$^3B=NFs;djq5IU|8fiWuyIL)*vD zxN~W0Qj0cM7dQOh-{S)@y;8^tWEE%6=1PFlS00H16!GWmG&`O@X|fA#;*Nen8Y{MF z+hobCejVhq!25L?c`q_&>waec&>TIb4xGyZ?S;Ws?!fO) z($>3UYuN$i&=7w#{vb@1{?>1^Njht>(~eqqs|c%Xo)_J(!tYsMk?=}0BdGK?URox3 zax+f6Eqh(>|80gZA!taw7GclZqV$f*$jE4fr90E`THi*i%#jsrT<-#Rad9iSsHdl1 zg~jD({BRX5dz62wrDBjkXEISH9n^U}T5~}3O2M+YtHrn^_m$yQFla{e;0=K(_e6&H z2w5{#s%ZP$JUI(Q0`&fymutMc?nV+VJb%(}wJ152e*6IxND0S(LFJMkG_O1AK$57dm|7u{&xJ7ZW%KTZPyF1d$)SL zyPRIYd%_smH((n8BLiV#Uf!{l0!D@S2HRW}i7M8vW(yIM0Z|G zyZq_SfqhSo^mA4lc-Q`&!22si=sp7H^EYtt9Y;VrJQe>Mz`YbWAb+T+K|aEjqI7f_ zQ}~89i^wi=xq~$#p?tI^|1d{)1YttPoO$mcyx2vFq|#~x>o@KF_vASdR6l^1oxU93 zDrZ|bU?l|Pzy@mH4Cj5`mAySpOa&$jV{eEmIt-3>CUsC$P`~xf5EHDffce!B`?|gU z;A8K**KoAQJYJ;CLTQ=GCFL6eCB@lKwc_^@Dk>_7xVJ{zYE`*Nr~u0n*bpl65yJul zYyt4){ypaZnwj_a{Iqim5?Z`8ZpO1;u#OmbnI}{9KKPFr`p10y_Yr(UTAsj5e{``p zUD&rGbjZD=*D|$aI9S4lueyHMI$~|O?gva_=6It|`KdQ&`qgJ{R(s3o3RmMvDZv$? zkx0w8-94avG`WzBp?A=XkNMbJvS0eo!pZX|6oWKUX)}4@%yJo;|JW#C*H7o2>;2Bb zc7K!)oDE8LGuz_|SF|3jW7=tCER)=2j9O{RY}#A(QwG~0-38*S5(W>pb`*X-O(?Hn z(bIPBuW1RL&7ku29vdjT#mwy7Ao9&i6#pIX25zQYmju**etYyMhs;xASF$Ql!UrPh zi4rDFN%8kn6X9;%%8PxHe=?fhdN&FF^@FxQo+=o9ZJdC$jppgA=KR9NFxXP_)!Hve zWxb@A9Q%dD!|six!c&l4bb|i=?n-yhEt%~Cn|B`-7|J&>-A=Mp57*Uh-g6~LJb)(m zc&(?SdOo2x$whxRlz-z;|8IrsRN96gad3EyXqFnkpKwRDsHVgmzxbwZP%Z=pbtB8> zWECPl*Zxf)!1YTawlU79O2|boL%CvS$46Y=Q-Epm`;cT(iilBa#~bLae2a6>Ik(Os z!4su9PbnWVO$o7BeXCe`;(Jsq{6cP$*J0#(8<11K!O0t2^@hNulfE5Q`L}dt6SDdE z32^9T+V1_2*Hg9@gY+B4huZA6c9gtBlrwIV^BHs>oZ|jY>Yoiy(G35;_6+oADq-Ba7tt!(`Z#5XF>-fAZCfEP#2Qa?hnp9?)q7v^*-E9!J%F9_hK zcKvlJPKN`b68`zcn~gjE4#`KtuY(;Zv)&aw7dBbuyrgl{%);E0_Ci@^JP9sFdmV$e z<8e)|mAo-$9Z28F!uCoj-)`Dy3IzN*L&dC?ag#KmbmJe+>0qT8T%R>7<%;l_bybog zqJ9(cG&odW`lsim>c-Z0nufn0>lSg->Gi(*R489~%G|5ZhxB}iesMAucwFoxE$3PD zH&jWSa`QE4SovV~gvA2WTe(uhw|nx*?!9TMZU;Lj$V*X?YqR{1r(pRM%7K@I`B4J9 z0_cWoh4BlNdH5smn$r@e*3JJE+IfOWbNelDxl>#OvP{Eo5&Le&@zHSk8`0{FG4;TH zhu*!1ES2L<72DVRT}dRTjs`_7w{q!fPMq!D@88iRWL|I1&YBGlzbc6)Ruq2p9h9B( zW47nhf=yy~y>i3k&Z}zJ&^QLAauG51=z(Kg1e3l$mG5tiK~Wh$x_n0 z@YX>wGB5WPWIz>I4L9P{zDoqABcOf#ApguP(8sOXjt&aPsHlg2QM(;9s%{)@X$#5s zcF)aeO3y~2<$VHKTAF#95jmQ$0YI z@3p95ndVX4B(b*;nr|y@a*X)e-4(}3WG|lWYn0IaF8Yyx)}_YO1U$duhPw(E92;bm zVV2kqsNXeTSG8m#vzSz$v|_ZKs^rr4D7mm!>14dLX+JlsWxlRR`Ndh6o<@hd9}&#_ zK*(^jUCA(M6&_x`6M^%$g6kXNQB;tLUECR^tx?i4&9E;cW0fLN=u6cXCK*b&arF!9 z)f+?e(w;q#Cy+^>&jLB|k+PdxJC^>GpWK$cylviiO*Z3GMK(&f+a#=9lzVbZ2Qd5B zSCvs3hk*a~@3m4`a=VBKo!>XPZZnzh0?g z)3;*R<2^l_U17WJ0tXv19=5#F+)B$ColShZmy?>KE+23}QuJ15=-=D70?AH$2GnGM zTOg%F&pyH@z}{0fxhqlfU#)5PNty41jRrRIw%79GR5gr^jj1n{=^bfSqJ;*2Pm*bh zfD3ym+on80-jT$ASl+4FDnD(OQet_bArE&Je$hg%`0>*%QUjj~Y%@ty)JYHftD*iz zDh1Jk0t+&*V;cEeXMV62Efp80%wi4#S3t{O%4qe#%H&hp+SaUgFWpq)SFSXFO5eO- z2;DKISI=wApR|{M;YpRL*X+>>$N>lpycFvHhY`kdG&lioq<1{e?MZwk#G$&IFdre@;QiPi%iw<#u{2#us%<}oD#=uyXbyaIkn>aS8ofi-QnLhx&=kQ z_n!5+?$M_XQ`(a1E*SJSmcw)Xd#zl3fZDa|g>k$9i0Ih#CGj17kB6(%A{ z{shf;5@jrslfT;!+}=gBd7p5t8$E!O_A#Bl;l0+iT&Bxy=WaNmh27HJt-7xMG>lR2 z&3lgffDZXi!uZwooFcMdXp{n?A+H=8U%K}3=P)G&r0VnMD@UBSh!NLMc2Y%DVSORO z6_;pb)NbR0d83*3EiR_pGf=*-7cpYwsyowAw(3E#_#K!5<{x2t>>buJ;LI&2J(YR# zRcX6uMHgIy^W^l+Q;0)vmEC0lKQ~*yysh$&naz`iXSeBW2ixd)CZZ!6viS;z)er*( zu)tU8SNXiy$3rapp0|3y4-@0@h22(Hw%>$r7xaKsu>G}Z>1|wVxdBe!gO1!}Xr$}y z6aQF`>?(ptokqU26`u4Kndk;|x1Q9$`cN45ls|xAckLVaGZ9t77*oN1`Xq$?;!fkr z{}$5mmp5*n4$!UeE4-tx^`nV9s2Pk%Y0gq*;kc`X}18o~tfa9Ln7Yb7O(& z+Ia?M=8X)W$g^A(uOI~Po3IZE1o@9| z)v+vmnQQVgtunCYy{3`5fS<>>D|0|fQ;Od&x{cw=G|_yRWY5+6?{ZQ4SWskBKOy|W|b$sIMqw8@a}p&fZ_FJdnF~E*$#hp$i113HMBVL76X~A9;<9f1yzN2?UGM{FY6#OAWC(2h2 z_qI9(-k&v)d7l_&vg$|ZP{u0Uwu?XueZ6%)#q1kM^(Bjq7VK%zGZ}J^+My=se6Hr{^(^V_P7B_yY~L0mIbqKHLX?q7 zSCv8tD2eRbsy@o2N5&gdTw>mhT{U1U_{k$~JV~QyrM|Axbja!KkgAM?dWo@!MtfjU z;qP}?pRd$Mv2@IMA<{(_2)aJYU0)=Gibjk-1V3Kj_7jY!6y#tkp30a8kRNCFZ-y-R zygMLA%C)Uf$$Vz^zR!?~)8N)}AIYQ#Y7;p<)31o!NcTWVui?Y}ONrI1Q2hv>Muuu( z0cLI)*wMmFpgSL#QxPV17A^Z|6-2b$$DNWr*--J}P&8%rhTcHzjQr6fo#igK+4{+4 zL92k3UWwLJA&`4wkB-2~^smSM*Nb(UZ8!G$ey#eK$+}IgIWa6dOvQbFtT~Ff;B2#h z?H>%(5$ae>Xz6cB=mQ=8wQv8AxtbpV#`15L33Qf9`atxL(Fp$e-=UZPYsj_V?OO-! zM1jv#-8eB(?)!q(!5I;M>~6!#`q|ca)?LJ$029wh!pcWnm!rPND1M@{vz_Z&{Cit+ z$QN1G0=9hBt`~@Miswcg*R#FH66lLuS18u2=O9&*5u&*U6`Rw&*^gjGCrct?Rv^c! z-UH?R_hqGv!o{UGulWZxZ}7oy#s@5AT=lvo8<8SlsV{3a%Jbv4SEq=<#AWoQDVi(u zlk20&1}Q@ilw4cg=U??T7K4ZWzO}BzckjyTd<>2&0Vn!7&c94tTo9j?Xgon8U%VX2 zAg&CpWy4M^{6oLOOF(bU&kcON<=1&>Ga&VG^(Rhm-$d2*6v1r0ouzvtQ|VGoLZ|wu zk+Smo8>43slvnEa?_!=l32i2o{?7NYMh)*=74aGy4Wb^0%dO_;t7cZ6hZk5G@m)_< z_)89>V?MY^(FKm@`Am5Ls|sfM-FOe`NYN7l%Q+pD#``I~d3zGRek~1%Nv=D17vz3I z3}9j5l7Y1LA>*&Fot{WTPikXA6}AN&sRIfM#DN#9v3($C@+&?()JCWWfmm07zaZ6v z+LY&1J7~llgDCz()@T`)MA9967peS{*n{3Izfd*h_1_2T^J7`ew8FI$>%$}K@sp3m zT^3Kg4%(SWXh+g$$QHi6c6tsn{2eqDm-58JdMR};)t5ZRK4YF$`~RBx{3_jqVQph$ z6@gIrkXgRn)b0nB9V?O{E*Xexss)QI*VhR6VYaGk*MA9n>q!$45zSzIa<`j@=?zAC zY8a#)7K7_DLsSul&QpcAd`}l1r3}nvIcR48NxjyQaL zZhEzosH@)OcxmwKM{Na0u}Sf!IV&K3b(xZrv^CHCENPhUwI#jAQs@ zYT!xCMfl9QpAYyW>|x(s5x(79{K%fX8g{Q&9$AUZ336 z7~{KTJ^MUXh?B0`?>qx%>okZqr6 z3TZeHS2tuC7dY@KuFuHJ8ZLZ{h}=RZ4jjr(P66MVDWfNq`ASG|Xz^;vS-|!o?~#J# z5y=+a@JW#w0l^_>Oi+0_m1*Rz+i@(ZJl63uYAW#G^@cV_Iu(1cQt~iIg!MR2U|={a zs$qR+h{cC29^>TD*lHkT7nsrfi0M zPrVxM$3~9bNb{ee?EmG^yIg#8Aq*`lMQ>9zfgR)%3=LM7_ffJ`>m`TIW4Whg1$?lEHPDb_ji+4Z*8&k zZ%!QM*fzht%XKRJjbR~ev38>>^U$J|{%b07@{eHJufZhwZk{5ntgQEXT~2`wjT1Uo*iCFHbduS+|u1xK===c?#h{cTq;%V7zd!?ixp=@MOTxv0nO zgFOspe=}cubXkzOYri;K^f{>Xy>!LdZ`$SRj$jyK;x<6@dZtiM_#pJ^} zgGpIp4;YBZw^=et(^h_g%69jFDX{!9z8aS-rKXsV6G2rhvef_c_=6-R3HTf z1!e-YqJCF3Gh*ngGqbCc?Hbz&@<_SPqtzbI>on$6NuSA@sOV^JCFzULQhrz8V^arL zy23A4qopY~SKF@lSKC<6$tkrGkl55s^tsgE_kW(snkM))M9jAs1?-Gx`CXso78F!F zkG^^K>|V;G*V&8}4Zk-@TbtBddhu>xDp3fg#pbe9zq-L~koq<*u7axS%A6C_>@;~I zFfg#f?AinF&93Wjb!FJcP0PF-H-3;U8%`}@eLpFQ#uq(Q-*U1N9ziWSHtzp$ed$3w zhyELN(+9S-VgBf=A2BgQ9pA!5FXmpu#U4(Sk6mfbVxB&IdJj9AGqK^aF{tlI$Md=M z`i$4S_r3>WR(7e)4`&x)R^%V>_3KQV109(p>b|;qkFrhM(G{JikI&Jb8%%#NW$dbY z63RZ->H}W%-*r$;mr!W-K)>RI7bc&M1 z&n@I4X}j`DIjRpQj|)(Dn5hG_iJY{ z@$u|M5GC6VOi%jJQaa)~tSg*~_wekCxuwO?0v1#7(zt>5ELyR#q2VJBb&0^x@pywB z&)1zvQ}~98goFca%t4Z}ukUR}PD9JO;gAQNqTVMjV_vAN{Knw6obQu&9jUeWJkwOf{{4x_STOBFam- zZIi*(%~kKJ{W^cWGlDI+pPh#!KHfb%JxmgJ%o z=dfkMO9FHe_CMm&M)t@xHAnlF%!P*MbdWYx#Y}DF<;Cj(Y?phusy6#x)*ZOZLRl#rgX{h zF{s31KxclooDt5Lq#B(rsb6hL`T=`kTI8#^BmL}I!0__2#L=Ia_3rXqKMn_wV%_Xoic-@$xtc!AzcteMcJO?fWr$v?N_1# z1&e;jX>k(2Rn@2M;JqbiMmQCPUaPkti)y<0bcJac((}Uk4g_<_g2S#`)?qD>%(ayv za^%=%*!UBDeU5}lV-LGKgb7F;-eCs{WMyPz`g(hx0CWK8dr$W9M|gg5vreA@dQs9; zVnDa_$+Hz67S+@>B)60>G3eo?w1;g6!GCK3C|!EBpmf5H&qPELuTFPyCwHf4B2TXFA z>|>QyFoxjRp~Wlcr)}~d>gtcfME-RBd9Io!CTp%0YlCm3*?+LSJzNcwv=U>hberP( zjltyP`kuWXlZxL_>pSxkyCMNf2Be46#CyUX4h(g$o7$kXI>s)X)UMyshiA(Kj}clP zEVg>>A3r#_hY-Kd$S7}VnLlw6mkVI0xWZv{bn7x=p{*y9e&G0FhMNH2&%#2p(hJ{j zD>d{#q~-S*%Mgr@O%MOR1{Cjq&yG&ecCcA#aXn!Hdf)4$aGT4_iJKcPwmF=n3pn^B zk+i}Zl#o_$cl{R6A2UO;l1<J^c>jU>ZEXVZ>BmJFs+9f(b7VO=L6+!<_lNuQ}S7fwO8fJDBUX1!*$(f z+}!0I7H20J{ZUSJ6_fvRW0`QQWFFW7ZD{6zDvhukFq%0N^+(-diwleAG#sncl=q)M zWCD}Wyy=OepKi3PU%4pbte=FG75&SGGi~LuN+5e4zjAJmz3uhc3P{ab_4(}lCL`2V|+9e=9XM4+t`Xx(Dz+Dn* zp3M1Ae*N-W&m36o`WiEVZ>RkDpP?0r!Fmt~-rP*hzFls}`)1B3Fa z!?e^6o-1BK1*Op^6u5XNo1^lK>u(0{0)lK&C&AAjlbA>ihla)KLKJsEHmLQYu;V!y z8*Gs^sxr?vZU*BpBgNseapv$J;TZ?&7 zUa+vhORTt~=-DNidF>`OEhcT|@;NmNq<$~9`XmXs@XFZc4%&9;^Rdr~Hh;nPw>v@+R`n@?Q=qPQ=VXkhyy-0J$=Q8Te*Y;jD zI>_x0h*@`ulM$IzG54@=D(>U)QvK%zxfM=J{y6(BZX|!-XlXr{Gb5BaXvmrGL;=c@ zq{T0DW}%|4@MTNwm2tg4ZnQEa5Hg%mkXi9Pn8CN#zHtmC9$tIZnw@>j?trad^u3XB z@lydWuh<@cI5UvmCaMk%@lV;(o+!5NJ^LLQKp+9ThbV)#LofxFHzN z9G7;du)VRYn$wkL_&9*4@jL%ecfRnthn*;#Xw-VXSYly!qJb&VZDY{1_xsbm`O2@P zyHnNvelz&*offY6C7aI85y`dl-geUIJ{W9&Y4u)?MMFbF#Zdv{jNj098QKeq8NVX~E3em135C zZr{G`wUOMpdUr{wY2;Jo5s(&ja9UtZJ~)%)Gpd3%L1|o z2G}@l&3@2>Jaj?!k-W_%TQSxNdKq8X`%VgTA>Gi}nDh&oBIH2(0dhUv>}NQ@sK+23 zS0R95cgP6a5oTi}a<yzea#@0Kw?$vrA{T=EM|JgNog-W=_}&@U_YDJ~=rB#Y{bz zdv~hL4Ev=YUD2w39<57F;;mJ@ld;$s`0bmv=j$(LW$vCsNtq&iYUQ-xSL4g^fQNr^ zA+qSdnYJ^m7`HXriq8l^Ww>V4TSdFuO;uSU4BD_5pWtqG#i1nR?V%JwtBrMGxp{lX zv*Rf(;kk=#YYm8Cc=cKIdvC-h;0`D67uL(xI~wa(`rbWXfIzoRckdd^{nD*<$LOZ- zWUPeI=2;BH&-0oS;E>V^eCUplzwk;ii@tq}ngkDXaJgB$?$XOF`6PbIDN1BSWr8e^5fdwk&s^X>9;wf zJZ>Axi=L~b$H&K_&L5Ytt*AEy zn?+&h)fO*gqA;v3_#k0(0s`InJU=b3`eW)D_h6kbXV0*4vxxVJ^}}_!8%SRJ+CBAI z0*xu>v#Euf@7Y4%?f#pKo0uiEgtnn67oLnYxR?QkD(z}yum62Ab{DZ&J9n~0X1KWI z(+UtcdBr8DKfb&vl1_MduaYm@!)5%;RK)?Yq{v~=FrpRQ>U~@Sf8Ka)`N>@VGpB zJ%zn!KBFIo?qR;=G5WrO=c_#IK@=i74bWP;Sbs$A)Zot66=SHb6!x-*vDCOaD45Z^ zQ2BBE4&&eTMz<2wU0fjZrB>F8humwd=I}(+?hMQ2O`M?&-EtDtL}1qddM@|5fses7 z(Sv`XjM#(+O!8XbxA50-S# z)JL2K$NeScT3#mK?hDr&2)FMowu)zz>)raSTEKpOs{l}kAO9k7`v&`0nz3luhJfWz za#xyJ_kC*WcdoAFfGbB|GF2+X2|Z}LZgA>vy>oYB9VNZ#g>5Ah0X)wd6i7{4CHNlw zbekFejgkbMBj6-o0(-F$#Qu+fS^KQ1$bylJNtin!Q_S6ZsZDZwdz-_k=6gs;r$++t zw)-vU$+=Vsub%+mtn}@2eG$Q^_UaXmnj~7FKrKT@3lla5S)b7T5B&T-!~T2G6HVIE z+G_7_M)2DK7q7y4^o=Dfz0(Pb#nYO{w70k4Q^R^I#dBm8RuI%0$U^h zQHV^NG^-51c;1|zzq`9Kohk9ZDOUA`auGSZ?UmSS&t}k|(O&r}TRJ_D))7r`Jj-%YZSa zgP8mNVk3XFG)9EG_2gL$%aWNU>VHIpb_P;M`=QEye{Vg4UOrl7nI8fk`cq}W7%w_B zUS+}Vh?t7rj#e&^hou8bTTUJGKSNnfnmxh)7oA#67Ja%5*g3r1WETNMz8ZVrwK0?d z`@tliC}E?q?fPwl0P0K=hEo)53Ed@)K&h=Z*YcD_$r^rcG`UktC$tyc4g z1~VY1NjCp8@Wsi^%^eYym>1Ab=3AGlhE4W^%K#$_x977AuQ?HLt*X8i5*;m5UVd>z z1Gvz4G7H~XX=2zu{zHBMifW)irbXz-h^bZ|UTTt)z0uB-G|p4*!25C9yDt(aBk08A z*V&~ut<9eU!3({kOQMvH;Gm$NKYqLh4gj$KH>f9HMYp^*S=8-?Qi6Xk27TS=$@>K` zif$`w3II;Dd=wpAAP$o{e;gVb`f8h>EpEEOg@R7V{_lLF+n?_4quJeZO{l-0L9MNY zrs$r_g>&Hcsn)+>Fuu_=yK24pe*{^`?ObidGlt7Kgy>x>XRYKjw0iaZ&FAFDr|5 zdkG57ZiqW`@&W8_NL-1|EgtW|wA}psWKPKHsj!Ia1&{iVAM=1Fv7f60YQ3$4*I+Yq z2|usu$Nh)Dr=_X1dbj7pCU<~Bo5xv`Y0v6&Ojg4L6u6+qi5C5yu4I{(x8yaR-9J=j`BK7vf3KUBX-}pv+_?B zQ-W^ZN=d|YgGe=uirXX?h)G&5Y1jG6%F5yZFHiaKQF5Cb_#7uT0h)bM?=aUrp8&E1 z3fpgBfjX0X)v48-$@==i!GO3EG_pOD<;A1~y&d8pw24t1KMdF$oD)noYVb*u~~Q-CZtN-18raiFaZbx3^ae-0@Q; z*pQA{IthpuahxF8Uwb%l@k<(4|1Sor6BL#>9fvEYV0fHbFnI8MHGV_eGBiSMiO(#w z(mtv@>9x_!JvJo;tVe!qtod-d_`r;tmCa%{4HAQPs;0Bu>jP=qgC=*D46a2DUVVl> z&ZB&z)kwEP>E-Q>cX{b0U_U-`V!X;@A@BIB9ta5BIDZ@5dcQy4!W|sD0Wb?*W$$(; z%Pu!k%2mXnTn{Cyf@K^G`+GfEc*@ERnOZ9(C zBnF)D{`|w48POXd1H1y8iDG7WzH!T%1Z0VfWr&CKjmV?v=HP*LY!a%Zf!JO!lmaEF{_^WavT>N`)^E8g8 zo>~aM2J*%^^Y1B?KcDVG%==?m^I`w`%HT!OARt-}#Oyk(=Notd*S~WwcB&x5uRkYx z_`}|GrGV{tBG>YA3y+UbtIxT|J4{SW%=QFwr!&%O$h&y{R5kTw>pq7-%~SVXJkjR} z_Srgzfv=hcV>JpC8*L~)ystkpgfMF(0&LkesQAay{sDo3cNo%mzYe9aVM{vzb-C!f ztCH@CaseJBerX3`-i888iPt&RZ_`98mKrxlUFR!jL9iGBr^Qs=jkY(gibU6E2yV@~ zFZE;`6ec!U|J@$5Y&f|9qlm|>k`mQn&&*eVP*#pgFGVB+g?PwwlF!oqi! zP@cIO-_xCmLT$EuNr_0^jbUbX_HZWosPEsMN1tA1@LSyj>=`*gdjPaYKV*-GxBAR5 z2@OaYbZ37HpT2-cTMN(zOHq3b#Fw4yEQABW!XMwie}J#LbHp70c<13=esu$XJ0XX~ zLCtE*89($Y0Jni~%Kh+1T;`}i!mzm|gDa^vDawZrA5c)3>0*AJuj_);3smoyL(gcX zq!xkW_-Xa4v1K*v8!^@Kyc-Pp8<#9or$hzavxq^EuP0O!ootrqgQvG+Li~np`Y}w-VkKP{+s+F z`9G3h#qP+7l*y)AJN;@8&Ls%8b>@6P%1F-F_puWcsVcZW$h$G<^<`rynICyfr(|nz zWms>&F$FrGyz+h|{0neC8PY`IpL&|_XP>c+%z8+Nl_81fz0vkko?`S4^?bysY z6&ES=`v@b4V%u&q;1s>At~W`w|8(`-c<(or+$`G%lObm9@X}vY`DZuv*Q66ts-al9 zT2^ZbpcES@(*}BeTnd5WZ2maARI8bDGebj@7~e-C5jm#}&w%^==2Nln&r(9Gd#FsM zx3R(nU=)6G_f|^lf<=J-7ofQGlh#zprwhuj@fk!8K4jk7-A+!IwgFRaWMe`WjhZXJ zeqA*RqQ!x7LYA)gm=c~c&T>|U({1I#60#h=Dc~Ma=q`DQxRQ4N47z7#HN0AT^8%Ui zSv+xlZYVa|j%7*r#ZAq)h~Bxs)IDlN{#xje%{y%Q!ZnrBW&Jn=$I|M+W!Ar_4(Nl5 zN#!*^wv94dTvVq&A~ucY(S@jP^DC4tQ!LLa)wqRq}=bz~!!AZ7JC zhWjmNOE@a#v*}v=7J=(2Py)(jBgct!BXfP1U~XVl=cLx%RNp-{5!t(l2ewv?Ls#ipP4h&ufs ztO+TxL8EFMM-}YOD&cDruHvrFptKIn&c-Z@T|thOVyAPVb*Tnu1nhOnN+FdAXH}LMxa!g zhD8bCs=VxSob%bmN0l41)*a1mkC0Z(qdjiSgl*iOX>me@*S=mQm&b) zwz|s8xHL}a#WkVV+mH@iv{|~%GgLxBAz{GJV#Q4uB$0l)J>26D<`FOx#9@+1;Rot! ztE<4|Ik5aBvCmh(OmK3kkt+18!0UpoP}az(J#J%ipvM5dRQ3Q%NNr$wInd^}l}%`Q zmFGasx~#G^_n21tw{!FcP{<#-Sp_kTcM^VdMf%~@m7?r=b5AuryhV(c`y6NUG-2yt zF$5@|=M%Hzq&oF#`8yZBpM2la+$pExEiA>qeufeg1{5tH+YI8)q%;=7%o61_Q+C>a zhV_%hUk5YI0_w6>Ru)LB_+i~`sBpq@9c7GH`uFxE*SoRl*e7z{H5E30rSwzVU)8@r zaXSlalIo-0QxDlX)C^ga3?FrBcmiqAwwKF;2&L@{^(2g&Y_YmhUDo~2B7Q<$a%SIl z7q|7rUURUGviE1yVw?^x3ZJ*s9&MIU;aB;HCmUxZudj2ZFW;*2Z?s7|7y2pF^gN2H;K;^5S7o{U z&{>;zcT5$YS=-9fJ*)w;C_+tM1y{q%IoWI(^ANivl~?wFR(L9bP?~&{YWdTO?jF8$ zuP@ZUMjM|ssz9uV%qm)XLb45rN@>et4Zgd5cdBK%MV(xktd%oqe`)An@5bjT2I!o` zor%!0Z=0g-mwN%Nm(^fjE%HT;>-o(I1~n?dXiJC9K&dq36-WH0tV@f?(9`wm?gy(* z?g!YiQ%09K&8Yvoi@+Mi8)RP%1DLf#E05}iuKsH}kfo;{FNuxFDv7(r?0ruS2D#|2eiDdiuivP%el2!Af~Yx^KP0ec2^VbXs+ z{lB{j+OR#}WsP;!T8!sKjD2hUVO!Od!O+ROtzL9uKl6?acNvFOp>>6YezA4sf-nng zhuaKPOAJy%q*_`0m-6d;rziZtqsitCbxfs+`t;6Y=~Pk7c;HdjB0|XqTUC$MJ8lyS zXuW&%$&J`FQ$A5&?CcEU(<9Hk%vq~ur$QfP*g)B%J_nY4%!`?vL}Q0~|J#^QgC395 z*x9|;QtZNeZKR=bbnUiEDmo9e`h1m49#Nv`FKI(lFOLSWa3P!(O@@%#SJ1Y#ou{XE zSPx1ji-7}IV|sl)R-}B?!vsme_iF2euM|X&*a;zJMrM^OsOf%#OU_d=s{#o6r`WG_ z)gdJdeOpFm#IC)Wgn@ItuAx{-z)VrNY2KMrmuZO`%6a2LQ?r}Or@nk=AJlgxF-*-T zs`*`kSmjCi^{H@kR{tVuMqJ8(_@MM?NqrB&SnH03@VoZ29xI!@-j*Fpz=|5sY13E3 zRK_uXcHMB^39OCDxt)H}|6YRs`d9iN8n?lYJ+24~_5Fjvp@klV<2qxyZnH?8_gLiJ zwS+C}PeW#;9Rh9lR5~B6$8j%Y<^>ymb)8bXmCHr)D;q3MPrdZ3 zUzG$-RKoDh_fyAeX?CNlrpxCUwd?P_M_Y45tNa}Ngv?~(xXUjW6yF|dr5|qhm&>{Y z7Wnl6O5|~?FK!UIpegD-`QqeNrMs_-+)ZS)Di5L!Xh><8bhqBQPR;n8+h^z4oqLdc zk(j7QTr4hYK+55Ic1)U0gQ5VE-^)EasXxQZAI%dRThVq%f+I~Shs?CX zcXV@7CU$>9jJk@kAKaYk@Wko%uKSp3#hzS@CeXa*?PwLXB1y6sdndTY|3`9g*$brU zJiB-N#U{O8M1qu=jco~1Bk$SKOiUqR2-jPe*H!T|IYX#`&Vz7DxkQG{(wBh_jDj?= z5cwAIIm)&s{ar>~krH(DE_|zukhymP_p{AnT0cnbfAw0_r{<(i#zXh!Qd&>*wRULy z<3)=7mXM5p_A`APh~O#|0ny=fY9_N?At!>qNuWmYT!1Cs)3))Q;`aAYS)G#k)N|*d zOR7%IN}kIw_=K+}txrtk19I5Z2`NCQWRv4&+#$)yX<`5xQIt=2ti3mKa_SDkW_4|_ z6}dtOSSO*{W3FQrpw(h^F~rK(`@U1Jsm_@yyz1d)4}t5^nhJF8&}G!QRAgxH5bUqO z%ir4J)m6{k{gXUuN7M6#4>(C+W0T?U-GfC5t#S%m-ME$JhY*66m|@4K`7qr@0i+`a z!~qLm`5#(4bU-dMWnJZ3vg?L$|4qc{S7MWlFBG%z`%sWBbOAVjY9}E`UnUMdZJ!Cx> zC|-*$p_7$s?SwtivbuKUkm!-apTDn}wi-MJGzO1ftdwF*56-kHdZGdCddc?TInV>P zHw$HP6jTK z6F{rZ1FK$3^?gQFH6^{N0nXUo|mM6|H;yQ98VowZ=$7~|J5m$FpsbA9gS zsF%!WnQ^&Vo9jrx)7?ixN|e6nIKi*#hOzyc>}o&4ci@V~JtxX_cx;Re$eoUj>|&om z_(MEJ&(VS@6|~e@SYWYl;pR@4YuPc=?8?Sdv<$(f{uYF;C!oO8cR1<#zqJ4_d0nfe zpH>6*l4?T!D?4D&);X8Hti^3j8$O23@A+w`M_1C&6-x}wJ{$cmzgfdwB2Jeb^b_+m z5IH!sIAC<90~WFk1fs;gdt+y|O4mTg(W3+>_K4+oE)L$aSqRKzfm=bxCMl6RTx;{< zX<$XPJ+xM-Eaihv!L0K_FyQw;ed`|czk>CBci;*JXU$etclvq?VYkYSRxhaR*4Z(Yd%^;*pDt$^3l8 z=9GZxUTV|DotZ`DI2A0B&j5(R-Z*|RpnbTpv$bhwb0M^ngW5ML_2d}DY~|pk;4H0VHfm2&KYSiA23bF;hzw2t+> zg+cj!V*iFfE_P}k9iE3W+>yqidsHCq0M&wvI0Vp87iX(5l3B@uR`X0=TEcy3go5p) ze+NU)*N@TcR5K@zM5J?Gt}wegXj4hmHnIA{+cFF9Fa;rdYbog048u?7pvXNG$G2#P zw%^H9cgX*5Tfc2Uwu{5;gB#v%Rb2UzaXDWuC-& zy@4G(c%$2#$M0eycGEGn6&}%0Y-~N#865B!*HBt{c|Pk|*ZP6rVuH!) z?IS{s7+THVU$C*z&=v#is>v_;W<$R|*cfsySy@g>J0tHL+nM(~C;RX#;}J_uEep%} z#u&EkiSO-+KlD?_2;#G)ET;c?#}wZ`zw zS*DRyB~TbJ3tnmYFiUpG-{n5=cMNp3G#JJ1Mk#NT0nP4wrIrjnS~=W!Ob*l9Cva4u z2C)&92ez(8w-$fAt`hP$GPT31vkA+n$)$dY5W$5~=JBtt<_qlnmFrMQn?M2i$+M{F z$+7xLDRM_0;B3n;$;l(*gT2o3`#-J{A`1BRJNYWqukt`SdFf%>|{^8NE5W`@0TVE3U zjD`>|fVSwcMAv|{(FRXb9%wyb9$<{F^^$)`QDg?RnAPkp53f!2W2)%S%%4Qg`5Z&3 z$Y0*-9=^v)*C#mdXT(cM_mC`hatz-ZlETQo`J!S!Qozw?BtzV4YO__L^8f4WyQ89L zzHJ9lkRS*MhzcVjNt7G}gi%0{B%&ZFVE~n!qaZMnGb1QTk~oqjDLD-p6qTGaL(Z8Q zm~acf@BZF<>)rR(;vc%FdsUx4Rkcsm-n+wpPWhBd`S6_iHXoqVYZhTO()|7ntK=*i z+2Y9mqk|oJruPfjmZkDWg;) z_-D7`)vt`iI=GDFxpG7)>eIOgX!w`xD@M^5$a&kjuN<;p$T>H4lwM{e3FKCUe&#KQtExk*}(bTA}lKF z2^2L(M*Wl`j2^GH-%*Q9w6|Q6mw5{tv~WH^D)hcMXKVaX`L2)D^L;@%qfIzm(brr= zBu2)$?_7)0%I)$e2CqCfMX$Xh2#5jE3D?Y*XhOc|t-`4{-d7QXxnUG7>*vy}qlnR% z5QldZXp>h%4CfM`CrqSgx`4Y2aNz1+(hdeHEQSfwA zp;=hBS1sDUmoofbbLUx|;*Q1Nsx9+iS!9qhDnvj4{*ZIKG;L3xoD$u|DKaYZZ{5*F z|8+k-IZP30;?B0wy0j<=7g{=1SSVOqjUkQI>{jOF5$UI)FPXX@Q=De#IOF};_sj?C zSNaPdsbW7ShQ@y!Ma4b7s-|UsQ}6>1C=qhQ0;f+|R+T-FlcR2mRC~q8*+DmZs^iZl zy_ut{`3Cz&or}fRv2UGsT}qWp{IT3(n)LXa#c?vo+g`LyiQPRip?RGPd}+}|H?7~k zN*^>@Hns8ZO*vQ}kTQ7Wlg|)e7e&@Ti~K(D+Fnhowq}S-I%%Mz#+5$d;jWaYc6Ra? z8jau8pTsK&MQOcgUHJ1YgFc#pic3yA>b|^*9%`eVwYvSIxZl;6ryugWjBYT#(4Z@8 zo_o}K*txs<{IF~MJon*xAL01t2cj>tXVb)9p*<<-2-!WqN~62pT<()}Jvfe2X)`Kx!Fw~x)^JbsQ+Y%wJtl~e3&ARy~;e5_f7tWDE zQsjPZ^>-p?9=)W3e9A~eCnuddcaGzAL1kU$eYeq{O+4N^M{anV*Lr(yV$A{(b~8I> z60<~9ox|Zm@By`CZe^3qK5Vdf$u!hxlX=^?zIV&gkp*VH?REjb?btexcGqJ;d^^d5k`KFoN6@Z}hG-sBujlrdJ3>jf*C>-QNchGz0^c!QCqla3 z@`bmV7}1e)Z=2hlRQ+TUyg~!gvwaCak55W7l)8qi?QY&L)r9)7U95!!#i>QgRI1G> zV>`;p)Ex@(eu+-F9?O=LY4LK=>+12|$ z#Feq|$`>j1^4@nmSSu_|5p2Ux%4+NOL{@*~*;|^BFREDE-OB74da92KDG0mzUR{%K zjFgvr?)9wIe1bsUjgQ&}6Q`4j>)V?HdQSY5Zp&_DV?^?;DH!BaVICWg(HMOv#|^>M zp&{|+VI?=5#+ct=@&>NW;@G-c@&$4-II*&yu`~9_v_(VUWqOfvOW>6&(R_-&EXQJQ z)x!0~szp}b!_hFiz$K_5Qb_YCL2~c_e~T!Y#xX`d=wtBWXBjCXwSI5YYmY5QMlQX* z;@iQ%7evlynsylWE!pL`rs`y^V_5faV4tCVp+LAX&k0sZ0 zZD!sf+U`bU;+es%lpB5-F=VT7u0K)b0fgy;=%It_Nqw?v+cx9uDfn-UMFqvm-81z$ zd6q4iVihx3ont0F3Qsw@C*K8kGL=WyykPXWgd|eDazuxy@ z8n5XKU1ha-gzKuilU<*uB&E)E+O||>pgwL3Qp1s6_dpP^h1>jMjs^P2M9H29uJKXb@TJQNovXSOzf1T{yxF z4TCaViV3SSDqw`vda&6t%q2I^(i>fD0Nc{uos?I>@1tv6ugJY^OL*E33zhH9#(2!L z@n)`)sOOEN%vbqrWJphxg@j_5CI<4;OT0D9+wEv)B$^o$eEW%9s~?k}3)`C(sT_H( z<=wF#J2P=z8O!|;0p)%Ws7MGnKZ8B}jB~GsXlZYKPhEYn9{EIw^*L{KXZOX63|IXe zLaA2rlHd6hQmbl@B3`n?)y>?LDzd4w5i zU|9Llob{T6T?1b?-d{i2Ea_np5sdNJVB_rCo2jS!D@Q8nkxTrmMhesuZ(RE{(?zc` zirbA$cX4!lt8pVJH8u4r&f{qq71cY{Oz>x>7o=zLFg<270f|Jmjk*0;G(c^mr+fpz zZ$m;th6j2C6p+wB*_El(CrYm?y(2T-nd2uP3cq^HZ%9!S`qbCTivRKB$F7oy5=?VQ zhuiA($^y@WNwZdq{v~ZkHy1@!Rn?I4)$l5p#ZMj%vKnckY=!prfGnRfto!)WDgnN< zt!Qc1=CPZlsbA@sQOj|tRX@fu1f(In z`%z=PUg)*DRFm*q$JUZhi=Lq>a7;}>0d?fWTIVxCL9_CIbl^SPw^G2KrD<%DkiS1H zFgKUK9zUxdwfl*vdDg>gp9^~V^5v8}P6|XBNq01!WQT~MMfl!c_>)RwVZnRx@?}hK zX2fu@2=&Ow$WE8Cl9EY(rx0f0H}%>`4SlDg!q(3~D!!X9ea#x)aVi#z@lZe>!Qn`t zKakr?>gYHd>1}o0{^?UQlGK!CDN+Nca{qotVL6?$a_|Z1YGb@AYHRBO{%8vRtd$ai zClF>}m~#)VKdp>+IhQOy5eeujIQJ~9a3QIz#?$++_wl;1~#@Zo1wyzX!?X5)aTERt53OsE#JJ=%g6j#INZ$7 zH~~YCbXJXZRG|+zEo{DL>1kZ_5V#X2qD>kVEj(>)ZN+7nWPS0kU(;R=4h&R!Nl44w z_O-I{)~|gn;$2$@lr&lwSXoV{>ItE+i(PrqAVD-ro$$g@^mgLwP}{h;1WqX_)~c$i zoPvq)VZ!mu%8~fXZxNCEFZ$3`(Fl!su`(nI#dRt{u(dlwvAg%wOLH{_77iXH_ZSuy zYImHs0`;B~+B=l$5v-F50DOs4dQwuJ7AYdl@EHlngReJZQeq=37Jm6nxx(fary2&A zEO7@74R`NgHlpuGuyXR34@6od2va+D>-^Cy%D<6Ig zGcX10?a@?vOVh}Dtk0F$JAupSZ4(T^AFlZbfzcN%<28fcmKJ^z^nL9~v{o$jQkL?_9 zXj@xb^J4k>MMOnU#l$dBZ!Rtnf8UT_=@qCY$|eldy9QPhD!#9x&hLhYCxeH5iwX$% zPmn~Pu`v3-;^bs6;FzUv<06{eG4@*K2Fy~54f~BmQ8(+5U7Kb%Z$K~=kLibq84vdc3m(WNQ+s%L)M7s;C`cO~OAT!!HND){ zF>7mI4h|UVqv5)N9Pm~=kq5u(%JfS!-PeEB(=(B6S_pm5fG4i$lRB%Xg`Jf)ZtL2^ z(H%Qm%UJZ#a06)>w-CP&GHEj=C23Cat0hxC0qTWb7o~aPt&@p{>*_ME9$AK4k%Fw@ zlJhYA^32T4Pj1V6ZtEa}gAP{mnYKO_38i_hSf$`*C|eN6w}f!c>`?phj`o}$lrYeP z(Xz{2;OtZocK@Yci+)M9SiSrc+qjQqs38H;E*F?dz7?6HNN;`haog?Gu$wGOw&og=X`Q7dHNW2`S3K1|{)t-6(>=f8q6YIJ`xRZ>{Q7@ti2Ueqw(|2(;VJ(b| zVW)9YJJ6%A->{ClZij-ue*c;;dNX$L^r#B3TQl;l^x|;Bc9hQ@J}zEPU(a72jdFMQ z+1f@B1KZzQBs1LBP~t8#O%x$(WJI{8fkev7J~%BGV-Sd#!*12l`{pOp|*vv%VfhM*e&(#)iZq>*Ic)OUogyUyR?({^}#K3}ycT|F!AR z1OxMJe0;pwoH`eHEtQoQIhsdVwTx=9MnUUgA#^Xm?BwX-()?aaK1|92{llh?j$Ou| zP0YLl-bH>})}q&74ZisEd4#HyeAiOJpmKq#3eXx2VmI;j!dwTG#M3DNuW9oA=Gc#vt@endHGGS5C zSQ4Y%$hTMe_1@B1n#sX=c{f^G)&P81NA&m{EoT>h`_`lf_X!G5mMZbsG`>ksbx%=I zF5mfZeIg_~-B*oRy{;;jZa3l&#v0C*_k2o9O4DmyFjQ^rmG)?802p6Z31&Y5xZe&# zB12*_I2URqD4{{YpTB)$1md(xC)B<%^aN9|j%^g7gEKQv+YEiZS7Fam>B>)|{=u+b zhZ$N3R0|@uOOLL|IbV47>eXcIT9;3bJ8%7@M(^RPM1ldCtwv zt>gFa`OHbX7Tc*0A6`6Am2OivR*0e>7?4PmwV+c_h|j3XWfM)haIf*+*VWb`ET_(~ zi=3~klXs}x`4IN8ipG&2NiKwzhx8DKu5={*De@AZV?D_81b!Jp7cvwZj?O!HH3pOU zi0+=6QmUc7!p^Qc+5PCdJi|igun@DEc_CtVAVV>DHbO{VubP9MK}a5;+uMon-d0xL zE{M+;iiWB;0>M?}xyw@FMsW`{_1Y<|5ek*;>7uzh%SUyo19g{vZ!8YF60;*GjjwI; z@$&NG6siGtuWihstJz};!RuV$8dBJjotsMq^*xV$07Duv%hpVSm({jWaf4VIubfLpqV1^z`%#rkb{~e=2}t{{%r~0w|4sG7zNa?XJ5w@NV`l+P0-_TQpFN7mmrV+ z!Tq>K;TOT^CL2i{=sV572bec&cj@AV=>5{CT%!(BZ3z9Q@8#v>*g-C057DgrMd>Y! zvL0>Ipo=l=%~0xBSu=}@icU+}UCPHsUY4Q*m4WGfOFrY&+YB~?fiuQ-=T?t$Bj}Tl z$QlGN?JtHlCblk#oC2V}g;zVhI2>y5qCL7Xqd8>TKY=wi_DQkzfEuoR|PfM3mf4uv*nkq(;_3d2pCk!593*L&M(zdCk^3!ckv*2AszEKw z3i}Cv9UjH!UYDq;BevS1h`Tr5|De2@g&iIl$@u*F6wu!A-MV!joR57!G9}P*0h$Fu z7(}zY(;m{war^DUg1Iq57yxaaE*L*Q8&FO87ZlurO#gq-Jf%V#$jKefJ9kc%P|`sl zJYL72N=tQ2-wclmzcj3bBOW9`?}ijr7}mKNNQ?21!(}jCc(3_W}uGIUSeWq zmI6JLOyyQw5q)4J^a;uK`_1d8I~5dUs%fn6J4}T4f6sOF@Mw<^^5Xx{T<)89R?fFL z43 z1I)XF2tSNw|arf5PT` zXPHas$Ey}Eb6)FTWZQm|C|)5hz>lswb?a7>JXFsJM;~toCJsv@8HFWm?rQod=*y97 z`6C_mAESumN2c@bPyzha0ChsCh_7&KdM*KbbphL@#5#-Ozl2s*SvvTt6t=dO53EQW zL;4aD^rlBF(sZkQ{)4w`@~hClJBA;j@SU9kkBp3h}U zy#pOX>b3~7OwX(FFts1_Ezhd3bI42wP9hxDlOBV2`_}KSA{nu5627*_ypRGwx3}mr z2L2^4fW`qbJfx+I58{A{haps!j=&QwVaJhen@>ltpu?`!C7ZOhwq_I-(t#0vMs)ZL z5Z4Ex(XdsCvU0nrVBGE$uwfEfTW1IM62a4-uDf+HN%HU>A-U!qwFr4{YyNIf) zq8h6}1QDjznqAV;_=@-};w0teISeX%qoo~wH^wxF6q`0vJh;v{UfJVS)cNgIr!Y`| zrpS0QhS0M&Whhdq?NZUxw|5F5n}YUSgR;wn=b`(m7pQ4yoDLS#o%lo;a?zHO#f}9~ zgS_6&u^M_XAHu!2r8P7(<{}ijlEgxE>ovA>3kw@vVX!N=9U+uvFM0}+&-nWX=no<7 zy!)ly*KXgrBj*TgBxu=0PpgxYOZ-8h+z|u`uv}8&{`*o3;&KRwoR?WxY^S>6m|k2< zi;`jGyJ(b3^z2rKB6bQU)d}PCvJt1HrG4kRclJ+;JZk&Eexl|iFTjdf?Ew2U2M8j6 z@G!a4MKN>Ql+=`GCs|b$4b^CejbU9fIx%R$mJoG9VmDS(+;n?etm~{d@c~tW>^n94ttIrPqwwT3Uzt{jBnczgFIyr0=G0ug9hc~!mcclSaN%Nwxeppzr>K@%*p7g1;LIoVAZ-8^tSQa|^uw zX*j!yBX@uc$4Zxpq{QdkF-*!ouELzvMcQUG0i&1x;Brz;E-es(vhH;`3;wh5uvE{3 zELn=Zg-JnhIH@Eeb4cDTsd)aL;k4}$z5kz$j(;2f`QMW> c10-_RM$YC<_3M2npT|+X|4^w=!NmW+016)>H2?qr literal 0 HcmV?d00001 diff --git a/docs/img/cli_diff.png b/docs/img/cli_diff.png new file mode 100644 index 0000000000000000000000000000000000000000..41bfc37b8c0140f808272ef7883954217561a2cc GIT binary patch literal 143496 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

I&9~;h<)9N+Bp98I<{65e= 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

)`={@` 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 Q2lxZk)W246)h6_R0OMXB#{d8T literal 0 HcmV?d00001 diff --git a/docs/img/cli_generate.png b/docs/img/cli_generate.png new file mode 100644 index 0000000000000000000000000000000000000000..96b16383b92e7f830db5887a5569aa4354d54c9f GIT binary patch literal 120780 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

)rt6`z8HdVYMNccyJJM-8 zvfnY}HkaonJELM8XQFno_&G^UiPU13aapkKqx*VpmRDASwiN9W0pZ{S{N6DC+(aEv zPl6XO2&|H0N60if-jPV_{XFV9Lt>bZ^!1=lGE%KT+RxR2SIL|5J7GE&to6)7&3m9M zOSc(qR9TiVDze;3pami%NrCLo*^4G}y}_=Z_D~>35F!0yUwhya-oQ`)z$ac?{==EXHsTK~M-ON_%0v>~IDI)QK zI>rieV3v^l6>i(Pb-o+ECU<7?TV{N?Mg8PrEx*9d(1 zr`7?HybF!GGTtKP#G zRSbAjW{zSzsb5lKVYg=4J*6vSCz-*H>xMY}tc^Vh$%b{gg4IddqRVJhm5MdBS#C^( z=VvA>CxJpkkvrG8Y|J6hF^$*I?zaM=_H;O**PG!Q@xfk*CU+}jfu7Xk3iwY?)tSR9_SUs{`HMKgmp>de8&y9r0oTWX-U;gNl zwP)5%XFSF+ytbAM`ZA18H)$*jX(u9B$;?qMJE7=6 z8Fn4!hGqMg6}W#m3R7|Go}Tlgg1Q*vCpxcG-OW83&~KcRY-&&eI(uLKBVA#VL z-6?NdSLVY;_Fz{*YA0R}u$;P+;P1JS;y^}<-n?E>OAVX9_6jO~PSf%uPG|`?p~gJz zGV^MsmuFEz?QOES+>hqv9@*z$D_fyS*RnxJ3@zF9Io$bVvcwv(Kl(tBERRx`u=YO@=X^Rtz% zr_u_aEO&9iR#{&>cc1V8>RmM(7dv{}fi!l#%Lf#zrso8C%5bh6=dOIp_u{-!PEao; zxXTsj()WMzi_l<_ylruH0`b>@_uLxNi8OY^(u2C1gcj-oe<3jjg5WMhZGf@S4U*B8W$XDAoevJ4`vVdk)2l1I6^B|1@@1Vsd?EuEq z{X=pmm9uT@6C|ihO1z}Eh6vw_o&)=~_z<#WL2zV&>qYcga?##Qetm7WZLj*)80ebb zZWlQIeB5J3@+I!I7xMKfh?VDVu~7F_QcYd`HA+^R!oF(bc)Wx?SM!<1%CA_i8qkQ$ z48x#2OJE2(z)**8iBy&R)cQUYn%e?`xRdlk~NXkQ!f zjCd9+lI^^pa1ML%*BTwl?}vC)mn1=L2fdhI8(YQxGmc4&2r_KG6-R7U?ghEz}3C%HeH$`tplg@FqS-)+#B= zNCb)`NRzE?;OpW@x>7DMI#+-eC6TALroQEfQg0%;I2L1BJ1p{|)Q8zabE&SAi|y5R z?kibo;zUl&>&JobVb^hP4{KwLMQ1%#goyV8%Y6c7X~A&^Ot}|KjYsR-0^r5&Z%(qw z>?LhVz7%PlE6Sb7GziI$qffq*AJ8G6yHsLWj=;99;kZBSkiS7N5p*J=|wAa4;hAIc<&$W)(^7{`Q^plGxF#PGx=1#8+dPxPrI zpDNUxjRtT@3-jVlHtS|wz$rq1DR|1`qvf&7s=>Ju@(MD&J&Y!C1oh88wtms=x?BtT z%gNkfq(p2_`;|tB@qj?o?M75HmcbjR{fXp4d)H1KvHE)<%@cAZ%zi*1I`~d|qsyd1 z@>CNMN)UngSt03%g4#FkHj--3k;BuGBxAPe*`UY)x)XP1_nlbZkm*FW@{`!@?=ia| zoQ%u55*3N2j1*$Six=N}{G*BZ^xRkCZ!EyCrsFkUA9mjVqv|_IoJ5|nl$L9wSN6V` zsjtFIZV&V;ahW_tdwB(q=w2y)EZm+LL}mZsD^QxynzZjeJJb8RpH8v2KY>M~_MX_8 zRw(qYgY4HfJQ6?9C5wp3&;ax>+^ z!H?=|ANk$!hIdfKbQ{i$1GvutxQ6-jpP(O^m+tR-89oI?Fl*nSlm8Vb6byMWN^%WG;*8Rj4Qn?mAyT5J29Hl9-_cRuLZEBn zUPazTz0`U;PeST<`x)J#l5lp<^LzMhV>H*=RQA>{D{4f(>xYoaOxFhV80S$V)Np`j zc498D9dw>sAGEJcdcg#)*54KR(l6v8{a?5YDQ&fE?^YKFKl<=)L5BSszP&)a8NvIK zM1D>T`T=3EI2)FlXkG15PM@B~ID@;?6K83rJghhs*6i^B4GmoAZpqrC4Zd!|JYrl(D_RSUXE zEt#4J$r9tZm50eK^VrsEfEyIx=Cf6RHrx6wqn?bz9!V!6JuJ4ri zUyMQ836*;uWI3L1&K&d*Zp~r0!Y)ouQIc0(A33n!cqj~0UNKjh=gQfp%Dm)04%VADA7Y2$Rl^se<$ zGv=9$VL0(2^!qqS<9Zzeo^?W}6v$xZo=rZkxIqzlPEky0A z#~cw_@*mH&yAr=E6CLdkg-20LD}TLJeNLv{i(=j;@z z;Q#no+lxq^Xgx9oWSf(8bChtdHK6^$OdIIm16?8Gk(c!vg*P|eXfAu$WHE&KLBgc$ zZ*Ct|cJ6ou1+>2_JxKnZAoK^Zl%n32%{M&e;NisfnmS07%lkgja}-u{5?vx%loKSa z*7!NE?_`HXZ5BEW={@WBd7Caxq!@V0*2;H_8dA&x0;({9_{9JU2eiyHSW0GXd=sg_ zGykZ0+u5FNigrz5vpa9@Ap}{lShR6k@qV#8*Hz^PpBH_3t(VW7bBea4Fd4p*f%DEh zr+FNePLuoTX%&s&FU#t+-Q`yY?;AS18{t2QEgL<7-9OX!##>=<8N97)Hm+g2HH<(5 z<7@BX?cvj16Ro zJkBSf68F}oI(hLmtnUT2Nez38xUayYfgR`c!pL8WQUDP#AJr`xx?Phz6q z$4@UmXvHL#Z+D->D}oKe!4L?&9UE;G)H}1Q%R%Ctx%F|~m~#~~{@oyO6>SnsDCrff z7PN6;yz4aXWhqDU3F{DFp!y#pEsuVIv?#Jc&!i3S9-@CJj`v9(8ox94H#!CWZw;{j z0iCi2=oCr}?ia=SE}haBiDeuqKa}=ZzEJBJ7}12ZCJ$8r2|=oRhdk&Ee(Lz^b(y~a#(kDgnll`CZM zvXO_O(VQvY>aJG&%W^pdOc4H#NTCu_`a#lDE3FWxyE|#jzczU7C<3fWWzhp*^STq# zL!=;AauEW~fChd5jZ>g)NgcUid+rfHUy)wLeX+7gyry z<#%L0n=)Buny{?Ew^_if8BiuF_m^5tBbKMrLH*OHnZ!}D@r=$~_Y=acd`AekyQbUU z5iEhg3xVTuEomSmP42>}4ShZj=bc7fF@dR5tyn;+h*jOY`dN&nX`KD+lp57i?SQEP zG?xS7XuAsj17HSaoCZNL*SFL|RZpiD@~+rNGU93y&qSJefe@i3_LnU6D_!zml!_nA12%K}tma#jo&Q1Y{pu1V zY=6;r)%z`KxohM^RzQRKR2?dj8{)*Lks~C4&n)7bKUsLz%88%QbkKAmUX6l_x0(3= zX#G!q`M+ONSJuX;tw+oOj_#YM9k-e}Ma3yvTfb6-1sKL?Yf7Xf+V8t;N82d!5Ih?% zH#E_8E%}8`a%D7q@A``Utm%huUqQNEdVx(eaYLitP60aZB@jL?OHljpI+6}DqO`zu zeu?e5@k8#}mX8*@b3*{%OZ$zu%1sTmpnh3UP`%+s5?R`g<$%AumkZh{O0Uivm+1QS zZfqGWbiy`FvN%l>1m?w-<6=9;F20Q(Cp0~!kGyq+Ht)mRm1NYji+tQAFy552I=+s5 z#rL9_YL0Rm=bT`FEGKDumj&@AgQB6!nj)tAu!GW(u-Io{5bcmIQ)>B&JJ0~>CXr%n zBd`Fnft(MMmr4lSuLrv^HjAlQv>A8f>RnR`5@_B-pzoVev6BVWKh(XK1OKl|aQG(b zmsM^`MY~9AJ!Uf#RPG(~11m#XB!@?-M)3MkXm1lu}DQW;^|GziwzUl zMM6RhXDH;ds*Ik$$1v%p^TrWTGKmnOl4U0OACf5!|CmgP{WF=OTE3Imeh=~61bC;$ zR*ypR2)i?89>p&fedvkNi*V236=OcSE7VFKpF4fTRE>6O32*Gok5|sl3|PERoCw@G zdlHe$yVhDB&^8brYxF{jHksEGy?3w3qXwM59C&Fj%S*o*6A`KIoNaU|F@JOVueisJ zMOj*RBSB`*O_Qn@TZg;JmyW|OaTVU%w+uJ$e^ho}o=Yk15+%qN>O0};C`|E-VYv@< z>_meIma^Ab-VL%dGqzRfj8m4;@`rhxrf4uK5{-@?_rVBGhwbeVZ{uYnIcTx(ty`;P zaeA&b4-(De3Xi{eVv%;~K$ouQ-o?Q+?fJXi!kHJ=<+<-aCZ7o14VU)M2$0`zKl6bq z$oW7EUMaR1jS8zI>y5i-7jSN!=gVg2LW|O01K6fBRniffvALv$>kMO8}go@%-o{ zmvt^tkVqBavS? zm!k>i!RR+dSf0oq)99`GS5l>A0>lWw;4gM1je%35axBz7cVS}dD3eTM;`(qKl0@25 z_uNT4&MWD09%ojy;rS@wVbW&XkyIU%Hy7I(!rw@-pPgH=d}Y$(WXED_nbJq;;QN@q zD0RP=N_80=ie*dZ3obO1p6|bt(3V*DxC)RKS>c48XA&Aj4TGe!Fm+Bni+x_4TKr4# zXQ0@}io|*352kS6t{K;-mjx?)8MNxQYVs*|ZsQMV$F|?&=Q8pkNmt;dvam{+wQ0@v zG6{E#kW#ONY->2XX4-y^f2U4u{rRhash;vnKs3{P23t<4(^c+kJ@v_zfBHQ~s~L9# zC)fjSbWKlU+v>0b`kIe@?hgP3?MKEx>KS0t`_IEj_?!^gG8Qmux13W-#quqqwCW}L z_~d*QPgS}wC5p&(S;gu|zg)>Ul-u+r09JlzktGSTQF-fjj%|G>!>R2Kvts{!Q079G zL6B7d`1o?}W@nx99S}&PVgg~_sIw?Wu!%iNK1g1Z5OqJERkx?%MBz9`PY$geIsGR! zAwZYG;*>n7|700T=9=@u84leb zM_L{4eN3RyU({E=j6E@BTZ=QSh!}4h-J>6ypS-vgzF${|v(JygFW$ZpT-KaO-kI}vC5-SH zEvQw`SCa+Te;mUsEUMPl*018tDW~&FN6awOZHoF+G0a;die(?>S1M)B!{4z@fttBiYNbv373zq8XvD2j=>YHLHHKgiz z&B1|8=B91^-tQsk=XNk3^&-vQ}lbMJVmS zbRk#ulQ6H2nEs&8&CY`TXy=57eX`Am-6KtYd)%aupcKXvNCR2V{%tkjXs?7Dby?B8}szKe&1?$9#~r$ z3_P@CczyG(uo01Sen<9hgBp<>OZ4dC-%~Dg-FlIl!G#Tfp|s z^k5LQ4WxEJ@OQ}dh-|0Vf4_yP&Q9&Q0D@`h6QT#aHqr5J=J|qvSH#*wc*|XMKxog? z2DfniMcz*qe0OlTR2>ERJr61GlKS zT3>ros6G%g?nAJym4vPm%`^YHdzi6qN%^gPSU`Rbm<`=*;!BOffUQLxR=_MZ4#m-f zq_R(;V>r;XQC6nFGyGUVnI`uZBQe0x`;k^FA}FFgMOc%cAL{noQ^aFc!_&Lz6{Uj$<} zWHnn)99V{(8h>VXyZzuA470FI82rTHG;->bF_CkYKgIskGV0!VMaDu!yp~AG>y2@| zVEHqU+WDRF(>Qa$-`C(to8PZ&Z#D%KmWM5JFM@3T%lFNt#_aP{@qN$~*8s<)tj021 zONAh$9-tBgD7ULPdA3t^dKrkAijNtSX?<>|-lR8+w8tG^{G?EpQftd}UooH3s%^Ha z%T`eE*SLD`Zr{?rC0CgSF8#S-9Ipg#fohwc&t$Hnud-VI{P9_gm zO%WsfeTBbgYWBY4%&o4>KbMwc^~4m^fQ6_*`czH&eSn(jZ2nU9{N@xhFi8~U(os~U z2CTfDqR-fzd+ki{NX3({q4AEscOvf&2UJATSZuYZI{?q4(Nc^> z^Vv0ekB0~PhRn>q{9MAuD1+Etz?MV+3)qM?7rt-(EWR7EFRYXHUILdz&5q{Ob)mc~ zi{pj>hDqdIE9sqW$sm`+<{M`XgSMAf4vT61X@I{L3NU9M%uR~03QJRAk$U{Jb}Q=v zP~@v#AdbBQz}u9E*z~cK9=tZy^0exRy7kox5ij}SPM-jJc z;g}QDE&rII5vDo#g=^7})<#|6Ib^RXXT^8qE%`4q*(qwGhlrxnmDlDZj&*{y(VR~f zzAJ-VgfOfXx7iTby7qy+#WBEnXf6;Z?Zv(Jy*LD{76>yr8|xJ6HIAkNF+ajftXx(a zE$m%eZ+6RYs8Jx;96G%$^{B5d>GM^jJhJHLFy9D8{6VoNWnQGr_X|7*_ZHW*=K@|6ymi{edZB_eb89{5IHQpSd(pQbsnQq#?RE;OF}%ICFd%v-%9Lrl zJcz-BNniZ+w}Dt7)r*Guu(-8eCi`WFXOqu;trFO%s)*R6YxrbcbvWPI)R8c+7-mxBMz$r2Kh%G}l~F>tEyn z&yl(8KTz!>=lL`*33Um`w;$0M zRgH9mRLa&ZBK}C!ATHj&KZBkAxo{2n9Ge80F9H% zl($)mV3Jz|V=Uy06=_8Fd1ACOvWT6Bu9`4%E!9AGtW5g4yWsdQ45L#-!wF(7YwH?= z9|@)VjyGV2fMDP{8I|vIo@@`jtEJ$8S(3c#cYkBGoCjGgof>(zR!0X}Q2uO|_TOw0 zWGXTj$UTCB-BJ<_7+P%Ro}}PdKZ0%46q5Xn1#nrCevU1toaJkQ$G*)xAG7l|-=}*D z?Jjq14Vv-u<_$|LF22yzR=5w-XJB9GftgOpecXE38_fgg9`}(YRCg?8vtaUdB+BmF zmd{&W5O7U47yjUCZV5Acn(=M+czdHzG72w4R;T}oiS?r^e_J+g)lK0pV^Of|M=GRh ztlTsAQ{(K1f6*~C1pkq+ahDjs9U@yC1KNgODp};V@258K z$QP8%lpqx2o6qtRkQ;ioj0q`Ur!$C;ue=)(g zFol{RZ-HJhZvjxsNwAy1)?gLpNM%(8G1f$yfWdz5F+X}kxLm)j%vku;EPD$ND)c7m z=}cQ1fDbG=tY*j3V{EO=ttzwz6w5|rLaa>CZm_$Im9u33W3=4r9GR-gp7}}D+<51e zW%5@*9JJ#S0Jhf#Z;@q`uZr`+2N0gKFWkP8gLGTERCk<;y>3lbPyEn3UZp;EZs3)y z`4f}lo!HTBTPO$inQb1uc4T}y!mm(@i6M zx3Z4zF?%LYpTBGkYK>ti>`(TO(avBy8yW0d#LNDr{5YL*P!l3 zZsw5`mZ&CVwIdyotpPLzg_Xz9nlwk6KG(Nt{vGGOL0ZbSt`-&wV3)4EbLG;cr$b+{ zXwok|s8}llnO-H}ESbQrLvvEk2@<`(m@u5;fKR-HA7Ns=d)#q`emQFDm zmri+1miD8};g%AQHtCTZ@?lNg+5VV{L^Olt|nyGJk z==6A4fB7U@yYPh}!}Ra@tRQb2%u`w%lXiX;O5aQOtUU ziir%~aj!oXtXD>xj4oXY)fPT>1!ZvEeK?FpdAJH5HGZbm?<_^wmoNL#ApA`y=2^}M z>h#mHSrwhAH;*B%3rxlW0!%(6)?B}{i>=4rw0J%_lHSp1HMaKPy)04M)B1lg_nu)* zZfm!25ET#+qzF=%3W6ZL*C<5{wXKDE?&3I(18 zSn9QvYNNwhnA`O%@5@`Zi{G}d-mvSq(n3+%%B6=DbeIQ3KyP`rO&2_4yGZ0s@Y$Ft zMBDKU>DDCYG${8P(iDsy?7bv@!+6`noIfK_vwE)3AZnVDXYa|Q<)roD)9Hs5tEPD} zv2G%AEPg;_HI};<65W`3`<3p!L#h?t6&A8E)aRfCMJTr`AwLX-I~Lnuf$OeHxK4zd zUSEc)$kJM{Xq@l$##fvr_uS9JW?HWvr-q>p+=1(4Ru-XW#8)KWb(WV0tp^IW+1=_` z@AUN9@eJV>V88O4Bl=}Olly6^sJ}21*~!a^^e!;T_|dcEcMMTmGc2Z%adi!CC&$(@ zRW_PcEiU|Bxw|Y({0{Nzy`ojJ!4*ael~4y0ny-kgBo*b1+%mLEtgz@O?| zG13cF8+qRQfHPzASqaB!wQa;5Lk#szN3Zs^6Xl>$jI-l7V(i>kEo>)eMZ$~T33Ig} za+j(`yCd&w97x=r@%$IDJ41cl#zt}dcZF>Z1+U(F^=hNiIkNm=F0sB>3Kd65 zbINvWul#<+?$IeIIhpTsewAw8iFjuMAv0-%4UT**!(Iq#)Bm}@*%Uz-%^c~X^di*K zf;}o$UA2#TWDy)GEJ*1oza9kC6iBn{f`5#9jq~!GYYYfkNEFV$8xNs3Tn=}_bhE=) zn+S=tuQhtos@(6cu1D1SvCU%XDf<0V+8R=l{ei*`}b@R42`1^agW!b6Lz66Lhk zcrZPip^I?^OM4B$+f6n&=Zg_TS19h^-j~{NXxQIOe^Ip3*gT=GL1kr@PTv>=Y54Gi zKjx{%@Zf}V<(JzsMdociaxyk_)ZdRx3ZX^_ZyxGxkEv(9vSrXgfVck+U$N4dgz z>I9AWjoqlhw<~RdhOWT^W>L6h(_H51ntD~^UV{TY!b~fjFF-Yvb);Yx95{*UZof*e zt2mbBx->dIy_qQggVAfptBtrYXfa7sUvYHErF)XFdfb3fJ=4)LqwdCX-7Mv;EOn?SGIG>HuTg>MZz8`m^VhT$m_jcg`vh z#xafW4)nTKltw2n*dw$UqNnjbs4c#?@(|F~aC%qw^}5r#(0JnJyRmkf(%iSWOPNLW zC7!5zUhzcfl&}k!0_xMnCYwL3F|MWB?#dJP{5J3Jd>PKGbWpcF*TPheS*-N0IVgD? z!N$p15}L&8xpB6UW;T|ih}K#AK6TnSXAfg*MXAAx(-AMgX z&@FQw;D+TOak5eBBvWTgH)C2RaCEQn*E{mUp- z8#0&py2}H=furi$)#mRvKHNSg9*j9I@NQ>rdR@Gww^M2sAq6$?M?D$B`_tnl>_s%7 zF`Avx9i@l7&TFTtQcInlv2ouf&L;fBh*Rsq)<2Z_#xJA&|8Yh(kB^nikeB%yc5*;l zr{|FJ`i1g*xX;ep3q3(HT@9g@5rf9CGct3xZOlDABYf_6bs|2imCd6Pm#Il6=QGo` zIrS~Qsu;|Yfc}XuiB&T3|jZ)Ipl504rL}U zrYOn6>!R2NPR%eUeGo(VktK6E>o6BddOm%u)JF|D11+zq8;=>JG#}1FF}7)eAr+T3 z`HtaF{;nW@yDxz*r?k4JV=958Y(NVxrM^FlP=VIo_dNQPkgp#P&}?&kq|Uec(WN-?H zq`{M*tM{9b1l`Fyq9!v$R_vL{Nrl(e_5M!xVe&R~ya`PE%(hQO|YePk?3;8Jg?&oKN?QO0i=M^OJU{;gogu9s6q! zgtiO|AAK1n`EBcq>#*`mW7AXf^FsqhEUFJcVsk4OZLHQMO1&}l*O{J;2%e)T@k^2d zP)oH+ef1(>G`NWjhVXMk#JgyBV`DrI&>o!oNRFHK$GEcWb{#$PIKLg#?r>=;Jy?aM zwhl%Njtx$9ievHozQjmwrkZM(cl)iT-_cn1^kA^`=A!mYMwHhhrV_xu2h5bOl>0%7 zGLMSekaK?Kl-p#sY3Ju>zf3@iiQL-=pVSc#MLeJ?$hlqT`sfkV^UJ}26G2ImZmEYryHy zW-d^7oteky{^hg1U@Spp4wJ3hvK2hIFiCDSre1}Wy3}c`wChyFU~-y^_~Z@K`OK`p zE7%Yn+-0XsFU4pbeYDAz$IlMH06Zp)+c8<}S8xrH3Fhh*?DwiM)BAl#au8$Y9JC_)%>DD1DO`TBR7AjKwWlo1;;4r|r z%Pm*xPg!RR24=ELA|-OsczlJLi@l9zee`I6Mh?5qKx+Aq_pnbC$}v#9&UOCHvLc3p zrE#9n%+I4w;dd!eX%$t z(N>x=4H7+HH16+<(D)PHGlZzf*!kZFKtC{aMl$m1;p)JEd;H@{OG1*uK`IkSJ3yx< zKT##I&99CIt@sFOQf;{G?5H+^OlxKR(Kh(vX>B3ipvnzzuR9!(&w5u&vf?K*8Svnb1bdpaKrz@D8s~7ylF`y_qrL zPp`XRTkaxbZ1kf7H{0JXQEJsBX*eQ2*QfH~d2`IJZ(S6(O1SRCw5{$pi?%^I+!nafql}^A7HzS+$YnU-d)(RB z3}>M2I9Qv}k%qU^EDPcp!&g$$&Qp!U6hlEl`d|ttIr^rJTd$RRq{TJ(^A3rxRyN#b zUXXp`At3*S;p8R7WU~Hu>+#;MQ;M5cJk_qt%PG#UiCBTjEPMub$t7JmI}@Y)V%9s? z9C4O_t3(ttVe>Sk5zA>v`3yU0TL%n16E7QMSm$JR(fF|gK8sB_z;ny8!D3-EZIE-cW8q{fKA{Q#!`2oR3sflQLiEzh%0RnwI}Tm>bv1^3J}X z^6STa-HFk`kUTibSC+JLp18`dmWBA_9lxa<|FYhC#yFlzq(1HTfk#d#f~*eQC>2S-S zoCO;LRKPNCl>E96iPL(`Db0<$>8@y+_dv$wHALTnET|6F=lzDx-!WUgLFJ}f-)b;O zfxqfDyIt9p^G-Xb;M|kkhqf`?M|$M?KD$k>N1ay{d<~`yVrC}F&bRq&<*m%U-WGh- zPVc?izAViLRG19Z-6f@^rj&hI@#n=$1*_n~>U&b*roo@3ZiW(f6kG=G3L9v- z$)Lv5_UbQX&mw~NNez+3_wNf1v}z08wvxQ=J217JPrL*Hi`0F)%%lVdBG~P$6Q*pv zhtj|;H8wcQ6JuQE>HtC~X|TK7H9zmt_l>C%SSDVXX1~hyG=WR85fT)!cF@L$02|BC z*+(pt+p|S9m=0PoPFD!5KvOqVn3+CeQTbXN0??Yi0ipiE7^<)2?Ot8Vq?q!#$?j=MxM%I5))6Dr+T zzk=Q&2-4=W(~)Hald%b=ES=8~fXM`HQF>D!+;#M5t@qj>*~PQDO;xa8iPGZt{ZX%A z*KSo{|8E^CX*=A`GqZdS$t)5rhE?NPoUIV?VRjccmtJ@(n<(0$Vi)S+jCnVf!{Oh- z^;fbVh3UQwHk`l+moI|pA07-_Cek3pr8Y73r6)dK?DC6^Q&YA>+=27zB*ME*yY*Fh^C^9-9)!aialD4^W zbTyW|8D1ep4>j&EcBO=xj2#XtpS+{6P7a)$?bH%i4_%!IWJLI;e->OyObyqhXha%5 z`qr8(%;CZbY1^=)+_TGETabesQ?wxs6_(}%aW3J6gm&U^-C=~?-(@G=9(Cqv=d(?} zP^xEfLqh|HZNy&6Mw(BmVv@j#S!}!ED$=&SvE(XD;Q{={*7Hc8JbpW!K%hzs^I6<; zscrG@`_BCK(~;lQ^+!Ao*#)KE+XU|3&jf^j35R4KWGcYz-{!iH5U0|W_N)N^{p;U= zdadwZ>3}-5)G6k;RV8r5>VY^WD*Z1Qz6GCw{KX~FE*W%Nn$&Ql2*`HNE1D3tkIuhk z(1g2itth)2n^muU1Ape|zZ@YXk~go(xye+oEX0eqEq{v4OMoz~(3B0X6a!rYvz1|-jJu0=x=6H`mY~AYXwDLjKd(*Q5=s) zwcld3bT_e1{T=e-@&10!HUlvH+cF3gj@00QSqQMHWCJqs=uY8v*`ebo1gSv&5NO^MnYU# zbc<>qjYF9l2;Xa8BrJC9$7#LU_wp=wg_HA$045F4W>dWl^*Qp+dva4x2sgdpjw*!c}hMZ&JK3rJ}5-(g|Sumu}% zs#`bb?WoH%ZId4WnEsPP4^Jm5H;vGAmQo~p=69oZ2b*DDdUH%1~7R_CiTE%n{2>mDqLxdx^XpQPkQsg3gUMxgWqm0Fe&lBpB6ei`7H# z>IzHWiloxXdRAZ$x0Qt;01}R=H#Ul%ho$btpGq;L1@vV_9i8rMW>@B!5}mrx%5c`+ z{{}Ng9d?L9f>o4XrZceNwV-BYg{q{?HSU3afpo)ygOEogrS=RG(94j%WcknpNC@ig z(uLHCg8y?4e(7d*Qx(9k8^IPy#p**xI0Vu)1fm*jz+sAA$$SqpPXA0U_lY9e8g3JU zv^uW0Tce>J4h5j;FFkpb+a{rG;rBjwk!UKhx_l&V5a|u5D&UxP2gf%(oBc-ri$snQ!fJ$>Au?8?K^N0Bl2EtP&MP33~UtED3?kE05@hhcWR zSW(m8dq`J_u7ISIuhxA7DlXm0U>w*3QI94f2MzT;G>{JZPY&#=Ozxe1V@)9A{hsr7 z83HHoD)RzJi_JihW(GG#)jsqqkLlR7KeYg&386QGS7KXb3+v3a{ z0>1hbSCl!s$jfUkFGF6P>f&ktm(>+JmN)MgPwYTI_HZcf34)d^K6D)TiYO>f3uk+^ zwDpyygpH)@uwue0Tyg9B3#}6*3r5I;rr9wAryv~}IkstwU8QU8oB2jxSol+^kHg0Y zBqVIXqG6Nu;<9o=sl@0ucLgXZ=@Rdk-dQ0XDkh^6tYT^iPEPwzY4|Zr*Ch=vQDGEJ zYh-q$Eyl?Z%2dA|mR!s>KI`)nVTR(k1R8_kLH<*X1wlU)ow)8ObtHaz`U>t0Z1OeG z$Ozl*%djh!oAlAptXJwm;TyzUwt7$8PWbwF$$<*PRhZsKZo%pWM@u<&V4={~c{IJX zIDIkPD=ArUgS$K1c>OC$t;>zxfI63*k6>=Rp}rJoeL?J`@nBDgXDgW3?vY%NX(IiwPb%Q9pR7tBzHP_=Fgyg zyHT*HCh=?9UPKY4p$?@p^I?jQ`62Ir z${OACf>mB^@+JdWs#5IxWfRzde?>6(lF&|!Q5egy0_qo0<2|b%=RFnhp|w=VrfB*J z_KvmrdL`reS|I^C*u_g_t=2Ag^CAPU3EoN}L+|It4EXZyxW!vDK&fYBE1DXZ2r5>Y zV~WIf9jS>#??bEhoA&nt4-5pJ7;61O=UWOW3fSpGw3i@IP9f6~BxEM(Lap4EEbnqH z-1uub;f{~doa-f2eK!;vA3xPOP}&H;fDe^hjOAbo9jC1>7Hw*fu}j|H%(8fiDFMI? z5SV~e`T#vtzraCRV|N$PaZ?R)F#DU#!;eY-TU-uS1&WW-n#$dc_2zkh+TGlY{u^8_ z&F5_;j_7yTtPizkc)mN+@;lrPic%&uw@4a z<~93WBd@B33%8BxWb9?5n}oG(guq&>bnZ82KY@3iEdgYXAF-I5>owz$Z+72_s!vg< zQ~VLKf0IU+Hvpmc#^~ZgT_KTia40}SMqTu0+>!#Cs@Zph3d}?sUzWT#*^4K8pL3!8h(W@*CX>+(PQHk#~!MFQH5Ln-lY~2U@+ovzItip&*WN>=02uEu}xYlGkU!dIVB*JtE z=vWVNGs#@D+evpQ*nY~m@Z!Zho&v!_9f%p=TwYSpWYkn2Mt)u$`?pAO!y(SXHpKQ< zvDyM7W0D6+{|#d=He(o|!LF#MVkiaC!c}aK_$j2366r~KUFh653)qU^WP?af=bfq8 za-$AihhCY|Q=`QHrkvT;FRBkr8(WoVD6lH$a|y$a_+|zej>+#q`jnTz-1N8D7<;nttr4HiEyO_cZC=G%hb3SL0U>2pgcnXvh@`#=S$>%|n zcg~n;IRDt;uFz~28pvnb4n2PfNl?*0AxP`y4)A=W^8Il#ip}m`oP#FB?T9@RT@C#A zP1RKJGMfOc7rsFOsDm@eTocu@$8L(nplk2hjQw6$VeD3FG(bRwVw~`#wDbQ|=tA`mp^G+Ce*L*8X|vkm z8Rl3R^BUqsnxV;Gm85Bz_}ys~bkG1?=Tpwcbw|0&`&2B7LfrudyTHS7I62yVoO!k! zevpJ)>VCM`{C|V*P6P1LKl9zUH2;i-Y};Ibf)OpqK6#L`jt^Qf2e`Ngc1F{?6NvkA zil>a^C&@v}=u8gZ6wcK8?;AzbR=oe2wrgFTe0ZqimbU*!C5}z9T3uYc7@Tpc7v>w> zOxV75$|&tnne^^oh+2aFyQt;T^5#DlwQOag{r4m7maME)S*hjRe=?2FZce-ga#Qiy zkl9!SgZnN&qq%Bd4BJlXfNNn+7)g? zV0Ry8R9O-CqxV~$X}CEINI{Z9#hIKspv|7aY75eDEF=IpSCRiVnU6u!R>V?!=Yz3{`L_$`*G)twjgp&M%^rEjK^qsE*AbWxG>7;ES+^XA(Bn;MsEq6;)h z47xhcflPV5=4F2}`TZ%Sr?o0mwhIT$zzuY@a8K9DQQdyw+G&dsk??S*xmciB_B&s@ zdUt!(N$$XRjSqV;sAN)c)I~baMQP|-kImi3-B>Iw}^#{rVP1URAk^vxl z29d~BXIVT`O9~je07xITMR89yWsX-Vq>I1Y%>Uq0TwE{^#$qW$rliDbxsz_UT`TfK z$p-m6(|p-sOkD1OQI{plQ6G?W>f{*KP*oe=TP5 z+q1Mz^N=)5i&BiZ-0en2f;LCRl4mRokNwPKt;>W)S7DrggQkyT{sv8BhL4L*rg^(F zU>t4U=^K83y5W3emUHXOi$CfZwCz*(VKGSfoxr9F|ElnZQbjUIRgUx@CtI_k0r6iL zx6c({A8my$$~3xd6+o5#ax35aJ-oIl? zrFuT3K+}&xhpSBu*DJqXFZhjYh)|Ym@`c|^201WD@%SQ9tbPM>w_`zM0HfT|$o_;ieFA93!=9l2OgUO~-p zjKfa|I+;7{bDDj859)Mkh*Nhe8VcZ3*i})W=pSU}V-W~w(QEObCCC*BtPLa!w!c({ z7LtRmq}AUtS>xlu?BCtp-4xr?H{RQM!t11lzfgYD3gKo?JD$nvr3{lQB7SB9Yu|_j zM#8c(M@wn~PGX3fegIGu8{rsdo|ouGd0nDlX&6zGKV?g**vIG7jB6uWfNvpJ+!`*4 zt|;#6dhKb|o)kMAIQORAhH#!nM%Daqb8+N1(CigOi ziaOBY(5y*36Qg86LKSn&$(fl}WJBrtH-xpnVUqN=^7&a(h1bTN`?4IFK(hzgH1^Hz zH;{p*BMXt`O(g9p|HLvI{jV&u7V(PVF*v&{>PKb|DB|+%vns*L+z`^00Grwm<-y=2|wy zJs1S}81y@M#lO^i00)@&#e#tv`Wtr~P!#`|1E2*#y9v*pi8T0l*=cufSl-G?%YP=S zw6YN=jj@#vud zH=LAtBlp=`%j>E3jB#~M$$I7x?bC1i5kmg;*WpDyc7Ni;ueiLT9i>yFb2lxna+WE!tqZO^07%9;SxZN z^#{b@Lxn;=!y1N5oC&#U-CXXBTpT<*Rh)|yJ{&XxD*IhIG9c;Vw2)dxVyIIfSMHn4 z)O_mkQ@jtli$O8_4|v3Bvil=F@^4rvaR9dsnVMYOxb7?d2siud!+pm_^aXdhI{rc< zxz)2?|1J}&ocHjSZ zLB-pt;4HN%QpGA=9j$jvPS@ImQmf_{sgro}4vBuA)0rDEr~%5C(^T>IFfBW>+P7+f zj-nHOv9a?7=Se_a@5C5a4qKZv>^)^1u_NSY)d1`v`(pJdHdmg1-ResXHj$^899&Q1G0FOLi_x-T9J_II- ztN9d0kN5ev!nFx8-K3U#l5W9&=pP0M-2qdIIySXz$cspx{Ia90~c5PqHXPj4EdX^jW~khD{Ac(5azFNKC9GkcMPM zGMz(__=*D&MgJ>LN((Q;d74PS7_?B=0MM1@mvrTx&}{B$a=(z)3$p2EY4@~6+0E2! zKI?=~1r6gYKh}FO2SsoK@b~*3b_Ndoa^Sgzth)MqXs;sk@s`!0_{l?gsdpV?Uu{qp zUdOjSxN^2uqgCdCF(LOCCiQ95`V_d4RrrN|JtLk52(KdB`NP!l8M#d!E|qz)a=#RI_I$dc5yiM}B1*~ui;{8QG`gS)Q|?}y47xaWPL2nM zQLwS)W-U~P{U|{$eV#nVA_BF|e!)6Dre+l>!Ym~9f^ukoDP)dZiY9Da{~4% z+?x-X6o00EsQ(frky4skD&~G+)}T|HyTIf6bD^uNM=<8=Lx;j;p=O~o@{{HBnzflG zYYb#v>V;BjN1(IpX^$+JZg&BIQVtYU{051!oo67SoPfHo=|xM@*AVLUr7qs%XCa5Z zp7%v5KszYT*WgN;4L6;7W6vEus%o(ac%UC{Ir`q@)@7uqN*nUydsUd4B`S-?j`&wK zos?S_E{3+Chbiq?`TW$j>UGG2j3c}ou+_bMZ!ZWe-drH5RvZ@NS9U4)F6L;5->_3+ zoz=4K@Uj%tFN|y!ThdJqG?^1ZDP_%b;hK4g6yLyt@TjxJ-NEv&m8@scYRBytYVmK^ z7Oh4k%6T;D&rVY5nFD&I7^G@nKjet~=u~_MKI3h_Xlg5Ip$=r`+lErgp5nF+rSrYc*#r@>TEAstz;!|kM zz?b(ZJY>aQcl0A0XK$=ba$VehA5?_G6?=lcxLJJhxZez!VVgi)7jlMjbw~w&KG*?f zN@mtd&KS91%6{2JjvT|rK(Ba%YAMZoEbBQ1w)7Z9o^wZK^j*%JBP9oIvbF(-K5jkl zWjy5Dd6p;Wn}|H^9NKy~-t+kI4A$xvwr8^l_CL|#xwer_e4VRTU~)fZx|<`@R{Onz zR;eL|q`Sgix1MiKCN=@M)tpC^(scHeeyRkr^LD(l{JV0TNlJl~0XGG@-bd;u*8P?Q ztL)jiVxHh&t4HqD`U>i)4sI4F=2y%r)#|!_R-@Cm;09#fRdG{QNhRoZk6k~r?_i<8 z==i%n*lpcRQ{gR^KEl!h>QZPh#NDx%`nOl_j8a=LMwx|Qf={{##^>&2h}YaOK@#X! zvM=movw!LW-4f_xk3`l+eE50AC9d&y5{HF|-|M?T4Ad@Ta0E?;#5Jd(O(hK6h`YBV z;RWh?cUSMWLw_zr>`hy<12+U5UQWt(j%AG|#|JM3O|bhZ{!Ycj)ye;Qp>&BE8*jjnhgxFVwndx*{ihDLuL_nV+eHikA|Uh(`z39V2UMS4*0l%1rGNWhOcv)7W>l{)<4&Um-Gp?~CHs`mvQbt$_TqDI|UHgtJ}i!q10mM<`yO zCCQ}~mAz;HsHwiyW@;$TR#%DpX#&~T64$d+J;oTIr0*sdblTon*5$JJO_J8j-Nd0* zzviKtO9Qp=H~x_YryHh|SLd;gcrMutr~{o{F#U(4k2MpbW_l${civ_h#^BwRW8v+} z0QfGaj8zJRLeGA>+$*dJD@~S zCh^xJLgLSFI$MsPAq-MC?>VwwXnW2wCn=e5ogm7|^0$t!&l6P{+etPWC z{;371g;5?>>*~@i3?>JEiv8e}M?N*~Q1dXX6#~;Ya>+AdEW_IHdKminyxSs^3@Xs* z2>Fzsd!##KxU-8vPagV9BZK(Pm4ZSnoGGKHH)m7%_^^(@M6mk9A@-DsTJ+nk{wrt-0| zoQy}*Oo~hneM42rt5L*Flm$CY-;hUG`g3rN{b6G#H1^jhYo@wGP;%Do$KuRBt-QB? z)*E_cU#qVT`}_*M8N1n_v+97|9Ai<)d4+w;02=(pO54}PZ%4Wfw(YPmZ-pRlRv31M zX)RLrQcg)@2fu*c*ENuMTJt0bAW9G&3r#1s1lwhj$2LYSXL&cH=eeB35Ph=WtD6E4 zDRcK`!VO*$MELP|UWqVe9?!np^37WM3qKBgB1?!NHtPaiw|Q}uY|$S9GZv4qSxpqY zZQAF7Pd!~i7sxx|(6@S-j|TbjGBJS>J~^(B)zyx^2~r=>KroKW{Pc+@G7;l+YhFuY z#7fx5GMM}FiJ7Z%9c;~`*&9fah<2)>1eYQBC0_Bk9Ex6UIQ6+&E_&ZWvxep?!3~eO z#Z_-NM!M?GWqr_hW={aSQ=E)VWfZ3R_N}#9-|VW}>tcfu0;|DZPOLDQ>iUZg?tX2_ z=>tovt|f&XzO~1WE5{TvIsLw?zqCGcTZ>0YZNbGV zk2XNoU^t$f3ouxY3AGFj7geAQtbYJC$>Vws+q}y|$iIH^OyECSZ5ANH2qN{9a%j=Q1qqDP@i#vj%-Z7aqh)76U4Qyezb?XDGXt==Y~ZZ=Q!lQUL^x&Kf`eV#WY=)(bT+Js*3*cyUQmaYy^)8pQSX-kx`H58 z#b1PI)*j!EL=?SpDX`U+?=k@qCF@KQW{d#W|nJ~2PhfQll-HObYXAr_Py6TczN-~qkzb6SH5y@baA;Dn_VM*U# zxnE^4r7@mX%yGxwb)qtqtxeaS;xD3c#8pWeKc ze8|{=go{ZG&N~iz4mR?(Cpp1t=VCzL8=RTtle)|q>{{R1xPDI<#?(`oY`HWe@V*y& zT?KWsL5&lsLr3#Cx|YezBRQT1@4esZT4X6|Z+Yw6&ueZ3>(DMGtgGk{@i{v4@Te9y znha&*f{6Hg=z;rPZ#mknp4yXjQO=2-KS>d$bv7rL51P<`d4k(A$RO22G$&n)#cu?+ z$RmV}B$aR~Zur${rk${nnS8&12+ba)Bs_C%KilHWL(gUT2QIsvc%DL49~+6kH|Ae; zGoj1*hTHlzlM@<@>EVQQZk(K+jx-x0FI^9>Jb73I90zge8PB@|62dkfUbOvu?Am7L z@$T{Zj>(cV$6(s6jEb9`M^iMv)diRdw`bbh3V~WR`^WH1`0~{=&^Z0XVQtUFf}PM1 zBo9*#kvtvEU>fnVel5-R^!JO`SKnC>%$%7+ccrl>_@MJ1u?jnvOz(2C2MhcnMGRug zv+MTHX7+sS8P^H8Urli#aviQ$-GMfK%1I32F);KWYo)at4%R`ciSrS?2Nv-g=B zVGi+=ov}Mv#YOq~KtiY*K>Y&y19jbo8s`=F}~KZvkxvDy5gq1d52=5N9IX zi%hGn+MB!6S1$M}b()YJl3mZT=NEp^oW-)2^eV){Z#0KnyB`80PH#krcSYhEoTTaH z_>^5kSFow_B?^K9$>8kXs-6|ku*X`*t^(;uTfa&l&*weQe9ZjJXj~aHV9!5n`KgNX zA@wP#KUlof3cE0_xXS=aU-aQ$cMw-8fdx0Yl_L?RYo0KpCl+c@3eVB4Q8w>!yPp(S zmM-29_VSP9O&JEjvtwCGUOcl<8_HtY*sim@iX4-mk6eLJ6VSzOeUYTZU|+-MWaqza6X zVr%)a>-0#EZGvu9@@v`750Ke~wndWS(6k>;XmInihGr1OgZuqhbZg44M+aXzZq6gL zYWucFaUR32R#JoNed>%n)^lGta&%iSvaN(4AnAX~LWajLxMY)BC=_e822T%jePit%JXzxwQlad;#My=< z@=07_55B}3Vmm)OinJ8QmHNyCXdq5so?niz8sjgK8^#z%=4;i695-{us&Ea#QJMq) zsk<{&eQg60)t71O8t<*Q>C%-g@1|ZQ`(Ov14AiQ20%rUnhc~-zXiyyW(I~be>P(g! z9;1(ri3MtVcc~3M+M`F5)jM-4xzx(I-_d2m&rpgJO?#l>m@Du?LvLA9OH@vR?N(qF zZ>Py<{*%cPeY)^c3Ht0e{+OS4ks?_w`yRK~-Hpni-MPt_qTNFPW;m>sW86Ni&=?mN z`csyN2$u*gbpk!eb5ADpk#xsAd!Z$pb<3O>;nWlU`ibM6!6I3%6Pw7jEa>ZwT&W<6 z%)~68`rLQXPNnkuB@6>?_S-D%)NP+4SndhD&~klLnG)qP8!O~ODC=!bPCh#_wHuiA zC9j#``uo{zCQuG$Z=`+ueNGnElWdS5#TB^~an|nnn>b#j+0|zd?sLI<*2OQTmCFTm zn-A(Ut1QCSvOMoqlVqzJ&;s7~LZ6l^A*R}&p(nt|?xvbsND;FFccj76q?irR(?t|H z-CeJL{;cOnS^Tm)b$B@094i6_28{k;Kl7jpx$(DAkt-4kUk){3;1ij4WM_)Q zDb6u`Twhu&C86&~_KHqGLTPAfo0(fJPwr9$k7nHM${?c>MSJePFhywbIF1+^5akXU zySv@Y88L9cxTPPv=$x4|pl`a%Bs_Cz6)UBbcasA3lX<=dR*T9kt2Wk31)=reMlJ&% zTgT$5sZ4fguyJ|%JB#2ZFj2R zut33s>4pBs3s6uyOEluS8baeS7J~f zSH0-bx6{P&AXyor6Rvtm+5&yIlxfqu|KNdNTbm>j zrJk$gUTDXP0npqV1s3 z(z~-^#QHSv2)i$)Xh6fr9A7D^U~Ap*+kbq1`gO*J2eJ`w+WZL$4I2|F*fd|}7rHLG z2iDZosP)-3oxRO@@nr?l>~?6}biQ41Bi0+%h$N+<2_1O*fQc!9Ng?jL(}oiA9FM{4 zQ>wTpDJiL>i;Dojm#zSvKhfC_WPm((bmSQlgNJn=LD1)ir>l|hUbd3&?(ny990oU9 ztV$ZYY^oQYWjzZQ@;c>mTJJxcZ32P@ZzJTandI z64KkZTcep2sQ4|(-~z4w{=jx zJAiwNg||8MYQ!7kCL2(~OIqa%O2k(UldnLSfmjC-YM{g$0B`Jsfw%ijC|e2CE-$^; z!BY{}ecEA>TMQEY`5Fb!U%Y7eie`YEzU~UA>F$YPo+&dWWY?`&`j(q|pOy8-`S0%iXZNNh@S@(bY0E3k9w#3d*1mR>ZW_E&#IJ+Pks-dci4k?>B` zD9|i*-q8f{@bc2{UP^YRiae>-qr zL?m&!J&=rsrte_6T~0~q?b*>!FmAg<3ycBMb@-&ai_vea*=! zd)0a+(x#yZnTuw+!>-!_e4hDKF`c-_ak}%)X<4e8tbmJF?GNE-jEQ!IMV5_%i!#1_osy26oM80U!>JM%(&P z{>T+ix6qIfRywVn$s$$q0L>!ZTFw)8RUWlkV4P-VW+w2O-C|Zwy^O|Vy{dk3$!*0R zeA{}Lz0Ji&Q6d@vMjoDMpzEWf@<#NY4rO{17ZyIjG0e(WKBd8^&u-qjh0yldNO9GC z{Z&J`Hk)%@?>y5E{1MY7GS&9+-u_8MEwp8kZ#)V03c!bzMxO8f%pLOt_#ZCY%vG_s zefiKOvK(0K*URf)5BXGBI(x z9lR>8+h%@t)35?mK9kW-u@tLMANNfHkHj^I?&i?Y^IB7s;_A-iV>Dj%8z1bT|NX-w_5jTCmvA z;HIbbvsD6>k;}2La`X-1UkwbTX=?!q%&Ey_k)EuQl2Xe~4Qjt0XFlfj$<|ol@URNd zmyt{v5UsG|)!Z>T;N`pjjFSB^Fkm`YWz*5wS?Y~)@j&hmpkU3)l9E^M-Mja0cRFgK zK&u>BF4z0NNZH$S1qTOj)+xPwNv@O|L&mIhN&y8{jo^?F0q-efs0);Sj)PE3I_u zU2I|}xgi&Bkw{>10va@_o?9Sz4XoRjH{}BR8Jiy-@iSHOqobps&`^{8`P%*jZa-gK zywMUP@QoWcfOY!2C%MPQV2Zx?$%MYs06(x~^6>DS9`$i5h~w3W0h=M8)ntDP{v8U6 z+vMcZ^78U6v+=R9o!tyR{ilbkce#zP=I4_#Fu;`D8jFw<7~KI&$L5!Fd{$mje#ioT-t8LIvD`(dXg>_785Zzz%fH&*zcvRbzK z|IF-p{^KFO9sBPrDLml%wHDWx{}JrxHV^T4$<4t=vgy^u4duvsvC#|I-v?GBTccQi zlx)&YWpPB7rODx)ONf%q7P=^Fp^NCdaKyZbY(C`y=EMTLY!oznDLK^Ug{!PSG^?Pz zhw3D2Kt0m#q{Cr3e5EX~?nBcUtnNnndC7Vt)jt9LoXF;;>LrTV{Q&o-{$&h!rESj3 z-7mXPki!khAtu%|asr0_>)!j07HoL$cslFG1C(4+QWE&3x4?kXhUZ?}yI)V#K8JN^sIAMY(ZiEHeQ!L_1?UP16fhltkh^b&nc3JL0=HLt8Y?0DcR{P-$FyZU|NiLJ~Vu?VB`#Tr|o z_F+1vvq-pmT!FN!tlccWl#}Y$%cYc^*2yfUF-)&)Ur&daGsB4mOv2~fccfg9Z2sc@ z)zP0Pi}PGtt`+;kCG+Qr^}b%aivmTppKczwA9j%$XOsB`PdvY-Jm7vuz zwC6O}2YE6B!=M90LJkqdaO3J}(Xn~p%U&lvZAbg=FSUCgk803O$Bmp%Srt1>+f)yI zRbs>ftyDoLNX_Y-*N4c+_IKrww?N-fz>@W*@DI@T5O6k#%g9{EB83D8 z+ddg0@GhRzr&EH1GL9_GdB#ENi$}S0L&@x#g-=bX>2@-$nZI=)=5z214 zFdtKAr@m+{+hpwh;N{byvDfC62-gdA8CS@yVt2ogVl!y?@W@xEcK>rpbXpjX2+3i3 zpMcCvpi(u?W-0Df&NHiTjOwuoB(r~yb^YK@VGyI zTd{vFQx6)D$)9eI!Br6TAweYA8D*UF3nc8_jZX5P^SbK!LN9K{nk}WN;~?DXsy23& zUXMF)(YS7kxOjaNW2@VKaAb>Ke9aO6rpMuRLqcZ4r61kY2pBrIK^DNb^!RA)hf?pm zxGz$g8s4ESjNc-1)cEZ7aVaGpkjZ<|<>dB9mi6yu|4|TE!Wpp%k5K5Ot1>l!%pKzaL!vFbG4 z$$t0sB#@t-{dW0e@2uN=-^e$W$p#Oe0*&Ie=J&Y1+w+ZHZfti6I-}{CxQC93x-(#x zNgEsHLN1#tPMG0*g>uW$C&|w&BxHIfV&?_WDD39|^c)%yail%wb2^sS3i)jtLjL z51toh$Xx2NF>;f3B=(O$j;CS9<<(6norI{*Z!2%hS65^T2PGhz_5m1;QA|%UgCvv;dY@qs418uyG)$HyY3)yC) z&dDdgk1rTx>~93G?Y(dfw}nw2R=Fg~yJKW6wT=rqmxdVYbH;5#J^Ao{bQ%JsI)x^Z zNlQ3bt|Q#Y>bor`?{4ymf0&Q@qblUt+Ciq!K#}7h*IUnTbQKTR5dP$@O*5r+_j@fdC<-y@1cbsTI`6z}7nV^xo1>i- zhj?r+Llje~qOwSt)At`f;Jlo(GWfhl4)vRJ;)>rD>!`5gp7I+K*zqRo;c@e{R+&4e zKxJq^nCo2lf-M=&%EwV*2;nPXYp8D@q_0gB! zVse)bdSj+Jm)FJ@s#gGnNrQU|~!%k#xjC z#{uy7Stjt+_sU2QQK)w+{IgMa-@&Xe6b|iKF2HOt+O|#Ba*nkhD&6ciglG95N}pZ$ z>=VO_msLK^GZ}OXL7xo6FKM8AyN6my2SIm6i>FBE&d%Jii6dv{XF%MU`1s<1e8r}w zVuODzxNqY)nwro0#=<875aLgnr13M!ry2sB*4EZGSZ!yZtfHb-VknU`-2@J&+?p&8 z>Fs?D+$dcz5&aI&;*S^Srhg_%85b89S5{VPWO<-x3%G^q1zss2uqw40=h$gDl+VE5 z{Z|~Frr?{*Yt`}bfz*pPZ&vp^>G3iFNEJCAQPG8=kAa$S0o^TBX9aq+3J(5q+?_5l zlESJ>Rk2ZPFc!$KtgrJp#Nwfm zk)}X*K~`cYZO?XQLom!iPyiX#R%WjMZPoIEyD+5*M_dc@sJ$_G(Rz?lWrw8#=m@6a z%Hexj2(YiRi?O>|E<4v;g;z3uraD7%lvIwY^tf_qC7`YlGiL)x#iwdxt=hpxc-HmeM&KZL~9uWwH37Vm#%!)>;Fbmm{i z?j=$zKPYtCvh!&2cno&wctZan#)af?2)$z(HtFxk7rmquJ7gTJWH!eZ=U=W^Eiq|& zE8Wkd$8G2IBt2k=y87Y9um6u!>YyUx(}BFSiTsiV26ECg+Is zh{cgiTijHeY_4rIx!=;a=q$R)0FQQA^MDS2-d~k4O`bR&!NllPYHmR{yE1qxTEiN4HFf+_B5L9Mws$IQY&#vM`IOx!1dH}38zNyj4Zdx~c}zy=eJhRgdG8kz16cys zBTi@@9XVX8X+yd>Pmzni#7@o2SJ%}9ikhwg0H|4Qx2FZ4&lqq#ySTJ(i@H`2nF$+k z*-XxHWn5ZtYZKnt0U^nA$l8VMZYrgdW_Es`^Tg;hi|#l-=3Yy zsjStGKX7?)N+x4Y8b?5adu&a(nIv)~)29^8loL0@vuW?w>LL-BHTlz6x>$vNGi0d- zO-xe_T~f+*kVso?&wuH9HV@K7avp>E*N6Oz@LM>TUx^&cI}P+s37J_=3j zo{$k$3zeMnm9LC$p6>}vi9mwaTQ&;k;sw5#Pm$b4LzpHvGqAUEifWDVZ9Dp(vWw5+`swl=w=%1z2f9SW7@oB z)%vK&s}uZ)4tCV{`S}4eE!6qtpiYIvo5mw07TCZ**@bK|{mrWTU`?%6WS&k*BjeqC z6Xo-eA~3X)h%ePtCSqn6A>vRlkGyd5Zuq=gfQcCFU}jPtNPrEkk5d?+m)U&{I`bLe z3QcjR=ihqIcR68V8Iqx_I*~8kL7Jrpq_-)BoSCz-vH%3x1Fju8!^zK2u}9O#?x9z< zWBmC|Xx}@H>U+UTk5&`Z;)nk@bJp*F=U4vlnE2zFm#4OEm$s z#WOqA^rsL(l>2s0d`pCTj{6K$S^Nb6!lE>BzihG<@U!Q!w)u3 zpU^$Otn&^NS0Pt_zuiSYbtk@6BSUq;ZKBNR-kQPq#oQi=$-a7%0b1k3{D9;6A#!DX zAHVH<_4xFs&LJA*?YVq>c+c=AHUoF;J5U$g{AXt^3StHCAG!F`4jOpN)fq z@XfIKQ1-P?pFTZ&{P?N);C%=oo%5RwMcu7BGmeK315;B|pUS?Id+h(@<-4Az))QR5 zsC`*be1Xh#X=HYD_H@M-c^OVs*&y`CntYHqKQF#Ju>{zS9l3r^ z8ViovFZa6b3_wD=uE=Xf0VJ&LATcqhjH7qU9g(k-pLK~+pH|Pu)2*fmxjX^I1(5xJ zuyDF3bUiX4`%0k$IlNa%(C223H1))8UA0#6^qoe1AGXORdiw0ObqRe!Pb9~}Dm~fU zlFD$@!j>q_Bc9vCO+N&@2qlT^Lh3A)a+jT|OYhS=E$PSgI)~AnGo38Pme^{pX?R~c z64C@Dm*k8r2aX(>2u!=WGSzE8XCf z?R(GVlI6ZnR+FFDNQ;&cA!&2X$~nT5-KcIJa%)$)WI#O+$9%UDV`aDFi{~7`T}*F0 zN0reCIfpKHMw8Of^=DvEX17}H75LPafXrXlEvLXe z`tKaGeviV-mqs81ezY^20@C{#fq_>+UT*{7KM=LO1KAHYgQiqsMj7lSK%Dm6)|LaP zMgz!H>@2VT@Ij0ho2~r%)By6=z)WI8qJzW3p4Zwvhpj|VEcAQ*m=su3R;QHzNhDv% z*dt8$GnJYgFgb2V!AH%dn6mO{9Te)aR^FOK%}0$jr3|3i5ztPDZB=H0a25wn88la_ z#_i{`@L8YpgzB@nFIQ91vPS1S&_vQxL-_Usved^3C;vg4i6Xm}wQ9^Ma z{mJxFU&+=nGpX2(S}oTQ-DFA18u7ue6Nca(I4U~H*HU;C7>K$;Izv+w9m^E^Q)Q?H zt{3vX#?xhN(thi96db9jke5{*Do*W1k@o|^wffFTekNe7l78!qcpA30T(fve7Ey!G zYZQVgGt-UMyK+tCw*;5-xb+Y6n!=$9mmjQ6q~DlNjA^7EpEq(s1hqD3>so8?8PS^L z#nmSHEH!S3UjLk&Hj;669B)%X)JQjcxm|S0lT>n9muKv7p{VcOl&DPV5RvNbt6XM8 zDrd8dK#jFd8`BHnsGwXcelBx4&x#h*aDGO6UtC<4SYO`lETLvjzP!4|n~^gSZZC7p z#_RDh#*4}?L(vw8n82o-RVwD7gV>?@NE5{aht6IblK*J|l!m*;l3nYif>?fBg7j&&{%Z=N7_T6~d=MaWtC zJR=>ET~wfa@OwU#Ohic@v)LgRx{hkvjlTW_ZOR*EWh;%aCtquINaScpII|jGv3un} zJhhiH_;`+>j+FQOepNJPXRgqGES%CtS3{9G74|&xe7aqepRKjZky!dzvUDE#EVZk( z?2i=<>FzZ%Eu!~N`YyVlB_La{?pI1FeXi+yc10G+0i1#Y3X-P>&8prFHaQ}T8&1;X z)HX>8*u}elESe4R*+(#_j@0lAlWz$#N&n!UXnQynT+NZQ3QnY`sGL&BP=H zV*@PKuOC&ViBXG)QB{CAz{Z6&J* z;cg`VoaSs6Dvw>a=1y#v>T0ZtUg6#+nDJEYr?7qjkJ=aB8hq?!)F;!JP>)vS-g=mf zs1uc0&RSv_s($5Id6PAL|83F$f}DIEf#LuP5Ad~h4@PgbluYE1I3CmVesyLwgZI7n zC2ldO!k|3~cRy#=4Mg{xpOZ<(0me+HCH*3KOTwSw{NZmZOq=7y0|%?Q^qvNvkLqr7 zZ=-{fFQR!r>~@>U&x9ZJtAGgcQ}zSWOnJSy!q}^r!$rTiV&3p(bE+uQfxEy;IshZ6 zGBbd~f~+peOP%*@R7|BUc8v7P)#&5-#VP&f54{pk*EwK|>4HicuQoX0BZhy35aShrhuIP|d#JcdGog1+KU<6kVX z&kNtouxvTkbKm8mq%HPu0I5{yUd?Gk-Duz?F>gXDy<}*QG{=9A-cw=+%pX-BJBGhp z81O^aE`4>nY($C5k}oBdLBNIT?Op)RQPX6M~F`=XXtGa^pG z0)C4>crh17!<>IuiuNp=TB=o*j`cJ?Uxeh%WN#AYO8PfV^NV>4hO9 zG7nj@H=cOCaT}3ICRnm1?{ZuTKlb_nFGGXbLQB?~~F3x42+2R{y zYB=I=gd;t7^fk?#oqD}~bES#k`mJi-^>oLjp-nLqjQb$CS|O`7Hfurl#?oIOdV{z4 zhS_sQHn3Hu6cEFQsp1IQ#X0>q-7<*Dn?1JU1__mW!OV5P272Huia2p zfR8GWh1Z{VJk!&#v&-mffX2;C7YblGWP_|R<_~5kXH^omrpD;~Ib$7$0gCJSj0|A< zvHyqSY7M3T_Lt&%?S|GF0UIj!dl;ZVE6F9E=9_f?YQ3jUkz?vpsKZ%9#`nvAteRbW zKHRmty58XKsZGGpSB~Jmi0qn}cdaXRelJTC6%TICOn>(XqH9kacCtUR4l4J+eSNQ1 zKqn+S??V16Iu}oe+u+%!&&pf&Xzq#Vz;O-KMjr8&c0f`i-(`DmzQex2)BMbt^; zhABpyX7StkF@C?-og_J;%h?5rpnqN~voOopEokK%m1nLX`7J&VocSCR8IBO0cpG#E zJC5zte#$e^HAdke{+>Z}^97dRpDm-r<2WS5kJs#cA6HgYrNW7nQLt6A#Le!*SWT4G z@)cpv;Y0k4vD_e8t-LSRskHqHM_*jbb-#2id%|DkR~J9;XUY>GQ=&quHvx{utV7q`3PfA`Om)*(ikTd!u}1#4uP)wb?0_wl}9 zB|Y?svE^Xq&+<`P>@V|=e>gdf9O*`P-e75`(jJdb{O!b*Ari1OG9>h@edxy{&+-dq zLZwKg`FbDLbMm} zsmKyn?{|db40{5fM{tZm1Wy@Dl{1=+E)m`s4-7WWVC-p7U0u}TD@86M_B>ES#Kw`2##63AetNbKpNU!S~s z{ycEeiwA3{PaK_zWQ)z(tIo|`LP!+bai_9YC`@K!^>dF$#xDPokz?hOLGKMJPf$u~ zkfDW(_V&zHFZ|JO?4&Hqr%BiWl5KYC4%S{rGA`Uqrbc3PiDtW(@h>odzxnmgO3XjA zCIjzO#_0a%_@@6&1^Lh9N$vmYu&(^C&S%U2>UmuVc2yC)r4dlz} z$25jeDJPV3_IA8@b^naB*u<9p&Hh1<0O3~NjtRy&!Q{^rUQfLhgxP&pFm;;$oIJy( z!z8i(C@AyJ(F|Lv&bSH2^TDgP{P1p0e&5V~xO%qs4>E7m6NzyJyjc8BA_F7LyV8LR z(F^mIXC+his5(N%M?=N`o{kjAtkW#xUU{~CM;A{8PMkY7x#MwVdhf%=IAq1Bm^*v@hyk7 zq9h_Q&}M}FYo9i9l;hv4xJoc{!|vo|1$w&V7M<+AnO$81>lqfbr==~kBgEfnCq=SJJ;z(28u}|xy zf}-0KwaIJ~2^@P9>iBlMzO>Hk8RAZvj~*G;T0)|57#%LlPEZ|$$XZ7Z_P3(Gcb2}n5+w>Z{xg^HF+ofkS~kyH3nuGnTrE_-LopoLVwc}}<7R2W)vgSHe)FhBlf>eR}nQpj`e5^D7fRy;p z7_hH#eqtdMe!b2W1TyS6VRP;`k#)I-ezj(7d1JKpk7=Jz!)YsZpoIaQ#-KiTIq&v> zhqg0%K6C7w>|k1SD(Ay>vi6?KNMAmp9zP|`;wGF*Ejd)y_Vo3tJ8Y#UrGy!wJpAD; zL%+}Mnw|1LUD0}9(>zt(UW^(8p0@MO%y}65-_bsi)R^tV;$6!A?n2ka*Vn1X+m4m)zKRI9zi*>(O0ODt=LYhRt)Qkn+XF@INu4498S@Gk?9v+~`S1w{7@s`Bre4+tG6n$Q30Jx4 zA3EfS3@^iCBh8%q@@+uh^4R-{$MWQf@!rDEXBNK$L9Ln2V}-cR1<@fzBpO(R5J4Xe zlRxq5j$?_Sho-NmdqsiVC6CkE>$Sd=PWI}VC8v4t9=D}h)1JHUdJ}(wdw6BTZ#lwD z2k7uswzJ)!tlS;W+4QS&T%WoGB>DffQB~iF6P{^Qf+}@VX6F6NqkJe}U=IK`B_P&u z1AYeH0-%nYfz81ZYTb7A#V$5-ZhnTf-sUfP+eN}>H`fdP7pw&xpxNK&!r=f^cH9Lp@hSf6a_4UzHh|11s7fZ(7C9_;T*bqSO-$U-cU`oCRhSR8m}G2i zS(lZUTa11m&Ap}@47exJr+@zZ!TF#4PMLq+f`~MtgqSC^*9ntdqM3N%jfW+i}54NunYrLlNWF9u;*`m3K8VM`Y zSXp>0{{(t$xFmYI_cMrqG}vQ>blt@R_}LOcSa^66XpR7BxIAzS&+BxN$+WAS22C?L zGb}23s$Ws2J@MQg2XBo{Oe_F-9!tOnB=!}MYP-GwctF?$bV&&pWT$31>S+&_=mSdn zrbUR6Z=@=DuOBcl_=6nXKsJf72?TQ2`{i>9Re>~l^&;JS|FzoRi1CY+^Xc-gM{->o z#}U7MvtuNa_*L2kPJzkE)+A-{Px$3A=Up~UaV(XnyZg$*@wmY{pa6RVjD|h&5J|( zS7OHh477Qk`F}vR|8M4{c+Udxqv@ix>XdI&a`}N)097~aIXu{X>}k`T#epQ&9ZOk^ z+~WPh0SE*GLhqfB9h-y*elzfJSXwnM9-*omvl;^rPwZ|JvZ${0AKle`%xfGtK2yX) zdA*;Mg|b~bQKzciyDxH-HvX$AR-6CiCVUsZg}o2}y{5`M?<|VwZ+hg<+V$nwc94k!E*80=r92~gsh6i1uk+BI0ovg(TEu3)F zlE&=e`T!FYngOH=ltF%VcN>Fc-yP^cOdVa(2+1l|I z=W8htG71W8t4_4g_i_xV2sywv|5F~Rypj8Fiu%z$4cnx%P z^hNU56kis&YvL!c0oaCy?jJdI7ymdrB^OJX z7B3tXXHM0E+w6Z9ObeVqqXHfNE?@=!>hFKd!BHf+diB~hY#)~s;9Ee(iVb#8n}pqV z{;~wIPXYFN5VYCBPv=WbLcA~_(NCi{evjXl2EwXQw32L9TIigKmhbg0qs8u-3_L;HSCIcWIflA1l%E3aJ4JUC9JKj#itTdQhGq~9*}#P?%lfw zSWR~*C}e>q;hX^midK`iARsV50DWl*2EIvPUxomuA3m)yjQsc0Iq*JNRAa0++8MmP z-u3KA6s}+82`r3UzI>Yb=y!4mqfCS$cwTZ2CKi@IF(#nn$sR7Rpn#VNTGxDcGeF}-0a)i`K+l?oxeW(c+ww9eH@?(0odt*pF_KEvLvv2nJS59p|voSfXb$a36f z<>0v9Y+J3Os=DH9Q$7i~K}573M4@j82+-K)1bPX%LqoIWhP3p={Da7!6m>joc=c9; zP0usS^h+jMd;je)b?aWk8^LGKMwZb)5GJebGQ7x&+;-;@;`YF@oWyK$T2Vu!l~6^~ zZ=ZTJ@TZ6}E$CO<(vItUu|v?v)8f6=3iUSWuFwp&f7#^d5x-RsA=f|chBtPk@;`IBo-J=-+OZ0TH^X=+f$_)XDw^I z7L#LS5^V!m-M;`Cl~uPBAd-#Yd?F(wBgl+HCv9$(7I=1AVb`|+(~zeZKDl$Op`MQc z`N*8)x&u)^*aQ4P$OCbI2I6)+WAZrl&N0g$5uY!bOXany#PV`?5!;nuqSN@?Q=X_{ z2fcmm;!0O_;o%S)+F}!y?yno#$3s!M<=&Z$3iRZkt^$)U?j9(zLqC+m5_mP@<{7$h z)!)f?eGA<)_m&+dh)iwkGyzf#m~+za-aQ6YXh3LUY6}k!&l=$q4T7So?cqX zRuvO~f2E*@=yjS9InaD89p71qHi{lPhZr9wt*op}d}a|-f(Ct*Gx5Hlc_{>tAvjE$ zC}99eGcX+dsMp^ULfL(}9}^-)c9#WpNGj+3TNYG|`%?u2fMGWV1?!g9AX{|}jS#2x zextTfVo}eDxZ(@A8ff`z1B;36YPaPpw@Af zwtH)?d7laUfSV~h7v%bNJirZd!!A*DKKxwggq<0o;A^8FaZVccbspQ737Eql!4SX0 z)v1+x|NM1lA?6+S6Brn%KGu9m!oDLk^!mfQ4FD&AuV?p57q)SO`#eZDlUR3LsjB;G z)}c}d-Hk8wYbh4-S$v8x@5L^C-iT{Hi_zGT_VZSZ?k9+Bq<_ikI-ggF{VenQo1{cP z4&b{uq1TCmGE}dJ^j)v-f*^w!1dc|<5GL(mwf?_JDP(}bGs;a7bR)`jU;IXP7 zx2+qbKAWrG?(>Mtn7M;v(m#e%KdAldJ|*X64-dr8VZg^x=g@K8_7pbzqc>W}^jb@> z!h2@%F!fe7RTxGvxuE~1!zeDiE%O7x{hM(=Rb2=*;2!kqPK_E47Hx{ReC=5zuQQ30 zkh~8INEuZ09kJm^U&FZm;X)WO3p;jRFoI>tzARSIT|Cyf{l0a_ukUL}&W~%xrq3Qi z4`)9&1C9NXpTFFAI@elI+;p>kHVS~w^Fp*&Unbt&ti|6%w&Ao24x9H}x^MmpnTzhh zyA1u!iNR&BT;~SUZ|}#mKpW8pItmXb#TJ5q@~?572Y-+owi=|8oXd>J19N=jk_-Fu|eR(b+k<#A>pb zz`X9^J0Z^*_VZX{@f8|bQTjEe?>hw`ZMmjD-*HPZsEFrLeIP6+)`+$Z&{COUx$W@c zVPW4+r!Ec2hrKgd`%Ak5FLF1gi^W^dAB)_?G#e&b_2+DE;FOgqQ zRCZAD;x;4`T>pjprruTQ$maz+F`e#K+t(__^!F?i>yi!ZI-q>Vv+5Z z(LXo$L*@DcwcLoGjxvv=P6YjOD1Y#&%YkM0)V!cR!tmI=jq`#L()_M+!C*SwxyxcA zmEWjZdx4WgiZ11rm5x*X`CozaQpu=kA%OUHn}^aT;q99!v_PLnMai{`vABMI^(gMu zqgQfrK|Vrhgr1Fbz=QG%pFTr}~a&^rIt{_BLLLRO_Nf}t-g4)tu~Dh;gPSC}#z zcGth6)^4%Uo5^NKZ?_-di}NGvK$3KI}Bpf9t!_@l(70%yr`xg%mn^*p=N?r$c<_(TlHvbGPZZ5K$kKL6L^o=?^)*#Qa@42Gei%y$vXpx29 zlInVpinPb4>W;4KrN`Rl+4_suKM7t!o*R9-^U}0LX9~wDRv}r9IaS)f>#gG?2#W(L zA*o_MRDj?Pfq;f_0@r$4;99OhuoFoqs%)s6FqdBD&!_;CJ@d<#t049z=?A!#tbZO3 zgQ`9u2jN0Pe|hfC)6M=ZiTW&(N+wqc5)z!3p=EBIbp&tJq|LuO&mDe)rr?Fljuqg& zVCn1&-uZ&W!}ADplm0A#SI6VQrIz|UW%0@PC~GM{-D~H2FZ=mo*M1t1`1N?fqSa@m zEAAC#?~G`)sC5OGwQ`ZsOM=VX&FS#){Ys*|%2n*NVT%%7rJ&@yLAxfCSP*8&JDyX! zNfWW!R6nljv?Y~j)&1$L#r5^sDGhTcG%CCnPP}w!j9}pr# zl}VKbCZIA3%k&=eY$NG2x67-@*hg2t3YPY)dRrCXvyYl`X^{Uk{+*@fhX2ln<;qGx zV}HSU9^6jqk5L93hV>&~VVk6K$vDkQKG(KArg0!kNdymGdfwTNyx#m3&WP4fQ>(SM zs?`2EY6vFnjNtudY?ZcO4uk_AnY6IE4|Mm84D z#S;&2)~O2KTAK>D9Z2|v$M|ll{Kf}5g3{MGP$(4Q2Y>hrK~qN!Q#j|<6(AgKyH>NS zLEob4a{b+#m(@f*j-9h-tW3SK=C2tz)-DOh)EODT3If5G=rZHH*?IQi;RY9VAe;gU z9UmwYX>VM#^{uCdIoMx)jw4~tt9qle`krn=^0W~L&l?)blyLZJ6H->ypTR9!?&{S*gQANr?`j-yhIo9fi;`qII==dSLy+{f> zTq3ik=1{bFT#zP89$AFxoM(0QTK5qZoX3Sim8z%b6d(1qj^@BNT^hX7ItO$d4(BB6 zl>&gl*r-uIdssX}(44TmD+VW2xgCZ%xV7S-a!2SH{^mVSN$v|H-AknK-06H|Vn~L> z>LO8~mvR9R%B3DykYkJY#=s@5s}Wl83l~=}N=^9~mwhLqZSmcxKTWrT>p9Q7 zw6w%G)$GE;*Ax7faR_vTWhE6=dg zZR&r1U;N67(q^vm4~f`55O70#EwR86uM;r%ebw|?2Pr>pP>a>}REhK%Xe{sco`VrX ztsD*UchRO-W#`@d%6{(eQM??~b{i_F;jc@X-|3j2`VGker20182WCVzjqP9>bCOi;3JOmzr8?<>f zfNq+v-@g3>O)G&WOUuipAdlGA(E(B{qW8hwn53mi9q z(Z({l>5a^A(Dq#qY!{s${pg(t;EKyiWyCuFcRrdnxblAz)y17On7;(N%q77vArO9SLW ziOYQsb^-|{Mqq<*@ z7NzKIc0G{?Q^TlQY78(M*A-sLmUxO>X&nvqSh;p4_k~MO(8I?2gpt9Q3j0nnUJ~wM zgXghTuiZ=Hzzx1obNKi@Rl4z^>a}lAT{skcZ-H+|s10A>$k7KiHYAEd*_Je!4 z{|OuRf6H-76pR{!utAayY>IIyB?!)?K)e$n!w3?etTP2(`Kokt!HItc9y~dx*rWI$ zEc&Oqz9tJrDH$R!ek3JlWKq~2jU2~RcvQELzH3oAacNOW&5KcJ7 z@CU#4y56e7^C0HM&{*crRUbr9G1`Jz_!jWw!LNO;8(VNCKU-Hk?^9p&R@iU0=j{+f z!&_W?M^;0V>S(6?IhDMYFe3fM`TOI(r`*OW^WsZ#1}&C+*-cwFBxk^B8{Hd6)`8EX ziL26ja^HVn&d37(Nx%B9H9Mt)PfSeA&5H<%10XAvGh}$U*5@Ytd71%;PJD-@c@x^H zxSzg!Mf6!5eNg`!heZ~7H1&D{)_GhMh?Raxy5J~%{k}u)+P_fwyZ{`#w<8(HA0G9c zmLYn0>=H6KQr>v~kqgbu5*324We7tc_;S?@%ulOi9RT7+qCD%ZQ?Z|S{V|8dW2{Cp zWaE60Oa6d;E!14x_@^B9BcDIVB_YuN`)3eUY3^Z3bHv0$er^7LZ{~l;S76-Jzdq<1 m=ih%MzWsvD{r~kNFX^eQFbrd+OY#u#^-@~?d6A@{|NjM?b-XzM literal 0 HcmV?d00001 diff --git a/docs/img/cli_info.png b/docs/img/cli_info.png new file mode 100644 index 0000000000000000000000000000000000000000..aeef61fd9c73e16fefb9ab570bbd4c6f82fb7ac7 GIT binary patch literal 54621 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 literal 0 HcmV?d00001 diff --git a/docs/img/cli_interactive_initial.png b/docs/img/cli_interactive_initial.png new file mode 100644 index 0000000000000000000000000000000000000000..9a82611803f588d6a963dbc34727c1d3226f1fa6 GIT binary patch literal 55790 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

H;=ym)uEk#B8}nATHpWX{*O(9 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 WfXbHJh5qET$x17pPC8|9`+otX!XCf? literal 0 HcmV?d00001 diff --git a/docs/img/cli_preview.png b/docs/img/cli_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6ff7de91efe8576ce0d114363be93d7daa5e37 GIT binary patch literal 84224 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�F=8l}C^ZLC)+@~k637QOJq{ZQy1CQox- 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 YM=H0Usx`ShDh3}bb6c~Lqh5*s1<5EHLI3~& literal 0 HcmV?d00001 diff --git a/docs/img/dbml.png b/docs/img/dbml.png new file mode 100644 index 0000000000000000000000000000000000000000..124d926d81114b90fd37456a11fce34d768f6e10 GIT binary patch literal 88064 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 m!p+Wp{Jfa^|AF*JQV;@3hIcQ>CeCOEd literal 0 HcmV?d00001 diff --git a/examples/schema.dbml b/examples/schema.dbml index 6f72ce9..ea13236 100644 --- a/examples/schema.dbml +++ b/examples/schema.dbml @@ -79,11 +79,11 @@ Table post_tags { Table comments [note: "Post comments"] { id serial [primary key, note: "Comment ID"] - post_id integer [not null, ref: > posts.id, note: "Reference to post"] - author_id integer [ref: > users.id, note: "Reference to user (null for anonymous)"] - parent_id integer [ref: > comments.id, note: "Reference to parent comment for nested comments"] + post_id integer [not null, note: "Reference to post"] + author_id integer [note: "Reference to user (null for anonymous)"] + parent_id integer [note: "Reference to parent comment for nested comments"] content text [not null, note: "Comment content"] - author_name2 text [note: "Name for anonymous comments"] + author_name text [note: "Name for anonymous comments"] author_email text [note: "Email for anonymous comments"] is_approved boolean [not null, default: False, note: "Is comment approved by moderator"] created_at timestamp [not null, note: "Comment creation timestamp"] diff --git a/pyproject.toml b/pyproject.toml index 5ef4ef0..ac04467 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,46 @@ [project] name = "dbml-to-sqlmodel" -version = "0.1.0" -description = "Generate SQLModel models and FastAPI CRUD from DBML schema" +dynamic = ["version"] +description = "Generate FastAPI + SQLModel + FastCRUD + SQLAdmin applications from a DBML schema" readme = "README.md" license = "MIT" +license-files = ["LICENSE"] requires-python = ">=3.11" +authors = [ + { name = "azhig", email = "azhig.dev@gmail.com" }, +] +maintainers = [ + { name = "azhig", email = "azhig.dev@gmail.com" }, +] +keywords = [ + "dbml", + "sqlmodel", + "fastapi", + "fastcrud", + "sqladmin", + "code-generation", + "scaffold", + "crud", + "orm", + "database", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Software Development :: Code Generators", + "Topic :: Internet :: WWW/HTTP :: HTTP Servers", + "Typing :: Typed", +] dependencies = [ "pydbml>=1.2.1", "typer>=0.17.0", @@ -14,11 +50,19 @@ dependencies = [ "unidiff>=0.7.5", ] +[project.urls] +Homepage = "https://github.com/azhig/dbml-to-sqlmodel" +Repository = "https://github.com/azhig/dbml-to-sqlmodel" +Documentation = "https://github.com/azhig/dbml-to-sqlmodel/blob/main/docs/CLI_GUIDE.md" +Changelog = "https://github.com/azhig/dbml-to-sqlmodel/blob/main/CHANGELOG.md" +Issues = "https://github.com/azhig/dbml-to-sqlmodel/issues" + [project.optional-dependencies] runtime = [ "aiosqlite>=0.22.1", "fastapi[all]>=0.128.0", "fastcrud>=0.20.1", + "greenlet>=3.0.0", "sqladmin>=0.22.0", "sqlmodel>=0.0.31", ] @@ -43,6 +87,25 @@ dbml2sm = "dbml_to_sqlmodel.cli:app" requires = ["hatchling"] build-backend = "hatchling.build" +[tool.hatch.version] +path = "src/dbml_to_sqlmodel/__init__.py" + +[tool.hatch.build.targets.wheel] +packages = ["src/dbml_to_sqlmodel"] + +[tool.hatch.build.targets.sdist] +include = [ + "src/dbml_to_sqlmodel", + "tests", + "examples", + "docs", + "README.md", + "CHANGELOG.md", + "CONTRIBUTING.md", + "LICENSE", + "Makefile", +] + [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] @@ -149,11 +212,3 @@ module = [ "unidiff.*", ] ignore_missing_imports = true - -[[tool.mypy.overrides]] -module = "dbml_to_sqlmodel.sqlmodel_to_dbml" -disable_error_code = ["assignment", "arg-type"] - -[[tool.mypy.overrides]] -module = "dbml_to_sqlmodel.generate_app" -ignore_errors = true diff --git a/src/__init__.py b/src/__init__.py deleted file mode 100644 index bc30b8e..0000000 --- a/src/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -"""DBML to Code Generator - FastAPI application generator from DBML schemas.""" - -__version__ = "0.1.0" diff --git a/src/dbml_to_sqlmodel/cli.py b/src/dbml_to_sqlmodel/cli.py index 9d3545e..58572ec 100644 --- a/src/dbml_to_sqlmodel/cli.py +++ b/src/dbml_to_sqlmodel/cli.py @@ -1,6 +1,5 @@ """Interactive CLI for DBML to SQLModel Generator.""" -import sys from pathlib import Path from typing import Annotated @@ -11,13 +10,11 @@ from rich.panel import Panel from rich.table import Table +from . import __version__ from .commands import code_to_dbml, generate, info, preview from .core import ConfigManager from .sqlmodel_to_dbml import apply_dbml_table_updates -# Add parent directory to path to import from src -sys.path.insert(0, str(Path(__file__).parent.parent)) - console = Console() config_manager = ConfigManager() @@ -379,8 +376,26 @@ def handle_code_to_dbml(): # pragma: no cover console.print("[green]DBML saved[/green]") +def _version_callback(value: bool) -> None: + if value: + console.print(f"dbml-to-sqlmodel {__version__}") + raise typer.Exit() + + @cli.callback(invoke_without_command=True) -def main(ctx: typer.Context): +def main( + ctx: typer.Context, + version: Annotated[ + bool | None, + typer.Option( + "--version", + "-V", + help="Show the version and exit.", + callback=_version_callback, + is_eager=True, + ), + ] = None, +): """DBML to SQLModel Generator - interactive mode or subcommands.""" if ctx.invoked_subcommand is None: # No subcommand provided, run interactive menu diff --git a/src/dbml_to_sqlmodel/constants.py b/src/dbml_to_sqlmodel/constants.py index 6edd841..13b8651 100644 --- a/src/dbml_to_sqlmodel/constants.py +++ b/src/dbml_to_sqlmodel/constants.py @@ -1,25 +1,11 @@ """Project-wide constants.""" -# Default paths -DEFAULT_SCHEMA_PATH = "examples/schema.dbml" -DEFAULT_OUTPUT_DIR = "output" +# Configuration file name (stored in the working directory) CONFIG_FILE = ".dbml_to_sqlmodel" -# File markers +# Marker used to protect manually edited generated files from being overwritten USER_FILE_MARKER = "# USER_MODIFIED" PROTECTED_FILE_WARNING = """# USER_MODIFIED # This file has been manually modified and is protected from regeneration. # Remove this marker if you want to allow regeneration. """ - -# Server defaults -DEFAULT_SERVER_PORT = 8001 -DEFAULT_SERVER_HOST = "0.0.0.0" - -# Admin panel -ADMIN_PATH = "/admin" -ADMIN_TITLE = "Admin Panel" - -# Database -DEFAULT_DB_NAME = "app.db" -DEFAULT_DB_URL_TEMPLATE = "sqlite:///{db_name}" diff --git a/src/dbml_to_sqlmodel/core/code_generator.py b/src/dbml_to_sqlmodel/core/code_generator.py index 4ae5bac..6bbe13c 100644 --- a/src/dbml_to_sqlmodel/core/code_generator.py +++ b/src/dbml_to_sqlmodel/core/code_generator.py @@ -3,7 +3,7 @@ from typing import Any from ..models.schema import TableInfo -from ..utils.type_mapping import get_python_type +from ..utils.type_mapping import get_datetime_imports, get_python_type def to_class_name(name: str) -> str: @@ -11,6 +11,21 @@ def to_class_name(name: str) -> str: return "".join(part.capitalize() for part in name.split("_") if part) +def _singularize(name: str) -> str: + """Best-effort singularization for relationship attribute names. + + Handles the common English plural endings without corrupting singular + nouns that happen to end in ``s`` (e.g. ``status`` stays ``status``). + """ + if name.endswith("ies") and len(name) > 3: + return name[:-3] + "y" + if name.endswith(("ses", "xes", "zes", "ches", "shes")): + return name[:-2] + if name.endswith("s") and not name.endswith(("ss", "us", "is")): + return name[:-1] + return name + + def _format_default_value(value: Any) -> str: """Format default value for Python code.""" if isinstance(value, bool): @@ -43,24 +58,32 @@ def generate_single_model( if column.note: field_descriptions[column.name] = column.note - # Collect relationships for this table + # Collect relationships for this table. + # related_tables holds the *snake_case* target table names (used for both the + # sibling module path and, via to_class_name, the referenced class name). table_relationships = [] - related_models = set() # Track which models need to be imported + related_tables: set[str] = set() enum_types = {to_class_name(col.type) for col in table.columns if col.type in enums} for column in table.columns: if column.references: target_table, target_col = column.references[0] if target_table != table.name or target_col != column.name: - rel_name = target_table.rstrip("s") + rel_name = _singularize(target_table) table_relationships.append((column.name, rel_name, target_table)) - related_models.add(target_table.capitalize()) + related_tables.add(target_table) # Check if uuid is needed (for string primary keys) needs_uuid = any( col.primary_key and get_python_type(col.type) == "str" for col in table.columns ) + # Standard-library datetime imports needed for temporal columns + used_python_types = { + get_python_type(col.type) for col in table.columns if col.type not in enums + } + datetime_imports = get_datetime_imports(used_python_types) + # Generate imports with TYPE_CHECKING block sqlmodel_imports = ["SQLModel", "Field"] if table_relationships: @@ -69,18 +92,19 @@ def generate_single_model( imports = f"""from sqlmodel import {", ".join(sqlmodel_imports)} from typing import Optional, TYPE_CHECKING """ + if datetime_imports: + imports += f"from datetime import {', '.join(datetime_imports)}\n" if enum_types: imports += f"from ..enums import {', '.join(sorted(enum_types))}\n" if needs_uuid: imports += "import uuid\n" imports += "\n" - if related_models: + if related_tables: imports += "if TYPE_CHECKING:\n" - for model in sorted(related_models): - # Import from sibling module - model_module = model.lower() - imports += f" from ..{model_module}.model import {model}\n" + for target_table in sorted(related_tables): + # Import the related model class from its sibling module + imports += f" from ..{target_table}.model import {to_class_name(target_table)}\n" imports += "\n" else: imports += """if TYPE_CHECKING: @@ -104,7 +128,8 @@ def generate_single_model( model_code = [] # Generate Base class with common fields - base_class_name = f"{table.name.capitalize()}Base" + table_class_name = to_class_name(table.name) + base_class_name = f"{table_class_name}Base" base_class_def = [f"class {base_class_name}(SQLModel):"] has_base_fields = False @@ -156,7 +181,6 @@ def generate_single_model( model_code.append("\n".join(base_class_def) + "\n") # Generate main table model (inherits from Base) - table_class_name = table.name.capitalize() class_def = [f"class {table_class_name}({base_class_name}, table=True):"] if table.note: note_escaped = table.note.replace('"""', '\\"\\"\\"') @@ -199,7 +223,7 @@ def generate_single_model( else: class_def.append("") for fk_col, rel_name, target_table in table_relationships: - target_class = target_table.capitalize() + target_class = to_class_name(target_table) is_nullable = any(c.name == fk_col and c.nullable for c in table.columns) rel_type = f'Optional["{target_class}"]' if is_nullable else f'"{target_class}"' class_def.append(f" {rel_name}: {rel_type} = Relationship()") diff --git a/src/dbml_to_sqlmodel/core/config.py b/src/dbml_to_sqlmodel/core/config.py index d77758f..a4fbea7 100644 --- a/src/dbml_to_sqlmodel/core/config.py +++ b/src/dbml_to_sqlmodel/core/config.py @@ -3,6 +3,8 @@ import json from pathlib import Path +from pydantic import ValidationError + from ..constants import CONFIG_FILE from ..models.config_models import AppConfig @@ -25,8 +27,8 @@ def load(self) -> AppConfig: try: data = json.loads(self.config_path.read_text(encoding="utf-8")) self._config = AppConfig(**data) - except Exception: - # If config is corrupted, create new one + except (json.JSONDecodeError, ValidationError, TypeError, OSError): + # If the config is corrupted or unreadable, recreate the default one self._config = AppConfig() self.save() else: diff --git a/src/dbml_to_sqlmodel/core/parser.py b/src/dbml_to_sqlmodel/core/parser.py index bf27215..492abe6 100644 --- a/src/dbml_to_sqlmodel/core/parser.py +++ b/src/dbml_to_sqlmodel/core/parser.py @@ -2,8 +2,11 @@ import re import warnings +from collections.abc import Iterator from typing import Any +from ..models.schema import ColumnInfo, RelationshipInfo, TableInfo + # Suppress pyparsing deprecation warnings from pydbml library # pydbml uses old pyparsing API (camelCase) which triggers deprecation warnings # in pyparsing 3.3+. These warnings occur during module import when pydbml @@ -29,10 +32,6 @@ def PyDBML(content: str) -> Any: return _PyDBML(content) -from ..integrations import setdefaultattr -from ..models.schema import ColumnInfo, RelationshipInfo, TableInfo - - def parse_dbml(dbml_content: str) -> list[TableInfo]: """Parse DBML content using PyDBML into structured table definitions.""" raw_types = extract_dbml_types(dbml_content) @@ -40,35 +39,28 @@ def parse_dbml(dbml_content: str) -> list[TableInfo]: parsed = PyDBML(dbml_content) tables = [] - # Process references first to handle foreign keys - for ref in parsed.refs: # type: ignore - if ref.type == ">": - for col in ref.col1: - col_refs = setdefaultattr(col, "references", []) - col_refs.append(ref) - elif ref.type == "<": - for col in ref.col2: - col_refs = setdefaultattr(col, "references", []) - col_refs.append(ref) - - for table in parsed.tables: # type: ignore + # Map each source column to the foreign-key refs that originate from it, + # keyed by object identity so the PyDBML objects are never mutated. + column_refs: dict[int, list] = {} + for ref in parsed.refs: + source_cols = ref.col1 if ref.type == ">" else ref.col2 if ref.type == "<" else [] + for col in source_cols: + column_refs.setdefault(id(col), []).append(ref) + + for table in parsed.tables: columns = [] for column in table.columns: col_type = column.type if hasattr(col_type, "name"): - col_type = col_type.name # type: ignore + col_type = col_type.name # Handle references references = [] - if hasattr(column, "references"): - for ref in column.references: # type: ignore - if ref.type == ">": - target_table = ref.table2.name - target_col = ref.col2[0].name - else: - target_table = ref.table1.name - target_col = ref.col1[0].name - references.append((target_table, target_col)) + for ref in column_refs.get(id(column), []): + if ref.type == ">": + references.append((ref.table2.name, ref.col2[0].name)) + else: + references.append((ref.table1.name, ref.col1[0].name)) # Extract note note_text = None @@ -131,9 +123,14 @@ def parse_dbml(dbml_content: str) -> list[TableInfo]: return tables -def extract_dbml_types(dbml_content: str) -> dict[str, dict[str, str]]: - """Extract raw column types from DBML text for stable round-tripping.""" - table_types: dict[str, dict[str, str]] = {} +def _iter_column_lines(dbml_content: str) -> Iterator[tuple[str, str]]: + """Yield ``(table_name, column_line)`` for each column definition in the text. + + Comments are stripped and table headers / notes / indexes / refs are skipped. + This lightweight scan recovers raw types and defaults that PyDBML normalizes + away, which is needed for stable round-tripping. Shared by + :func:`extract_dbml_types` and :func:`extract_dbml_defaults`. + """ current_table: str | None = None pending_table: str | None = None @@ -144,18 +141,15 @@ def extract_dbml_types(dbml_content: str) -> dict[str, dict[str, str]]: table_match = re.match(r"(?i)^table\s+([A-Za-z_][\w]*)", stripped) if table_match and current_table is None: - table_name = table_match.group(1) if "{" in stripped: - current_table = table_name - table_types.setdefault(current_table, {}) + current_table = table_match.group(1) else: - pending_table = table_name + pending_table = table_match.group(1) continue if pending_table and "{" in stripped: current_table = pending_table pending_table = None - table_types.setdefault(current_table, {}) continue if current_table: @@ -163,95 +157,53 @@ def extract_dbml_types(dbml_content: str) -> dict[str, dict[str, str]]: current_table = None continue - lowered = stripped.lower() - if ( - lowered.startswith("note:") - or lowered.startswith("indexes") - or lowered.startswith("ref") - ): + if stripped.lower().startswith(("note:", "indexes", "ref")): continue line_no_comment = stripped.split("//", 1)[0].strip() if not line_no_comment: # pragma: no cover continue - parts = line_no_comment.split("[", 1)[0].strip() - tokens = parts.split() - if len(tokens) < 2: - continue + yield current_table, line_no_comment - col_name = tokens[0] - col_type = " ".join(tokens[1:]) - table_types[current_table][col_name] = col_type +def extract_dbml_types(dbml_content: str) -> dict[str, dict[str, str]]: + """Extract raw column types from DBML text for stable round-tripping.""" + table_types: dict[str, dict[str, str]] = {} + for table_name, line in _iter_column_lines(dbml_content): + table_types.setdefault(table_name, {}) + tokens = line.split("[", 1)[0].split() + if len(tokens) < 2: + continue + table_types[table_name][tokens[0]] = " ".join(tokens[1:]) return table_types def extract_dbml_defaults(dbml_content: str) -> dict[str, dict[str, Any]]: """Extract raw defaults from DBML text.""" table_defaults: dict[str, dict[str, Any]] = {} - current_table: str | None = None - pending_table: str | None = None - - for line in dbml_content.splitlines(): - stripped = line.strip() - if not stripped or stripped.startswith("//"): + for table_name, line in _iter_column_lines(dbml_content): + table_defaults.setdefault(table_name, {}) + if "[" not in line or "]" not in line: continue - table_match = re.match(r"(?i)^table\s+([A-Za-z_][\w]*)", stripped) - if table_match and current_table is None: - table_name = table_match.group(1) - if "{" in stripped: - current_table = table_name - table_defaults.setdefault(current_table, {}) - else: - pending_table = table_name + before_attrs, attrs = line.split("[", 1) + attrs = attrs.split("]", 1)[0] + tokens = before_attrs.split() + if len(tokens) < 2: continue - if pending_table and "{" in stripped: - current_table = pending_table - pending_table = None - table_defaults.setdefault(current_table, {}) - continue - - if current_table: - if stripped.startswith("}"): - current_table = None - continue - - lowered = stripped.lower() - if ( - lowered.startswith("note:") - or lowered.startswith("indexes") - or lowered.startswith("ref") - ): + col_name = tokens[0] + for part in attrs.split(","): + if "default" not in part: continue - - line_no_comment = stripped.split("//", 1)[0].strip() - if not line_no_comment: # pragma: no cover + key, sep, value = part.partition(":") + if not sep: + key, sep, value = part.partition("=") + if key.strip() != "default": continue - - if "[" not in line_no_comment or "]" not in line_no_comment: - continue - - before_attrs, attrs = line_no_comment.split("[", 1) - attrs = attrs.split("]", 1)[0] - tokens = before_attrs.split() - if len(tokens) < 2: - continue - - col_name = tokens[0] - for part in attrs.split(","): - if "default" not in part: - continue - key, _, value = part.partition(":") - if not _: - key, _, value = part.partition("=") - if key.strip() != "default": - continue - default_value = _parse_default_value(value) - table_defaults[current_table][col_name] = default_value - break + table_defaults[table_name][col_name] = _parse_default_value(value) + break return table_defaults diff --git a/src/dbml_to_sqlmodel/generate_app.py b/src/dbml_to_sqlmodel/generate_app.py deleted file mode 100644 index b066616..0000000 --- a/src/dbml_to_sqlmodel/generate_app.py +++ /dev/null @@ -1,391 +0,0 @@ -import argparse -import os -import re -import sys - -from .core import parse_dbml, parse_dbml_enums -from .generator import generate_enums_file - - -def generate_crud_router(table): - """Generate CRUD router for a single table""" - model_name = table.name.capitalize() - router_name = f"{table.name}_router" - - code = f"""from fastcrud import crud_router -from .model import {model_name}, {model_name}Create, {model_name}Update - - -def create_{table.name}_router(get_session_func): - \"\"\"Create CRUD router with session dependency\"\"\" - return crud_router( - model={model_name}, - create_schema={model_name}Create, - update_schema={model_name}Update, - path='/{table.name}', - tags=['{table.name}'], - session=get_session_func - ) - - -# This will be initialized in main.py -{router_name} = None -""" - return code - - -def generate_admin_views(tables, admin_auth_enabled=False): - imports = "\n".join( - [f"from models.{table.name} import {table.name.capitalize()}" for table in tables] - ) - - if admin_auth_enabled: - admin_imports = """import os - -from sqladmin import Admin, ModelView -from sqladmin.authentication import AuthenticationBackend -from starlette.middleware.sessions import SessionMiddleware -""" - auth_block = """class AdminAuth(AuthenticationBackend): - async def login(self, request): - form = await request.form() - if ( - form.get("username") == os.getenv("ADMIN_USER") - and form.get("password") == os.getenv("ADMIN_PASS") - ): - request.session.update({"admin": True}) - return True - return False - - async def logout(self, request): - request.session.clear() - return True - - async def authenticate(self, request): - return bool(request.session.get("admin")) - -""" - init_admin_header = """def init_admin(app, engine): - app.add_middleware(SessionMiddleware, secret_key=os.getenv("ADMIN_SECRET", "change-me")) - auth = AdminAuth(secret_key=os.getenv("ADMIN_SECRET", "change-me")) - admin = Admin(app, engine, authentication_backend=auth) - -""" - else: - admin_imports = "from sqladmin import Admin, ModelView\n" - auth_block = "" - init_admin_header = """def init_admin(app, engine): - admin = Admin(app, engine) - -""" - - code = f"""{admin_imports} - -{imports} - -# Default icons for different table types -DEFAULT_ICONS = {{ - 'user': 'fa-solid fa-user', - 'product': 'fa-solid fa-box', - 'order': 'fa-solid fa-shopping-cart', - 'team': 'fa-solid fa-users', - 'skill': 'fa-solid fa-star', - 'scenario': 'fa-solid fa-diagram-project', - 'function': 'fa-solid fa-code', - 'status': 'fa-solid fa-circle-check', - 'stage': 'fa-solid fa-layer-group', - 'action': 'fa-solid fa-bolt', - 'default': 'fa-solid fa-table' -}} - -def get_icon_for_table(table_name): - \"\"\"Select icon based on table name\"\"\" - name_lower = table_name.lower() - for keyword, icon in DEFAULT_ICONS.items(): - if keyword in name_lower: - return icon - return DEFAULT_ICONS['default'] - -{auth_block}{init_admin_header}""" - for table in tables: - model_name = table.name.capitalize() - - code += f" class {model_name}Admin(ModelView, model={model_name}):\n" - code += f" name = '{model_name}'\n" - code += f" name_plural = '{model_name}'\n" - code += f" icon = get_icon_for_table('{table.name}')\n" - code += f" column_list = [c.name for c in {model_name}.__table__.columns]\n" - - # Add column_labels from notes - labels = {c.name: c.note for c in table.columns if c.note} - if labels: - code += " column_labels = {\n" - for col_name, note in labels.items(): - note_escaped = note.replace("'", "\\'") - code += f" '{col_name}': '{note_escaped}',\n" - code += " }\n" - - # Enable sorting for all columns - sortable_columns = [c.name for c in table.columns] - code += f" column_sortable_list = {sortable_columns}\n" - - # Add search for text fields - text_types = ["varchar", "text", "string", "str", "char"] - searchable_columns = [ - c.name for c in table.columns if any(t in c.type.lower() for t in text_types) - ] - if searchable_columns: - code += f" column_searchable_list = {searchable_columns}\n" - - code += f"\n admin.add_view({model_name}Admin)\n\n" - - code += " return admin\n" - return code - - -def _extract_enums_from_text(dbml_content: str) -> dict[str, list[str]]: - enums: dict[str, list[str]] = {} - current: str | None = None - - for line in dbml_content.splitlines(): - stripped = line.strip() - if not stripped or stripped.startswith("//"): - continue - - enum_match = re.match(r"(?i)^enum\s+([A-Za-z_][\w]*)", stripped) - if enum_match and current is None: - enum_name = enum_match.group(1) - enums.setdefault(enum_name, []) - current = enum_name - continue - - if current: - if "}" in stripped: - current = None - continue - value = stripped.split("//", 1)[0].strip().strip(",") - if value: - enums[current].append(value) - - return enums - - -def generate_main_app(tables): - router_imports = "\n".join( - [f"from models.{table.name} import create_{table.name}_router" for table in tables] - ) - router_creates = "\n".join( - [f"{table.name}_router = create_{table.name}_router(get_session)" for table in tables] - ) - router_includes = "\n".join([f"app.include_router({table.name}_router)" for table in tables]) - - return f"""from fastapi import FastAPI -from sqlalchemy.ext.asyncio import create_async_engine -from sqlmodel.ext.asyncio.session import AsyncSession -from sqlmodel import SQLModel -from typing import AsyncGenerator -from dotenv import load_dotenv - - -load_dotenv() - - -DATABASE_URL = "sqlite+aiosqlite:///./database.db" - -# Database engine with basic configuration suitable for development -# For production deployments, consider tuning these parameters: -# pool_size - number of connections to keep open (default: 5) -# max_overflow - max connections beyond pool_size (default: 10) -# pool_pre_ping - verify connections before using (recommended for production) -# pool_recycle - recycle connections after N seconds (e.g., 3600) -# echo - set to False in production to reduce logging -# Example for production: -# engine = create_async_engine( -# DATABASE_URL, -# echo=False, -# pool_size=20, -# max_overflow=10, -# pool_pre_ping=True, -# pool_recycle=3600 -# ) -engine = create_async_engine(DATABASE_URL, echo=False) - - -# Define dependency for session -async def get_session() -> AsyncGenerator[AsyncSession, None]: - async with AsyncSession(engine) as session: - yield session - - -app = FastAPI() - - -# Create database tables -async def init_db(): - async with engine.begin() as conn: - await conn.run_sync(SQLModel.metadata.create_all) - - -@app.on_event("startup") -async def startup(): - await init_db() - - -# Import router factories AFTER get_session is defined -{router_imports} -from admin import init_admin - -# Create CRUD routers with session dependency -{router_creates} - -# Include all CRUD routers -{router_includes} - -# Mount admin panel -init_admin(app, engine) - - -@app.get("/") -def read_root(): - return {{"message": "FastAPI app generated from DBML"}} - - -if __name__ == "__main__": - import uvicorn - uvicorn.run(app, host="0.0.0.0", port=8001) -""" - - -def generate_requirements(): - return """fastapi>=0.104.0 -sqlmodel[async]>=0.0.14 -sqladmin>=1.4.0 -fastcrud>=0.6.0 -uvicorn[standard]>=0.23.0 -aiosqlite>=0.19.0 -python-dotenv>=1.0.0 -""" - - -def generate_model_init(table): - """Generate __init__.py for model directory""" - model_name = table.name.capitalize() - return f"""from .model import {model_name}, {model_name}Create, {model_name}Update -from .crud import create_{table.name}_router - -__all__ = [ - "{model_name}", - "{model_name}Create", - "{model_name}Update", - "create_{table.name}_router", -] -""" - - -def generate_models_root_init(tables): - """Generate root __init__.py for models directory""" - imports = [] - all_exports = [] - - for table in tables: - model_name = table.name.capitalize() - imports.append( - f"from .{table.name} import {model_name}, {model_name}Create, {model_name}Update, create_{table.name}_router" - ) - all_exports.extend( - [ - f' "{model_name}"', - f' "{model_name}Create"', - f' "{model_name}Update"', - f' "create_{table.name}_router"', - ] - ) - - return "\n".join(imports) + "\n\n__all__ = [\n" + ",\n".join(all_exports) + "\n]\n" - - -def main(): - parser = argparse.ArgumentParser(description="Generate FastAPI app from DBML") - parser.add_argument("dbml_file", type=str, help="Path to DBML file") - parser.add_argument( - "-o", - "--output", - type=str, - default="output", - help="Output directory for generated files (default: output)", - ) - parser.add_argument( - "--admin-auth", - action="store_true", - help="Require login for SQLAdmin panel", - ) - args = parser.parse_args() - - with open(args.dbml_file) as f: - dbml_content = f.read() - - tables = parse_dbml(dbml_content) - enums = parse_dbml_enums(dbml_content) - if not enums: - enums = _extract_enums_from_text(dbml_content) - if not tables: - print("Error: No tables found in DBML file") - sys.exit(1) - - # Create output directory - output_dir = args.output - os.makedirs(output_dir, exist_ok=True) - - # Create models directory - models_dir = os.path.join(output_dir, "models") - os.makedirs(models_dir, exist_ok=True) - - # Generate each model in its own subdirectory - from dbml_to_sqlmodel import generate_single_model - - for table in tables: - # Create model subdirectory - model_dir = os.path.join(models_dir, table.name) - os.makedirs(model_dir, exist_ok=True) - - # Create model.py - with open(os.path.join(model_dir, "model.py"), "w") as f: - f.write(generate_single_model(table, tables, enums=enums)) - - # Create crud.py - with open(os.path.join(model_dir, "crud.py"), "w") as f: - f.write(generate_crud_router(table)) - - # Create __init__.py - with open(os.path.join(model_dir, "__init__.py"), "w") as f: - f.write(generate_model_init(table)) - - # Create root models __init__.py - with open(os.path.join(models_dir, "__init__.py"), "w") as f: - f.write(generate_models_root_init(tables)) - - if enums: - with open(os.path.join(models_dir, "enums.py"), "w") as f: - f.write(generate_enums_file(enums)) - - # Create admin.py - with open(os.path.join(output_dir, "admin.py"), "w") as f: - f.write(generate_admin_views(tables, admin_auth_enabled=args.admin_auth)) - - # Create main.py - with open(os.path.join(output_dir, "main.py"), "w") as f: - f.write(generate_main_app(tables)) - - print(f"Successfully generated FastAPI app with {len(tables)} models") - print(f"Output directory: {output_dir}") - print(f"Structure: models/{'{table_name}'}/(model.py, crud.py, __init__.py)") - - # Create requirements.txt - with open(os.path.join(output_dir, "requirements.txt"), "w") as f: - f.write(generate_requirements()) - - print("Files created: requirements.txt") - - -if __name__ == "__main__": # pragma: no cover - main() diff --git a/src/dbml_to_sqlmodel/generator.py b/src/dbml_to_sqlmodel/generator.py index d5bcaad..27e0a4a 100644 --- a/src/dbml_to_sqlmodel/generator.py +++ b/src/dbml_to_sqlmodel/generator.py @@ -1,14 +1,12 @@ """Generator functions for creating FastAPI application files.""" -import re - from .core import generate_single_model, parse_dbml, parse_dbml_enums, to_class_name from .models import TableInfo def generate_crud_router(table: TableInfo) -> str: """Generate CRUD router for a single table.""" - model_name = table.name.capitalize() + model_name = to_class_name(table.name) router_name = f"{table.name}_router" return f"""from fastcrud import crud_router @@ -35,11 +33,12 @@ def create_{table.name}_router(get_session_func): def generate_admin_views(tables: list[TableInfo], admin_auth_enabled: bool = False) -> str: """Generate SQLAdmin views for all tables.""" imports = "\n".join( - [f"from models.{table.name} import {table.name.capitalize()}" for table in tables] + [f"from models.{table.name} import {to_class_name(table.name)}" for table in tables] ) if admin_auth_enabled: admin_imports = """import os +import secrets from sqladmin import Admin, ModelView from sqladmin.authentication import AuthenticationBackend @@ -48,9 +47,13 @@ def generate_admin_views(tables: list[TableInfo], admin_auth_enabled: bool = Fal auth_block = """class AdminAuth(AuthenticationBackend): async def login(self, request): form = await request.form() - if ( - form.get("username") == os.getenv("ADMIN_USER") - and form.get("password") == os.getenv("ADMIN_PASS") + username = str(form.get("username") or "") + password = str(form.get("password") or "") + expected_user = os.getenv("ADMIN_USER") or "" + expected_pass = os.getenv("ADMIN_PASS") or "" + # Constant-time comparison to avoid leaking credentials via timing + if secrets.compare_digest(username, expected_user) and secrets.compare_digest( + password, expected_pass ): request.session.update({"admin": True}) return True @@ -107,7 +110,7 @@ def get_icon_for_table(table_name): {auth_block}{init_admin_header}""" for table in tables: - model_name = table.name.capitalize() + model_name = to_class_name(table.name) code += f" class {model_name}Admin(ModelView, model={model_name}):\n" code += f" name = '{model_name}'\n" @@ -152,20 +155,24 @@ def generate_main_app(tables: list[TableInfo]) -> str: ) router_includes = "\n".join([f"app.include_router({table.name}_router)" for table in tables]) - return f"""from fastapi import FastAPI + return f"""import os +from contextlib import asynccontextmanager +from typing import AsyncGenerator + +from fastapi import FastAPI from sqlalchemy.ext.asyncio import create_async_engine -from sqlmodel.ext.asyncio.session import AsyncSession from sqlmodel import SQLModel -from typing import AsyncGenerator +from sqlmodel.ext.asyncio.session import AsyncSession from dotenv import load_dotenv load_dotenv() -DATABASE_URL = "sqlite+aiosqlite:///./database.db" +# Read the database URL from the environment (.env), with a sensible default. +DATABASE_URL = os.getenv("DATABASE_URL", "sqlite+aiosqlite:///./database.db") -# Database engine with basic configuration suitable for development +# Database engine with basic configuration suitable for development. # For production deployments, consider tuning these parameters: # pool_size - number of connections to keep open (default: 5) # max_overflow - max connections beyond pool_size (default: 10) @@ -190,24 +197,24 @@ async def get_session() -> AsyncGenerator[AsyncSession, None]: yield session -app = FastAPI() - - -# Create database tables -async def init_db(): +# Create database tables on startup using the modern lifespan API +async def init_db() -> None: async with engine.begin() as conn: await conn.run_sync(SQLModel.metadata.create_all) -@app.on_event("startup") -async def startup(): +@asynccontextmanager +async def lifespan(app: FastAPI): await init_db() + yield # Import router factories AFTER get_session is defined {router_imports} from admin import init_admin +app = FastAPI(lifespan=lifespan) + # Create CRUD routers with session dependency {router_creates} @@ -231,19 +238,20 @@ def read_root(): def generate_requirements() -> str: """Generate requirements.txt content.""" - return """fastapi>=0.104.0 -sqlmodel[async]>=0.0.14 -sqladmin>=1.4.0 -fastcrud>=0.6.0 -uvicorn[standard]>=0.23.0 -aiosqlite>=0.19.0 + return """fastapi[all]>=0.128.0 +sqlmodel>=0.0.31 +sqladmin>=0.22.0 +fastcrud>=0.20.1 +uvicorn[standard]>=0.30.0 +aiosqlite>=0.20.0 python-dotenv>=1.0.0 +greenlet>=3.0.0 """ def generate_model_init(table: TableInfo) -> str: """Generate __init__.py for model directory.""" - model_name = table.name.capitalize() + model_name = to_class_name(table.name) return f"""from .model import {model_name}, {model_name}Create, {model_name}Update from .crud import create_{table.name}_router @@ -262,7 +270,7 @@ def generate_models_root_init(tables: list[TableInfo]) -> str: all_exports = [] for table in tables: - model_name = table.name.capitalize() + model_name = to_class_name(table.name) imports.append( f"from .{table.name} import {model_name}, {model_name}Create, {model_name}Update, create_{table.name}_router" ) @@ -295,33 +303,6 @@ def generate_enums_file(enums: dict[str, list[str]]) -> str: return "\n".join(lines).rstrip() + "\n" -def _extract_enums_from_text(dbml_content: str) -> dict[str, list[str]]: - enums: dict[str, list[str]] = {} - current: str | None = None - - for line in dbml_content.splitlines(): - stripped = line.strip() - if not stripped or stripped.startswith("//"): - continue - - enum_match = re.match(r"(?i)^enum\s+([A-Za-z_][\w]*)", stripped) - if enum_match and current is None: - enum_name = enum_match.group(1) - enums.setdefault(enum_name, []) - current = enum_name - continue - - if current: - if "}" in stripped: - current = None - continue - value = stripped.split("//", 1)[0].strip().strip(",") - if value: - enums[current].append(value) - - return enums - - def generate_all_files(dbml_content: str, admin_auth_enabled: bool = False) -> dict[str, str]: """ Generate all application files from DBML content. @@ -330,9 +311,9 @@ def generate_all_files(dbml_content: str, admin_auth_enabled: bool = False) -> d Dict mapping relative file paths to their content """ tables = parse_dbml(dbml_content) + # parse_dbml_enums already parses enums from the raw text first, then falls + # back to PyDBML, so no extra text-extraction pass is needed here. enums = parse_dbml_enums(dbml_content) - if not enums: - enums = _extract_enums_from_text(dbml_content) if not tables: raise ValueError("No tables found in DBML file") diff --git a/src/dbml_to_sqlmodel/integrations/__init__.py b/src/dbml_to_sqlmodel/integrations/__init__.py deleted file mode 100644 index ab4b030..0000000 --- a/src/dbml_to_sqlmodel/integrations/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -"""External integrations package.""" - -from .pydbml_adapter import setdefaultattr - -__all__ = ["setdefaultattr"] diff --git a/src/dbml_to_sqlmodel/integrations/pydbml_adapter.py b/src/dbml_to_sqlmodel/integrations/pydbml_adapter.py deleted file mode 100644 index 24c886e..0000000 --- a/src/dbml_to_sqlmodel/integrations/pydbml_adapter.py +++ /dev/null @@ -1,22 +0,0 @@ -"""PyDBML library adapter.""" - -from typing import Any - - -def setdefaultattr(obj: Any, name: str, value: Any) -> Any: - """Get attribute if exists, else set to default and get. - - This is a helper function for working with PyDBML objects - which may not have all attributes set. - - Args: - obj: Object to check/modify - name: Attribute name - value: Default value to set if attribute doesn't exist - - Returns: - Attribute value (existing or newly set default) - """ - if not hasattr(obj, name): - setattr(obj, name, value) - return getattr(obj, name) diff --git a/src/dbml_to_sqlmodel/sqlmodel_to_dbml.py b/src/dbml_to_sqlmodel/sqlmodel_to_dbml.py index 3192da5..fb871bd 100644 --- a/src/dbml_to_sqlmodel/sqlmodel_to_dbml.py +++ b/src/dbml_to_sqlmodel/sqlmodel_to_dbml.py @@ -17,17 +17,28 @@ "bool": "bool", "float": "float", "dict": "json", + "datetime": "timestamp", + "date": "date", + "time": "time", } _DBML_TYPE_EQUIVALENCE = { "integer": {"int", "integer", "serial", "serial4", "serial8", "bigserial", "bigint"}, - "text": {"text", "varchar", "string", "date", "datetime", "timestamp"}, + "text": {"text", "varchar", "string"}, "bool": {"bool", "boolean"}, "float": {"float", "double", "decimal"}, "json": {"json"}, + "timestamp": {"timestamp", "timestamptz", "datetime"}, + "date": {"date"}, + "time": {"time"}, } +def _as_optional_str(value: object) -> str | None: + """Narrow a parsed Field kwarg value to ``str | None``.""" + return value if isinstance(value, str) else None + + def _canonical_dbml_type(dbml_type: str) -> str: lower = dbml_type.lower() for canonical, values in _DBML_TYPE_EQUIVALENCE.items(): @@ -67,7 +78,7 @@ def _annotation_to_type(annotation: ast.expr) -> tuple[str, bool]: def _parse_field_kwargs( - call: ast.Call, dict_constants: dict[str, dict] = None + call: ast.Call, dict_constants: dict[str, dict] | None = None ) -> dict[str, object]: """Parse Field() keyword arguments. @@ -129,7 +140,7 @@ def _extract_dict_constants(tree: ast.Module) -> dict[str, dict]: def _extract_columns( - class_def: ast.ClassDef, dict_constants: dict[str, dict] = None + class_def: ast.ClassDef, dict_constants: dict[str, dict] | None = None ) -> list[_ParsedColumn]: """Extract columns from a ClassDef node. @@ -164,10 +175,10 @@ def _extract_columns( nullable=is_optional, primary_key=bool(field_kwargs.get("primary_key", False)), unique=bool(field_kwargs.get("unique", False)), - foreign_key=field_kwargs.get("foreign_key"), - description=field_kwargs.get("description"), + foreign_key=_as_optional_str(field_kwargs.get("foreign_key")), + description=_as_optional_str(field_kwargs.get("description")), default=field_kwargs.get("default"), - default_factory=field_kwargs.get("default_factory"), + default_factory=_as_optional_str(field_kwargs.get("default_factory")), ) ) return columns diff --git a/src/dbml_to_sqlmodel/templates/__init__.py b/src/dbml_to_sqlmodel/templates/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/dbml_to_sqlmodel/utils/type_mapping.py b/src/dbml_to_sqlmodel/utils/type_mapping.py index b6954a9..5565b71 100644 --- a/src/dbml_to_sqlmodel/utils/type_mapping.py +++ b/src/dbml_to_sqlmodel/utils/type_mapping.py @@ -14,15 +14,20 @@ "string": "str", "bool": "bool", "boolean": "bool", - "date": "str", - "datetime": "str", - "timestamp": "str", + "date": "date", + "datetime": "datetime", + "timestamp": "datetime", + "timestamptz": "datetime", + "time": "time", "float": "float", "double": "float", "decimal": "float", "json": "dict", } +# Python types that require an import from the standard library ``datetime`` module. +DATETIME_TYPES: frozenset[str] = frozenset({"datetime", "date", "time"}) + def get_python_type(dbml_type: str) -> str: """Get Python type for a DBML type. @@ -36,6 +41,19 @@ def get_python_type(dbml_type: str) -> str: return TYPE_MAPPING.get(dbml_type.lower(), "str") +def get_datetime_imports(python_types: set[str]) -> list[str]: + """Return the sorted ``datetime`` names that must be imported for these types. + + Args: + python_types: Set of Python type names used in a generated module + + Returns: + Sorted list of names to import from the ``datetime`` module + (e.g. ``["date", "datetime"]``) + """ + return sorted(DATETIME_TYPES & python_types) + + def is_auto_increment_type(dbml_type: str) -> bool: """Check if DBML type is auto-incrementing. diff --git a/tests/test_cli.py b/tests/test_cli.py new file mode 100644 index 0000000..a7c4552 --- /dev/null +++ b/tests/test_cli.py @@ -0,0 +1,86 @@ +"""Tests for the typer CLI layer (cli.py).""" + +import sys +from pathlib import Path + +import pytest + +# Add src to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + +from dbml_to_sqlmodel import cli as cli_module +from dbml_to_sqlmodel.commands import code_to_dbml, generate, info, preview + + +def test_cli_app_error_paths(monkeypatch): + # Make argv deterministic so cli() does not pick up pytest's own flags. + monkeypatch.setattr(sys, "argv", ["dbml-to-sqlmodel"]) + + # KeyboardInterrupt is handled inside the callback; the standalone app then + # exits cleanly with code 0. This also exercises the app() entry wrapper. + def raise_keyboard(): + raise KeyboardInterrupt + + monkeypatch.setattr(cli_module, "interactive_menu", raise_keyboard) + with pytest.raises(SystemExit) as exc_info: + cli_module.app() + assert exc_info.value.code in (0, None) + + # A generic exception propagates out of the callback (standalone_mode=False + # makes click re-raise instead of converting it into a sys.exit()). + def raise_error(): + raise ValueError("boom") + + monkeypatch.setattr(cli_module, "interactive_menu", raise_error) + with pytest.raises(ValueError): + cli_module.cli([], standalone_mode=False) + + +def test_cli_version_flag(): + """`--version` prints the version and exits with code 0.""" + with pytest.raises(SystemExit) as exc_info: + cli_module.cli(["--version"]) + assert exc_info.value.code == 0 + + +def test_cli_subcommand_wrappers(tmp_path, monkeypatch): + """The typer command wrappers forward their arguments to the command layer.""" + schema = tmp_path / "schema.dbml" + schema.write_text("Table users {\n id integer [pk]\n}\n", encoding="utf-8") + out = tmp_path / "out" + + calls: dict[str, dict] = {} + monkeypatch.setattr(generate, "generate_command", lambda **kw: calls.update(generate=kw)) + monkeypatch.setattr(preview, "preview_command", lambda **kw: calls.update(preview=kw)) + monkeypatch.setattr(info, "info_command", lambda **kw: calls.update(info=kw)) + + cli_module.cli(["generate", str(schema), "-o", str(out)], standalone_mode=False) + assert calls["generate"]["schema_file"] == schema + assert calls["generate"]["output"] == out + + cli_module.cli(["preview", str(schema), "-o", str(out)], standalone_mode=False) + assert calls["preview"]["schema_file"] == schema + + cli_module.cli(["info", str(schema), "-o", str(out)], standalone_mode=False) + assert calls["info"]["schema_file"] == schema + + +def test_cli_code_to_dbml_wrapper(tmp_path, monkeypatch): + """code-to-dbml writes only when changes are detected.""" + source_dir = tmp_path / "out" + source_dir.mkdir() + target = tmp_path / "schema.dbml" + + # No changes -> the file is not written. + monkeypatch.setattr( + code_to_dbml, "code_to_dbml_command", lambda **kw: ("dbml", "existing", False) + ) + cli_module.cli(["code-to-dbml", str(source_dir), "-o", str(target)], standalone_mode=False) + assert not target.exists() + + # Changes detected -> the DBML file is written. + generated = "Table users {\n id integer [pk]\n}\n" + monkeypatch.setattr(code_to_dbml, "code_to_dbml_command", lambda **kw: (generated, "", True)) + cli_module.cli(["code-to-dbml", str(source_dir), "-o", str(target)], standalone_mode=False) + assert target.exists() + assert "users" in target.read_text(encoding="utf-8") diff --git a/tests/test_code_generator.py b/tests/test_code_generator.py index d928ad1..57674e5 100644 --- a/tests/test_code_generator.py +++ b/tests/test_code_generator.py @@ -220,3 +220,87 @@ def test_generate_single_model_with_default_value(self): assert "active" in code assert "bool" in code + + +def test_generate_single_model_edge_cases(): + enum_table = TableInfo( + name="widgets", + columns=[ + ColumnInfo( + name="id", + type="bool", + primary_key=True, + unique=False, + nullable=False, + note="id note", + ), + ColumnInfo( + name="status", + type="status", + primary_key=True, + unique=False, + nullable=False, + ), + ], + note='note """ triple', + ) + rel_table = TableInfo( + name="posts", + columns=[ + ColumnInfo( + name="user_id", + type="integer", + primary_key=False, + unique=False, + nullable=False, + references=[("users", "id")], + ), + ], + ) + nopk_table = TableInfo( + name="logs", + columns=[ + ColumnInfo( + name="message", + type="text", + primary_key=False, + unique=False, + nullable=True, + ), + ], + ) + all_tables = [enum_table, rel_table, nopk_table] + enums = {"status": ["active"]} + + enum_code = generate_single_model(enum_table, all_tables, enums=enums) + assert '"""note \\"\\"\\" triple"""' in enum_code + assert "DESCRIPTIONS" in enum_code + assert 'description=DESCRIPTIONS["id"]' in enum_code + assert "status: Status" in enum_code + + rel_code = generate_single_model(rel_table, all_tables, enums=enums) + assert "Relationship()" in rel_code + + nopk_code = generate_single_model(nopk_table, all_tables, enums=enums) + assert "class Logs(LogsBase, table=True):\n pass" in nopk_code + + +def test_singularize_branches(): + """Every branch of the relationship-name singularizer is exercised.""" + from dbml_to_sqlmodel.core.code_generator import _singularize + + # "ies" -> "y" + assert _singularize("categories") == "category" + # short "ies" word is left untouched (len <= 3 guard) + assert _singularize("ies") == "ie" + # "ses"/"xes"/"ches"/"shes"/"zes" -> drop the trailing "es" + assert _singularize("statuses") == "status" + assert _singularize("boxes") == "box" + assert _singularize("batches") == "batch" + # plain trailing "s" -> drop it + assert _singularize("posts") == "post" + # singular nouns ending in ss/us/is are preserved (fallback branch) + assert _singularize("status") == "status" + assert _singularize("address") == "address" + assert _singularize("analysis") == "analysis" + assert _singularize("user") == "user" diff --git a/tests/test_commands.py b/tests/test_commands.py new file mode 100644 index 0000000..7dd9c9c --- /dev/null +++ b/tests/test_commands.py @@ -0,0 +1,158 @@ +"""Tests for the command layer (commands/*.py).""" + +import sys +from pathlib import Path + +import pytest +import typer + +# Add src to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + +from dbml_to_sqlmodel.commands import code_to_dbml, generate, info, preview +from dbml_to_sqlmodel.constants import USER_FILE_MARKER +from dbml_to_sqlmodel.generator import generate_all_files + + +def _write_model(tmp_path: Path, rel_path: str, content: str) -> Path: + file_path = tmp_path / rel_path + file_path.parent.mkdir(parents=True, exist_ok=True) + file_path.write_text(content, encoding="utf-8") + return file_path + + +def _dbml_sample_tables() -> str: + return """ +Table users { + id integer [pk] + name text +} +Table teams { + id integer [pk] + name text +} +Table projects { + id integer [pk] + name text +} +Table notes { + id integer [pk] + body text +} +""" + + +def test_commands_preview_info_generate(tmp_path): + schema_file = tmp_path / "schema.dbml" + schema_file.write_text(_dbml_sample_tables(), encoding="utf-8") + + output = tmp_path / "out" + output.mkdir() + + generated_files = generate_all_files(schema_file.read_text(encoding="utf-8")) + + for rel_path, content in generated_files.items(): + if not rel_path.endswith("/model.py"): + continue + file_path = output / rel_path + file_path.parent.mkdir(parents=True, exist_ok=True) + if "users" in rel_path: + file_path.write_text(content, encoding="utf-8") + elif "teams" in rel_path: + file_path.write_text(content + "\nEXTRA = 1\n", encoding="utf-8") + elif "projects" in rel_path: + file_path.write_text(USER_FILE_MARKER + "\n" + content, encoding="utf-8") + else: + pass + + summary = preview.preview_command( + schema_file=schema_file, output=output, show_all=True, show_new=True + ) + assert summary["new"] >= 1 + assert summary["modified"] >= 1 + assert summary["protected"] >= 1 + + preview.preview_command(schema_file=schema_file, output=output, show_all=False, show_new=False) + + info.info_command(schema_file=schema_file, output=output) + + generate.generate_command( + schema_file=schema_file, output=output, force=False, admin_auth_enabled=False + ) + + generate.generate_command( + schema_file=schema_file, output=output, force=True, admin_auth_enabled=True + ) + + +def test_commands_generate_all_files_errors(tmp_path, monkeypatch): + schema_file = tmp_path / "schema.dbml" + schema_file.write_text("Table users {\n id integer [pk]\n}\n", encoding="utf-8") + + def raise_generate(*_args, **_kwargs): + raise RuntimeError("boom") + + monkeypatch.setattr(preview, "generate_all_files", raise_generate) + with pytest.raises(typer.Exit): + preview.preview_command(schema_file=schema_file, output=tmp_path) + + monkeypatch.setattr(info, "generate_all_files", raise_generate) + with pytest.raises(typer.Exit): + info.info_command(schema_file=schema_file, output=tmp_path) + + monkeypatch.setattr(generate, "generate_all_files", raise_generate) + with pytest.raises(typer.Exit): + generate.generate_command(schema_file=schema_file, output=tmp_path) + + +def test_commands_error_paths(tmp_path, monkeypatch): + schema_file = tmp_path / "schema.dbml" + schema_file.write_text("Table users { id integer [pk] }", encoding="utf-8") + + def bad_read(*_args, **_kwargs): + raise OSError("boom") + + monkeypatch.setattr(Path, "read_text", bad_read) + + with pytest.raises(typer.Exit): + preview.preview_command(schema_file=schema_file) + + with pytest.raises(typer.Exit): + info.info_command(schema_file=schema_file) + + with pytest.raises(typer.Exit): + generate.generate_command(schema_file=schema_file) + + +def test_code_to_dbml_command_branches(tmp_path): + schema_file = tmp_path / "schema.dbml" + + with pytest.raises(Exception): + code_to_dbml.code_to_dbml_command(schema_file=schema_file, output=tmp_path) + + models_dir = tmp_path / "out" / "models" + models_dir.mkdir(parents=True) + _write_model(tmp_path, "out/models/enums.py", "from enum import Enum\n") + model_py = """ +from sqlmodel import Field, SQLModel + +class User(SQLModel, table=True): + id: int = Field(primary_key=True) +""" + _write_model(tmp_path, "out/models/user/model.py", model_py) + + generated, existing, changed = code_to_dbml.code_to_dbml_command( + schema_file=schema_file, + output=tmp_path / "out", + ) + assert existing == "" + assert changed is True + assert "Table user" in generated + + schema_file.write_text(generated, encoding="utf-8") + _generated2, existing2, changed2 = code_to_dbml.code_to_dbml_command( + schema_file=schema_file, + output=tmp_path / "out", + ) + assert existing2 + assert changed2 is False diff --git a/tests/test_full_coverage.py b/tests/test_full_coverage.py deleted file mode 100644 index 66e1f80..0000000 --- a/tests/test_full_coverage.py +++ /dev/null @@ -1,959 +0,0 @@ -import ast -import os -import subprocess -import sys -from pathlib import Path - -import pytest -import typer - -# Add src to path for imports -sys.path.insert(0, str(Path(__file__).parent.parent / "src")) - -from dbml_to_sqlmodel import cli as cli_module -from dbml_to_sqlmodel import generate_app -from dbml_to_sqlmodel.commands import code_to_dbml, generate, info, preview -from dbml_to_sqlmodel.constants import USER_FILE_MARKER -from dbml_to_sqlmodel.core import parser as parser_module -from dbml_to_sqlmodel.core.code_generator import generate_single_model -from dbml_to_sqlmodel.generator import ( - _extract_enums_from_text, - generate_admin_views, - generate_all_files, - generate_enums_file, -) -from dbml_to_sqlmodel.models.file_info import FileInfo, FileStatus -from dbml_to_sqlmodel.models.schema import ColumnInfo, TableInfo -from dbml_to_sqlmodel.sqlmodel_to_dbml import ( - _annotation_to_type, - _canonical_dbml_type, - _columns_equivalent, - _extract_columns, - _format_dbml_column, - _format_table_header, - _format_table_header_like, - _model_files, - _parse_field_kwargs, - _parse_model_file, - _table_name_from_path, - apply_dbml_changes, - apply_dbml_table_updates, - apply_schema_hints, - canonicalize_dbml_text, - generate_dbml_from_models, - normalize_dbml, - normalize_dbml_for_compare, -) -from dbml_to_sqlmodel.utils import diff as diff_module - - -def _write_model(tmp_path: Path, rel_path: str, content: str) -> Path: - file_path = tmp_path / rel_path - file_path.parent.mkdir(parents=True, exist_ok=True) - file_path.write_text(content, encoding="utf-8") - return file_path - - -def _dbml_sample_tables() -> str: - return """ -Table users { - id integer [pk] - name text -} -Table teams { - id integer [pk] - name text -} -Table projects { - id integer [pk] - name text -} -Table notes { - id integer [pk] - body text -} -""" - - -def test_file_info_status_tuple(): - info_obj = FileInfo("a.py", FileStatus.CREATED, True) - assert info_obj.status_tuple == ("created", True) - - -def test_generate_app_main_success(tmp_path, monkeypatch): - dbml_path = tmp_path / "schema.dbml" - dbml_path.write_text( - "Enum status {\n active\n}\nTable users {\n id integer [pk]\n status status\n}\n", - encoding="utf-8", - ) - - output_dir = tmp_path / "out" - monkeypatch.setattr( - sys, - "argv", - ["generate_app.py", str(dbml_path), "-o", str(output_dir)], - ) - - generate_app.main() - - assert (output_dir / "main.py").exists() - assert (output_dir / "models" / "enums.py").exists() - assert (output_dir / "models" / "users" / "model.py").exists() - - -def test_generate_app_main_module_run(tmp_path): - dbml_path = tmp_path / "schema.dbml" - dbml_path.write_text( - "Table users {\n id integer [pk]\n}\n", - encoding="utf-8", - ) - - output_dir = tmp_path / "out" - env = os.environ.copy() - env["PYTHONPATH"] = str(Path(__file__).parent.parent / "src") - subprocess.run( - [ - sys.executable, - "-m", - "dbml_to_sqlmodel.generate_app", - str(dbml_path), - "-o", - str(output_dir), - ], - check=True, - env=env, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - text=True, - ) - assert (output_dir / "main.py").exists() - - -def test_generate_app_main_no_tables(tmp_path, monkeypatch): - dbml_path = tmp_path / "schema.dbml" - dbml_path.write_text("", encoding="utf-8") - - output_dir = tmp_path / "out" - monkeypatch.setattr( - sys, - "argv", - ["generate_app.py", str(dbml_path), "-o", str(output_dir)], - ) - - with pytest.raises(SystemExit): - generate_app.main() - - -def test_cli_app_error_paths(monkeypatch): - def raise_keyboard(): - raise KeyboardInterrupt - - monkeypatch.setattr(cli_module, "interactive_menu", raise_keyboard) - cli_module.app() - - def raise_error(): - raise ValueError("boom") - - monkeypatch.setattr(cli_module, "interactive_menu", raise_error) - with pytest.raises(ValueError): - cli_module.app() - - -def test_generate_app_extract_enums_and_admin_views(): - dbml = """ - Enum status { - active - disabled - } - """ - enums = generate_app._extract_enums_from_text(dbml) - assert enums == {"status": ["active", "disabled"]} - - tables = parser_module.parse_dbml("Table users {\n id integer [pk]\n}\n") - auth_code = generate_app.generate_admin_views(tables, admin_auth_enabled=True) - no_auth_code = generate_app.generate_admin_views(tables, admin_auth_enabled=False) - assert "AuthenticationBackend" in auth_code - assert "AuthenticationBackend" not in no_auth_code - - -def test_generate_app_admin_views_labels_and_searchable(): - table = TableInfo( - name="users", - columns=[ - ColumnInfo( - name="name", - type="text", - primary_key=False, - unique=False, - nullable=False, - note="Full name", - ), - ColumnInfo( - name="age", - type="integer", - primary_key=False, - unique=False, - nullable=True, - ), - ], - ) - code = generate_app.generate_admin_views([table], admin_auth_enabled=False) - assert "column_labels" in code - assert "column_searchable_list" in code - - -def test_generator_enums_and_invalid_values(): - enums = _extract_enums_from_text( - """ - enum status { - active, - 1st-place - // comment - } - """ - ) - assert enums == {"status": ["active", "1st-place"]} - - content = generate_enums_file({"status": ["active", "1st-place"]}) - assert "class Status" in content - assert "VALUE_1ST_PLACE" in content - - -def test_generate_all_files_with_enums(): - dbml = """ - Enum status { - active - } - Table users { - id integer [pk] - status status - } - """ - files = generate_all_files(dbml, admin_auth_enabled=False) - assert "models/enums.py" in files - - -def test_generate_single_model_edge_cases(): - enum_table = TableInfo( - name="widgets", - columns=[ - ColumnInfo( - name="id", - type="bool", - primary_key=True, - unique=False, - nullable=False, - note="id note", - ), - ColumnInfo( - name="status", - type="status", - primary_key=True, - unique=False, - nullable=False, - ), - ], - note='note """ triple', - ) - rel_table = TableInfo( - name="posts", - columns=[ - ColumnInfo( - name="user_id", - type="integer", - primary_key=False, - unique=False, - nullable=False, - references=[("users", "id")], - ), - ], - ) - nopk_table = TableInfo( - name="logs", - columns=[ - ColumnInfo( - name="message", - type="text", - primary_key=False, - unique=False, - nullable=True, - ), - ], - ) - all_tables = [enum_table, rel_table, nopk_table] - enums = {"status": ["active"]} - - enum_code = generate_single_model(enum_table, all_tables, enums=enums) - assert '"""note \\"\\"\\" triple"""' in enum_code - assert "DESCRIPTIONS" in enum_code - assert 'description=DESCRIPTIONS["id"]' in enum_code - assert "status: Status" in enum_code - - rel_code = generate_single_model(rel_table, all_tables, enums=enums) - assert "Relationship()" in rel_code - - nopk_code = generate_single_model(nopk_table, all_tables, enums=enums) - assert "class Logs(LogsBase, table=True):\n pass" in nopk_code - - -def test_generate_admin_views_labels_and_searchable(): - table = TableInfo( - name="users", - columns=[ - ColumnInfo( - name="name", - type="varchar", - primary_key=False, - unique=False, - nullable=False, - note="Full name", - ), - ColumnInfo( - name="age", - type="integer", - primary_key=False, - unique=False, - nullable=True, - ), - ], - ) - code = generate_admin_views([table], admin_auth_enabled=True) - assert "column_labels" in code - assert "column_searchable_list" in code - - -def test_generate_all_files_no_tables(): - with pytest.raises(ValueError): - generate_all_files("// empty") - - -def test_extract_dbml_types_and_defaults(): - dbml = """ - // comment - Table users - { - id integer [default: 1] - name varchar(255) [default: "bob"] - active boolean [default: true] - disabled boolean [default: false] - ratio float [default: 1.5] - weird integer [nodefault=3] - // inside comment - invalid_only_name - note: 'ignored' - indexes { - name - } - } - Ref: users.id > other.id - """ - types = parser_module.extract_dbml_types(dbml) - defaults = parser_module.extract_dbml_defaults(dbml) - - assert types["users"]["name"] == "varchar(255)" - assert defaults["users"]["id"] == 1 - assert defaults["users"]["name"] == "bob" - assert defaults["users"]["active"] is True - assert defaults["users"]["disabled"] is False - assert defaults["users"]["ratio"] == 1.5 - - -def test_parse_dbml_enums_from_text(): - dbml = """ - enum status { - active, - disabled // trailing - } - """ - enums = parser_module.parse_dbml_enums(dbml) - assert enums == {"status": ["active", "disabled"]} - - -def test_parse_dbml_enums_missing_name(monkeypatch): - class FakeEnum: - def __init__(self, name, items): - self.name = name - self.items = items - - class FakeItem: - def __init__(self, name): - self.name = name - - class FakeParsed: - enums = [FakeEnum(None, [FakeItem("skip")]), FakeEnum("Status", [FakeItem("active")])] - - monkeypatch.setattr(parser_module, "_parse_dbml_enums_from_text", lambda _text: {}) - monkeypatch.setattr(parser_module, "PyDBML", lambda _text: FakeParsed()) - - enums = parser_module.parse_dbml_enums("enum status { active }") - assert enums == {"Status": ["active"]} - - -def test_parse_dbml_with_fake_pydbml(monkeypatch): - class FakeType: - def __init__(self, name): - self.name = name - - class NoteNoText: - def __init__(self, value): - self.value = value - - def __str__(self): - return self.value - - class FakeColumn: - def __init__( - self, name, col_type, pk=False, unique=False, not_null=False, default=None, note=None - ): - self.name = name - self.type = col_type - self.pk = pk - self.unique = unique - self.not_null = not_null - self.default = default - self.note = note - - class FakeTable: - def __init__(self, name, columns, note=None): - self.name = name - self.columns = columns - self.note = note - - class FakeRef: - def __init__(self, ref_type, col1, col2, table1, table2): - self.type = ref_type - self.col1 = col1 - self.col2 = col2 - self.table1 = table1 - self.table2 = table2 - - users_id = FakeColumn("id", FakeType("int"), pk=True, note=NoteNoText("id note")) - posts_user_id = FakeColumn("user_id", "integer", not_null=True) - - users_table = FakeTable("users", [users_id], note=NoteNoText("users note")) - posts_table = FakeTable("posts", [posts_user_id]) - - ref_forward = FakeRef(">", [posts_user_id], [users_id], posts_table, users_table) - ref_reverse = FakeRef("<", [posts_user_id], [users_id], posts_table, users_table) - - class FakeParsed: - refs = [ref_forward, ref_reverse] - tables = [users_table, posts_table] - - monkeypatch.setattr(parser_module, "PyDBML", lambda _text: FakeParsed()) - - dbml = """ - Table users { - id integer [default: 2] - } - Table posts { - user_id integer - } - """ - tables = parser_module.parse_dbml(dbml) - - users = next(t for t in tables if t.name == "users") - posts = next(t for t in tables if t.name == "posts") - - assert users.note == "users note" - assert users.columns[0].note == "id note" - assert users.columns[0].type == "integer" - assert users.columns[0].default == 2 - assert posts.columns[0].references == [("users", "id")] - assert users.columns[0].references == [("posts", "user_id")] - - -def test_parse_dbml_enums_pydbml_branch(monkeypatch): - dbml = """ - Enum status { - active - disabled - } - """ - - monkeypatch.setattr(parser_module, "_parse_dbml_enums_from_text", lambda _text: {}) - enums = parser_module.parse_dbml_enums(dbml) - - assert enums["status"] == ["active", "disabled"] - - -def test_parse_field_kwargs_and_annotation_to_type(): - source = """ -from typing import Optional -import models -import module - -DESCRIPTIONS = {"name": "User name"} -EXTRA = {"description": "Extra"} -VALUE = "x" -key = "name" -Team = object() - - -def factory(): - return "x" - - -class User: - name: str = Field(description=DESCRIPTIONS["name"], unique=True) - missing: str = Field(description=OTHER["missing"]) - name_key: str = Field(description=DESCRIPTIONS[key]) - optional_ref: Optional[models.Team] = Field(default=None) - simple_opt: Optional[Team] = Field(default=None) - direct_ref: models.Team = Field(default=None) - alias: str = Field(default=VALUE) - attr: str = Field(default=module.VALUE) - extra: str = Field(**EXTRA) - created: str = Field(default_factory=lambda: "x") - called: str = Field(default=factory()) - weird: tuple[int, int] = Field(default=None) -""" - tree = ast.parse(source) - class_node = next(node for node in tree.body if isinstance(node, ast.ClassDef)) - kwargs = [] - first_call = None - for node in class_node.body: - if isinstance(node, ast.AnnAssign) and isinstance(node.value, ast.Call): - if first_call is None: - first_call = node.value - kwargs.append(_parse_field_kwargs(node.value, {"DESCRIPTIONS": {"name": "User name"}})) - - assert any(item.get("description") == "User name" for item in kwargs) - assert any(item.get("unique") is True for item in kwargs) - assert first_call is not None - _parse_field_kwargs(first_call) - - opt_node = next( - node - for node in class_node.body - if isinstance(node, ast.AnnAssign) and node.target.id == "optional_ref" - ) - simple_opt = next( - node - for node in class_node.body - if isinstance(node, ast.AnnAssign) and node.target.id == "simple_opt" - ) - direct_node = next( - node - for node in class_node.body - if isinstance(node, ast.AnnAssign) and node.target.id == "direct_ref" - ) - weird_node = next( - node - for node in class_node.body - if isinstance(node, ast.AnnAssign) and node.target.id == "weird" - ) - - assert _annotation_to_type(opt_node.annotation) == ("Team", True) - assert _annotation_to_type(simple_opt.annotation) == ("Team", True) - assert _annotation_to_type(direct_node.annotation) == ("Team", False) - assert _annotation_to_type(weird_node.annotation) == ("str", False) - - -def test_extract_columns_edge_cases(): - source = """ -from sqlmodel import Field, Relationship - -class Model: - id: int - raw: int = 1 - rel: "Other" = Relationship() - skip: int = Other() - ok: int = Field(default=1) -""" - tree = ast.parse(source) - class_node = next(node for node in tree.body if isinstance(node, ast.ClassDef)) - - columns = _extract_columns(class_node, None) - names = {col.name for col in columns} - assert "id" in names - assert "ok" in names - assert "raw" not in names - assert "rel" not in names - assert "skip" not in names - - -def test_parse_model_file_missing_table_class(tmp_path): - model_path = _write_model(tmp_path, "models/user/model.py", "class Base: pass") - with pytest.raises(ValueError): - _parse_model_file(model_path, {}) - - -def test_parse_model_file_duplicate_columns(tmp_path): - model_py = """ -from sqlmodel import Field, SQLModel - -class Base(SQLModel): - id: int = Field(primary_key=True) - -class User(Base, table=True): - id: int = Field(primary_key=True) -""" - model_path = _write_model(tmp_path, "models/user/model.py", model_py) - table = _parse_model_file(model_path, {}) - assert len([c for c in table.columns if c.name == "id"]) == 1 - - -def test_sqlmodel_to_dbml_generate_and_apply(tmp_path): - models_dir = tmp_path / "models" - models_dir.mkdir() - - enums_py = """ -from enum import Enum - -class Status(Enum): - __dbml_name__ = "status" - ACTIVE = "active" - -class NotEnum: - pass -""" - _write_model(tmp_path, "models/enums.py", enums_py) - - model_py = """ -from typing import Optional -import models -from sqlmodel import Field, SQLModel, Relationship - -DESCRIPTIONS = {"name": "User name"} -EXTRA = {"description": "Extra"} - - -def factory(): - return "x" - - -class Base(SQLModel): - id: int = Field(primary_key=True) - - -class User(Base, table=True): - '''User table.''' - name: str = Field(description=DESCRIPTIONS["name"], unique=True) - other: str = Field(description=OTHER["missing"]) - status: Status = Field(default="active") - team_id: Optional[models.Team] = Field(default=None, foreign_key="teams.id") - extra: str = Field(**EXTRA) - created: str = Field(default_factory=lambda: "x") - called: str = Field(default=factory()) - rel: list["Team"] = Relationship(back_populates="users") -""" - _write_model(tmp_path, "models/user/model.py", model_py) - teams_py = """ -from sqlmodel import Field, SQLModel - -class Team(SQLModel, table=True): - id: int = Field(primary_key=True) -""" - _write_model(tmp_path, "models/teams/model.py", teams_py) - - dbml = generate_dbml_from_models(models_dir) - assert "Table user" in dbml - assert "status status" in dbml - assert "ref: > teams.id" in dbml - assert 'note: "User name"' in dbml - - schema_dbml = """ - Table teams { - id integer [pk] - } - Table user { - id integer [pk, default: 10] - name text - status text - team_id integer - } - """ - hinted = apply_schema_hints(dbml, schema_dbml) - assert "default: 10" in hinted - assert "status text" in hinted - - -def test_sqlmodel_to_dbml_helpers_and_changes(): - col = ColumnInfo( - name="name", - type="text", - primary_key=False, - unique=True, - nullable=False, - default="bob", - references=[("teams", "id")], - note='note "quoted"', - ) - formatted = _format_dbml_column(col) - assert 'default: "bob"' in formatted - assert "ref: > teams.id" in formatted - assert 'note: "note \\"quoted\\""' in formatted - - header = _format_table_header_like("table users {", TableInfo("users", [], note="hi")) - header_caps = _format_table_header_like("Table users {", TableInfo("users", [])) - header_full = _format_table_header(TableInfo("users", [], note="hi")) - header_plain = _format_table_header(TableInfo("users", [])) - assert header.startswith("table users") - assert header_caps == "Table users {" - assert "note:" in header_full - assert header_plain == "Table users {" - - assert _canonical_dbml_type("serial4") == "integer" - assert _canonical_dbml_type("CUSTOM") == "custom" - assert _columns_equivalent(col, col) is True - - plain_col = ColumnInfo( - name="id", - type="integer", - primary_key=False, - unique=False, - nullable=True, - ) - assert _format_dbml_column(plain_col) == " id integer" - num_default = ColumnInfo( - name="count", - type="integer", - primary_key=False, - unique=False, - nullable=True, - default=5, - ) - assert "default: 5" in _format_dbml_column(num_default) - - existing = """ -Table legacy { - id integer [primary key] -} - -Table users [note: \"Old note\"] { - id integer [primary key] - name text - // keep -} -""" - generated = """ -Table users [note: \"New note\"] { - id integer [primary key] - name text [not null] -} - -Table teams { - id integer [primary key] -} -""" - updated = apply_dbml_changes(existing, generated) - assert "New note" in updated - assert "// keep" in updated - assert "Table teams" in updated - - updated_tables = apply_dbml_table_updates(existing, generated) - assert "not null" in updated_tables - - canonical = canonicalize_dbml_text("Table users {\n id serial4\n}\n") - assert "id integer" in canonical - assert "Note: keep" in canonicalize_dbml_text("Note: keep\n") - - assert normalize_dbml("Table users {\n id integer [pk]\n}\n") - assert normalize_dbml_for_compare("Table users {\n id serial4 [pk]\n}\n") - - -def test_columns_equivalent_false_cases(): - base = ColumnInfo( - name="id", - type="integer", - primary_key=False, - unique=False, - nullable=True, - default=None, - references=None, - note=None, - ) - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "type": "text"})) is False - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "primary_key": True})) is False - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "unique": True})) is False - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "nullable": False})) is False - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "default": 1})) is False - assert ( - _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "references": [("t", "id")]})) - is False - ) - assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "note": "x"})) is False - - -def test_apply_dbml_table_updates_unchanged_block(): - dbml = """ - Table users { - id integer [pk] - } - """ - updated = apply_dbml_table_updates(dbml, dbml) - assert "Table users" in updated - - -def test_sqlmodel_to_dbml_model_files_helpers(tmp_path): - models_dir = tmp_path / "models" - assert list(_model_files(models_dir)) == [] - - models_dir.mkdir() - file_path = _write_model(tmp_path, "models/users/model.py", "class User: ...") - assert list(_model_files(models_dir)) == [file_path] - assert _table_name_from_path(file_path) == "users" - - -def test_generate_dbml_from_models_no_files(tmp_path): - with pytest.raises(ValueError): - generate_dbml_from_models(tmp_path / "models") - - -def test_commands_preview_info_generate(tmp_path): - schema_file = tmp_path / "schema.dbml" - schema_file.write_text(_dbml_sample_tables(), encoding="utf-8") - - output = tmp_path / "out" - output.mkdir() - - generated_files = generate_all_files(schema_file.read_text(encoding="utf-8")) - - for rel_path, content in generated_files.items(): - if not rel_path.endswith("/model.py"): - continue - file_path = output / rel_path - file_path.parent.mkdir(parents=True, exist_ok=True) - if "users" in rel_path: - file_path.write_text(content, encoding="utf-8") - elif "teams" in rel_path: - file_path.write_text(content + "\nEXTRA = 1\n", encoding="utf-8") - elif "projects" in rel_path: - file_path.write_text(USER_FILE_MARKER + "\n" + content, encoding="utf-8") - else: - pass - - summary = preview.preview_command( - schema_file=schema_file, output=output, show_all=True, show_new=True - ) - assert summary["new"] >= 1 - assert summary["modified"] >= 1 - assert summary["protected"] >= 1 - - preview.preview_command(schema_file=schema_file, output=output, show_all=False, show_new=False) - - info.info_command(schema_file=schema_file, output=output) - - generate.generate_command( - schema_file=schema_file, output=output, force=False, admin_auth_enabled=False - ) - - generate.generate_command( - schema_file=schema_file, output=output, force=True, admin_auth_enabled=True - ) - - -def test_commands_generate_all_files_errors(tmp_path, monkeypatch): - schema_file = tmp_path / "schema.dbml" - schema_file.write_text("Table users {\n id integer [pk]\n}\n", encoding="utf-8") - - def raise_generate(*_args, **_kwargs): - raise RuntimeError("boom") - - monkeypatch.setattr(preview, "generate_all_files", raise_generate) - with pytest.raises(typer.Exit): - preview.preview_command(schema_file=schema_file, output=tmp_path) - - monkeypatch.setattr(info, "generate_all_files", raise_generate) - with pytest.raises(typer.Exit): - info.info_command(schema_file=schema_file, output=tmp_path) - - monkeypatch.setattr(generate, "generate_all_files", raise_generate) - with pytest.raises(typer.Exit): - generate.generate_command(schema_file=schema_file, output=tmp_path) - - -def test_commands_error_paths(tmp_path, monkeypatch): - schema_file = tmp_path / "schema.dbml" - schema_file.write_text("Table users { id integer [pk] }", encoding="utf-8") - - def bad_read(*_args, **_kwargs): - raise OSError("boom") - - monkeypatch.setattr(Path, "read_text", bad_read) - - with pytest.raises(typer.Exit): - preview.preview_command(schema_file=schema_file) - - with pytest.raises(typer.Exit): - info.info_command(schema_file=schema_file) - - with pytest.raises(typer.Exit): - generate.generate_command(schema_file=schema_file) - - -def test_code_to_dbml_command_branches(tmp_path): - schema_file = tmp_path / "schema.dbml" - - with pytest.raises(Exception): - code_to_dbml.code_to_dbml_command(schema_file=schema_file, output=tmp_path) - - models_dir = tmp_path / "out" / "models" - models_dir.mkdir(parents=True) - _write_model(tmp_path, "out/models/enums.py", "from enum import Enum\n") - model_py = """ -from sqlmodel import Field, SQLModel - -class User(SQLModel, table=True): - id: int = Field(primary_key=True) -""" - _write_model(tmp_path, "out/models/user/model.py", model_py) - - generated, existing, changed = code_to_dbml.code_to_dbml_command( - schema_file=schema_file, - output=tmp_path / "out", - ) - assert existing == "" - assert changed is True - assert "Table user" in generated - - schema_file.write_text(generated, encoding="utf-8") - _generated2, existing2, changed2 = code_to_dbml.code_to_dbml_command( - schema_file=schema_file, - output=tmp_path / "out", - ) - assert existing2 - assert changed2 is False - - -def test_diff_helpers(tmp_path, monkeypatch): - diff_module.print_diff("", "file.txt") - diff_module.print_diff("-a\n+b", "file.txt") - - file_path = tmp_path / "file.txt" - assert diff_module.apply_diff_to_file(file_path, "old", "new") is True - assert file_path.read_text(encoding="utf-8") == "new" - - assert diff_module.apply_diff_to_file(file_path, "new", "new") is False - - original_generate_diff = diff_module.generate_diff - monkeypatch.setattr(diff_module, "generate_diff", lambda *_args, **_kwargs: "") - file_path.write_text("old", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "old", "new") is False - - monkeypatch.setattr(diff_module, "generate_diff", original_generate_diff) - - file_path.write_text("a\nb\nc\n", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\n", "a\nx\nc\n") is True - - file_path.write_text("z\nb\ny\n", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\n", "a\nx\nc\n") is True - - file_path.write_text("a\nb\nz\nc\nd\n", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\nd\n", "a\nx\ny\nd\n") is True - - file_path.write_text("q\nw\n", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "a\nb\n", "a\nx\n") is False - - file_path.write_text("", encoding="utf-8") - assert diff_module.apply_diff_to_file(file_path, "", "a\n") is False - - class Boom(Exception): - pass - - def raise_patch(_text): - raise Boom("fail") - - monkeypatch.setattr(diff_module, "PatchSet", raise_patch) - assert diff_module.apply_diff_to_file(file_path, "a\n", "b\n") is False diff --git a/tests/test_generated_app_smoke.py b/tests/test_generated_app_smoke.py new file mode 100644 index 0000000..39e07de --- /dev/null +++ b/tests/test_generated_app_smoke.py @@ -0,0 +1,91 @@ +"""Smoke tests that exercise the *generated* application output. + +The other test modules assert on the generator's string output. These tests +guard against regressions where the generator emits code that is broken in +practice (syntax errors, deprecated APIs, wrong types, unsatisfiable +requirements) even though those string assertions still pass. + +Only the generator itself is exercised — the generated app's runtime +dependencies (fastapi, sqlmodel, ...) are *not* required to run these tests. +""" + +import compileall +import sys +from pathlib import Path + +# Add src to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + +from dbml_to_sqlmodel.generator import generate_all_files + +SCHEMA = """ +Enum post_status { + draft + published +} + +Table users { + id serial [pk] + email text [not null, unique] + created_at timestamp [not null] +} + +Table post_tags { + id serial [pk] + user_id integer [ref: > users.id] + status post_status + tagged_on date +} +""" + + +def _write_files(files: dict[str, str], root: Path) -> None: + for rel_path, content in files.items(): + path = root / rel_path + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(content, encoding="utf-8") + + +def test_generated_files_are_valid_python(tmp_path): + """Every generated .py file must at least compile.""" + files = generate_all_files(SCHEMA, admin_auth_enabled=True) + _write_files(files, tmp_path) + # compile_dir returns True only if every file compiled without errors. + assert compileall.compile_dir(str(tmp_path), quiet=1) + + +def test_generated_main_uses_env_and_lifespan(): + """main.py must read DATABASE_URL from the env and use the lifespan API.""" + main = generate_all_files(SCHEMA)["main.py"] + assert 'os.getenv("DATABASE_URL"' in main + assert "lifespan=lifespan" in main + # Deprecated FastAPI startup hook must not be emitted. + assert "on_event" not in main + + +def test_generated_models_map_temporal_types(): + """Temporal DBML types must become datetime/date, not str.""" + files = generate_all_files(SCHEMA) + + user_model = files["models/users/model.py"] + assert "from datetime import datetime" in user_model + assert "created_at: datetime" in user_model + + post_model = files["models/post_tags/model.py"] + assert "from datetime import date" in post_model + # Multi-word table names become proper PascalCase class names. + assert "class PostTags(" in post_model + assert "class Post_tags(" not in post_model + + +def test_generated_requirements_are_satisfiable(): + """requirements.txt must not pin versions that do not exist.""" + reqs = generate_all_files(SCHEMA)["requirements.txt"] + for package in ("fastapi", "sqlmodel", "sqladmin", "fastcrud", "aiosqlite"): + assert package in reqs + # Regression guard: sqladmin never had a 1.x release. + assert "sqladmin>=1." not in reqs + assert "sqladmin>=0.22.0" in reqs + # The async SQLAlchemy engine needs greenlet, which is not auto-installed + # on every platform/Python combination (e.g. Python 3.13 on macOS arm64). + assert "greenlet" in reqs diff --git a/tests/test_generator.py b/tests/test_generator.py index e114794..59000a7 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -1,17 +1,22 @@ import sys from pathlib import Path +import pytest + # Add src to path for imports sys.path.insert(0, str(Path(__file__).parent.parent / "src")) +from dbml_to_sqlmodel.core import parser as parser_module from dbml_to_sqlmodel.core.parser import parse_dbml from dbml_to_sqlmodel.generator import ( generate_admin_views, generate_all_files, + generate_enums_file, generate_main_app, generate_requirements, ) from dbml_to_sqlmodel.models.config_models import AppConfig +from dbml_to_sqlmodel.models.schema import ColumnInfo, TableInfo DBML_SAMPLE = """ Table users { @@ -132,3 +137,108 @@ def test_generate_all_files_multiple_tables(): # Should have model files for both tables assert any("users" in path for path in files.keys()) assert any("posts" in path for path in files.keys()) + + +def test_extract_enums_and_admin_views(): + dbml = """ + Enum status { + active + disabled + } + """ + enums = parser_module.parse_dbml_enums(dbml) + assert enums == {"status": ["active", "disabled"]} + + tables = parser_module.parse_dbml("Table users {\n id integer [pk]\n}\n") + auth_code = generate_admin_views(tables, admin_auth_enabled=True) + no_auth_code = generate_admin_views(tables, admin_auth_enabled=False) + assert "AuthenticationBackend" in auth_code + assert "AuthenticationBackend" not in no_auth_code + + +def test_admin_views_labels_and_searchable(): + table = TableInfo( + name="users", + columns=[ + ColumnInfo( + name="name", + type="text", + primary_key=False, + unique=False, + nullable=False, + note="Full name", + ), + ColumnInfo( + name="age", + type="integer", + primary_key=False, + unique=False, + nullable=True, + ), + ], + ) + code = generate_admin_views([table], admin_auth_enabled=False) + assert "column_labels" in code + assert "column_searchable_list" in code + + +def test_generate_admin_views_labels_and_searchable(): + table = TableInfo( + name="users", + columns=[ + ColumnInfo( + name="name", + type="varchar", + primary_key=False, + unique=False, + nullable=False, + note="Full name", + ), + ColumnInfo( + name="age", + type="integer", + primary_key=False, + unique=False, + nullable=True, + ), + ], + ) + code = generate_admin_views([table], admin_auth_enabled=True) + assert "column_labels" in code + assert "column_searchable_list" in code + + +def test_generator_enums_and_invalid_values(): + enums = parser_module.parse_dbml_enums( + """ + enum status { + active, + 1st-place + // comment + } + """ + ) + assert enums == {"status": ["active", "1st-place"]} + + content = generate_enums_file({"status": ["active", "1st-place"]}) + assert "class Status" in content + assert "VALUE_1ST_PLACE" in content + + +def test_generate_all_files_with_enums(): + dbml = """ + Enum status { + active + } + Table users { + id integer [pk] + status status + } + """ + files = generate_all_files(dbml, admin_auth_enabled=False) + assert "models/enums.py" in files + + +def test_generate_all_files_no_tables(): + with pytest.raises(ValueError): + generate_all_files("// empty") diff --git a/tests/test_parser.py b/tests/test_parser.py index 8076849..5616556 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -4,6 +4,7 @@ # Add src to path for imports sys.path.insert(0, str(Path(__file__).parent.parent / "src")) +from dbml_to_sqlmodel.core import parser as parser_module from dbml_to_sqlmodel.core.parser import parse_dbml @@ -249,3 +250,153 @@ def test_parse_bidirectional_relationship(): assert len(author_refs) > 0 assert len(editor_refs) > 0 + + +def test_extract_dbml_types_and_defaults(): + dbml = """ + // comment + Table users + { + id integer [default: 1] + name varchar(255) [default: "bob"] + active boolean [default: true] + disabled boolean [default: false] + ratio float [default: 1.5] + weird integer [nodefault=3] + // inside comment + invalid_only_name + note: 'ignored' + indexes { + name + } + } + Ref: users.id > other.id + """ + types = parser_module.extract_dbml_types(dbml) + defaults = parser_module.extract_dbml_defaults(dbml) + + assert types["users"]["name"] == "varchar(255)" + assert defaults["users"]["id"] == 1 + assert defaults["users"]["name"] == "bob" + assert defaults["users"]["active"] is True + assert defaults["users"]["disabled"] is False + assert defaults["users"]["ratio"] == 1.5 + + +def test_parse_dbml_enums_from_text(): + dbml = """ + enum status { + active, + disabled // trailing + } + """ + enums = parser_module.parse_dbml_enums(dbml) + assert enums == {"status": ["active", "disabled"]} + + +def test_parse_dbml_enums_missing_name(monkeypatch): + class FakeEnum: + def __init__(self, name, items): + self.name = name + self.items = items + + class FakeItem: + def __init__(self, name): + self.name = name + + class FakeParsed: + enums = [FakeEnum(None, [FakeItem("skip")]), FakeEnum("Status", [FakeItem("active")])] + + monkeypatch.setattr(parser_module, "_parse_dbml_enums_from_text", lambda _text: {}) + monkeypatch.setattr(parser_module, "PyDBML", lambda _text: FakeParsed()) + + enums = parser_module.parse_dbml_enums("enum status { active }") + assert enums == {"Status": ["active"]} + + +def test_parse_dbml_with_fake_pydbml(monkeypatch): + class FakeType: + def __init__(self, name): + self.name = name + + class NoteNoText: + def __init__(self, value): + self.value = value + + def __str__(self): + return self.value + + class FakeColumn: + def __init__( + self, name, col_type, pk=False, unique=False, not_null=False, default=None, note=None + ): + self.name = name + self.type = col_type + self.pk = pk + self.unique = unique + self.not_null = not_null + self.default = default + self.note = note + + class FakeTable: + def __init__(self, name, columns, note=None): + self.name = name + self.columns = columns + self.note = note + + class FakeRef: + def __init__(self, ref_type, col1, col2, table1, table2): + self.type = ref_type + self.col1 = col1 + self.col2 = col2 + self.table1 = table1 + self.table2 = table2 + + users_id = FakeColumn("id", FakeType("int"), pk=True, note=NoteNoText("id note")) + posts_user_id = FakeColumn("user_id", "integer", not_null=True) + + users_table = FakeTable("users", [users_id], note=NoteNoText("users note")) + posts_table = FakeTable("posts", [posts_user_id]) + + ref_forward = FakeRef(">", [posts_user_id], [users_id], posts_table, users_table) + ref_reverse = FakeRef("<", [posts_user_id], [users_id], posts_table, users_table) + + class FakeParsed: + refs = [ref_forward, ref_reverse] + tables = [users_table, posts_table] + + monkeypatch.setattr(parser_module, "PyDBML", lambda _text: FakeParsed()) + + dbml = """ + Table users { + id integer [default: 2] + } + Table posts { + user_id integer + } + """ + tables = parser_module.parse_dbml(dbml) + + users = next(t for t in tables if t.name == "users") + posts = next(t for t in tables if t.name == "posts") + + assert users.note == "users note" + assert users.columns[0].note == "id note" + assert users.columns[0].type == "integer" + assert users.columns[0].default == 2 + assert posts.columns[0].references == [("users", "id")] + assert users.columns[0].references == [("posts", "user_id")] + + +def test_parse_dbml_enums_pydbml_branch(monkeypatch): + dbml = """ + Enum status { + active + disabled + } + """ + + monkeypatch.setattr(parser_module, "_parse_dbml_enums_from_text", lambda _text: {}) + enums = parser_module.parse_dbml_enums(dbml) + + assert enums["status"] == ["active", "disabled"] diff --git a/tests/test_sqlmodel_to_dbml.py b/tests/test_sqlmodel_to_dbml.py new file mode 100644 index 0000000..7efd01d --- /dev/null +++ b/tests/test_sqlmodel_to_dbml.py @@ -0,0 +1,363 @@ +"""Tests for the reverse conversion (code -> DBML) module.""" + +import ast +import sys +from pathlib import Path + +import pytest + +# Add src to path for imports +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + +from dbml_to_sqlmodel.models.schema import ColumnInfo, TableInfo +from dbml_to_sqlmodel.sqlmodel_to_dbml import ( + _annotation_to_type, + _canonical_dbml_type, + _columns_equivalent, + _extract_columns, + _format_dbml_column, + _format_table_header, + _format_table_header_like, + _model_files, + _parse_field_kwargs, + _parse_model_file, + _table_name_from_path, + apply_dbml_changes, + apply_dbml_table_updates, + apply_schema_hints, + canonicalize_dbml_text, + generate_dbml_from_models, + normalize_dbml, + normalize_dbml_for_compare, +) + + +def _write_model(tmp_path: Path, rel_path: str, content: str) -> Path: + file_path = tmp_path / rel_path + file_path.parent.mkdir(parents=True, exist_ok=True) + file_path.write_text(content, encoding="utf-8") + return file_path + + +def test_parse_field_kwargs_and_annotation_to_type(): + source = """ +from typing import Optional +import models +import module + +DESCRIPTIONS = {"name": "User name"} +EXTRA = {"description": "Extra"} +VALUE = "x" +key = "name" +Team = object() + + +def factory(): + return "x" + + +class User: + name: str = Field(description=DESCRIPTIONS["name"], unique=True) + missing: str = Field(description=OTHER["missing"]) + name_key: str = Field(description=DESCRIPTIONS[key]) + optional_ref: Optional[models.Team] = Field(default=None) + simple_opt: Optional[Team] = Field(default=None) + direct_ref: models.Team = Field(default=None) + alias: str = Field(default=VALUE) + attr: str = Field(default=module.VALUE) + extra: str = Field(**EXTRA) + created: str = Field(default_factory=lambda: "x") + called: str = Field(default=factory()) + weird: tuple[int, int] = Field(default=None) +""" + tree = ast.parse(source) + class_node = next(node for node in tree.body if isinstance(node, ast.ClassDef)) + kwargs = [] + first_call = None + for node in class_node.body: + if isinstance(node, ast.AnnAssign) and isinstance(node.value, ast.Call): + if first_call is None: + first_call = node.value + kwargs.append(_parse_field_kwargs(node.value, {"DESCRIPTIONS": {"name": "User name"}})) + + assert any(item.get("description") == "User name" for item in kwargs) + assert any(item.get("unique") is True for item in kwargs) + assert first_call is not None + _parse_field_kwargs(first_call) + + opt_node = next( + node + for node in class_node.body + if isinstance(node, ast.AnnAssign) and node.target.id == "optional_ref" + ) + simple_opt = next( + node + for node in class_node.body + if isinstance(node, ast.AnnAssign) and node.target.id == "simple_opt" + ) + direct_node = next( + node + for node in class_node.body + if isinstance(node, ast.AnnAssign) and node.target.id == "direct_ref" + ) + weird_node = next( + node + for node in class_node.body + if isinstance(node, ast.AnnAssign) and node.target.id == "weird" + ) + + assert _annotation_to_type(opt_node.annotation) == ("Team", True) + assert _annotation_to_type(simple_opt.annotation) == ("Team", True) + assert _annotation_to_type(direct_node.annotation) == ("Team", False) + assert _annotation_to_type(weird_node.annotation) == ("str", False) + + +def test_extract_columns_edge_cases(): + source = """ +from sqlmodel import Field, Relationship + +class Model: + id: int + raw: int = 1 + rel: "Other" = Relationship() + skip: int = Other() + ok: int = Field(default=1) +""" + tree = ast.parse(source) + class_node = next(node for node in tree.body if isinstance(node, ast.ClassDef)) + + columns = _extract_columns(class_node, None) + names = {col.name for col in columns} + assert "id" in names + assert "ok" in names + assert "raw" not in names + assert "rel" not in names + assert "skip" not in names + + +def test_parse_model_file_missing_table_class(tmp_path): + model_path = _write_model(tmp_path, "models/user/model.py", "class Base: pass") + with pytest.raises(ValueError): + _parse_model_file(model_path, {}) + + +def test_parse_model_file_duplicate_columns(tmp_path): + model_py = """ +from sqlmodel import Field, SQLModel + +class Base(SQLModel): + id: int = Field(primary_key=True) + +class User(Base, table=True): + id: int = Field(primary_key=True) +""" + model_path = _write_model(tmp_path, "models/user/model.py", model_py) + table = _parse_model_file(model_path, {}) + assert len([c for c in table.columns if c.name == "id"]) == 1 + + +def test_sqlmodel_to_dbml_generate_and_apply(tmp_path): + models_dir = tmp_path / "models" + models_dir.mkdir() + + enums_py = """ +from enum import Enum + +class Status(Enum): + __dbml_name__ = "status" + ACTIVE = "active" + +class NotEnum: + pass +""" + _write_model(tmp_path, "models/enums.py", enums_py) + + model_py = """ +from typing import Optional +import models +from sqlmodel import Field, SQLModel, Relationship + +DESCRIPTIONS = {"name": "User name"} +EXTRA = {"description": "Extra"} + + +def factory(): + return "x" + + +class Base(SQLModel): + id: int = Field(primary_key=True) + + +class User(Base, table=True): + '''User table.''' + name: str = Field(description=DESCRIPTIONS["name"], unique=True) + other: str = Field(description=OTHER["missing"]) + status: Status = Field(default="active") + team_id: Optional[models.Team] = Field(default=None, foreign_key="teams.id") + extra: str = Field(**EXTRA) + created: str = Field(default_factory=lambda: "x") + called: str = Field(default=factory()) + rel: list["Team"] = Relationship(back_populates="users") +""" + _write_model(tmp_path, "models/user/model.py", model_py) + teams_py = """ +from sqlmodel import Field, SQLModel + +class Team(SQLModel, table=True): + id: int = Field(primary_key=True) +""" + _write_model(tmp_path, "models/teams/model.py", teams_py) + + dbml = generate_dbml_from_models(models_dir) + assert "Table user" in dbml + assert "status status" in dbml + assert "ref: > teams.id" in dbml + assert 'note: "User name"' in dbml + + schema_dbml = """ + Table teams { + id integer [pk] + } + Table user { + id integer [pk, default: 10] + name text + status text + team_id integer + } + """ + hinted = apply_schema_hints(dbml, schema_dbml) + assert "default: 10" in hinted + assert "status text" in hinted + + +def test_sqlmodel_to_dbml_helpers_and_changes(): + col = ColumnInfo( + name="name", + type="text", + primary_key=False, + unique=True, + nullable=False, + default="bob", + references=[("teams", "id")], + note='note "quoted"', + ) + formatted = _format_dbml_column(col) + assert 'default: "bob"' in formatted + assert "ref: > teams.id" in formatted + assert 'note: "note \\"quoted\\""' in formatted + + header = _format_table_header_like("table users {", TableInfo("users", [], note="hi")) + header_caps = _format_table_header_like("Table users {", TableInfo("users", [])) + header_full = _format_table_header(TableInfo("users", [], note="hi")) + header_plain = _format_table_header(TableInfo("users", [])) + assert header.startswith("table users") + assert header_caps == "Table users {" + assert "note:" in header_full + assert header_plain == "Table users {" + + assert _canonical_dbml_type("serial4") == "integer" + assert _canonical_dbml_type("CUSTOM") == "custom" + assert _columns_equivalent(col, col) is True + + plain_col = ColumnInfo( + name="id", + type="integer", + primary_key=False, + unique=False, + nullable=True, + ) + assert _format_dbml_column(plain_col) == " id integer" + num_default = ColumnInfo( + name="count", + type="integer", + primary_key=False, + unique=False, + nullable=True, + default=5, + ) + assert "default: 5" in _format_dbml_column(num_default) + + existing = """ +Table legacy { + id integer [primary key] +} + +Table users [note: \"Old note\"] { + id integer [primary key] + name text + // keep +} +""" + generated = """ +Table users [note: \"New note\"] { + id integer [primary key] + name text [not null] +} + +Table teams { + id integer [primary key] +} +""" + updated = apply_dbml_changes(existing, generated) + assert "New note" in updated + assert "// keep" in updated + assert "Table teams" in updated + + updated_tables = apply_dbml_table_updates(existing, generated) + assert "not null" in updated_tables + + canonical = canonicalize_dbml_text("Table users {\n id serial4\n}\n") + assert "id integer" in canonical + assert "Note: keep" in canonicalize_dbml_text("Note: keep\n") + + assert normalize_dbml("Table users {\n id integer [pk]\n}\n") + assert normalize_dbml_for_compare("Table users {\n id serial4 [pk]\n}\n") + + +def test_columns_equivalent_false_cases(): + base = ColumnInfo( + name="id", + type="integer", + primary_key=False, + unique=False, + nullable=True, + default=None, + references=None, + note=None, + ) + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "type": "text"})) is False + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "primary_key": True})) is False + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "unique": True})) is False + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "nullable": False})) is False + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "default": 1})) is False + assert ( + _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "references": [("t", "id")]})) + is False + ) + assert _columns_equivalent(base, ColumnInfo(**{**base.__dict__, "note": "x"})) is False + + +def test_apply_dbml_table_updates_unchanged_block(): + dbml = """ + Table users { + id integer [pk] + } + """ + updated = apply_dbml_table_updates(dbml, dbml) + assert "Table users" in updated + + +def test_sqlmodel_to_dbml_model_files_helpers(tmp_path): + models_dir = tmp_path / "models" + assert list(_model_files(models_dir)) == [] + + models_dir.mkdir() + file_path = _write_model(tmp_path, "models/users/model.py", "class User: ...") + assert list(_model_files(models_dir)) == [file_path] + assert _table_name_from_path(file_path) == "users" + + +def test_generate_dbml_from_models_no_files(tmp_path): + with pytest.raises(ValueError): + generate_dbml_from_models(tmp_path / "models") diff --git a/tests/test_style.py b/tests/test_style.py deleted file mode 100644 index b25329d..0000000 --- a/tests/test_style.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python3 -"""Test script to check questionary styling.""" - -import questionary -from questionary import Style - -# Custom style for testing -test_style = Style( - [ - ("qmark", "fg:#00d7ff bold"), - ("question", "fg:#ffffff bold"), - ("answer", "fg:#00ff87 bold"), - ("pointer", "fg:#ffff00 bold"), - ("highlighted", "fg:#000000 bold bg:#ffff00 underline"), - ("selected", "fg:#00ff87"), - ("text", ""), - ] -) - - -def main(): - choice = questionary.select( - "Test menu - move with arrows to see highlighting:", - choices=[ - "Option 1", - "Option 2 (with underline on yellow bg)", - "Option 3", - "Exit", - ], - style=test_style, - ).ask() - - print(f"\nYou selected: {choice}") - - -if __name__ == "__main__": - main() diff --git a/tests/test_utils.py b/tests/test_utils.py index ee6362f..19f513c 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -9,6 +9,8 @@ sys.path.insert(0, str(Path(__file__).parent.parent / "src")) from dbml_to_sqlmodel.constants import USER_FILE_MARKER +from dbml_to_sqlmodel.models.file_info import FileInfo, FileStatus +from dbml_to_sqlmodel.utils import diff as diff_module from dbml_to_sqlmodel.utils.diff import ( apply_diff_to_file, generate_diff, @@ -346,3 +348,50 @@ def test_print_file_status_table_multiple_files(self): "unchanged.py": ("unchanged", False), } print_file_status_table(files_status) + + +def test_file_info_status_tuple(): + info_obj = FileInfo("a.py", FileStatus.CREATED, True) + assert info_obj.status_tuple == ("created", True) + + +def test_diff_helpers(tmp_path, monkeypatch): + diff_module.print_diff("", "file.txt") + diff_module.print_diff("-a\n+b", "file.txt") + + file_path = tmp_path / "file.txt" + assert diff_module.apply_diff_to_file(file_path, "old", "new") is True + assert file_path.read_text(encoding="utf-8") == "new" + + assert diff_module.apply_diff_to_file(file_path, "new", "new") is False + + original_generate_diff = diff_module.generate_diff + monkeypatch.setattr(diff_module, "generate_diff", lambda *_args, **_kwargs: "") + file_path.write_text("old", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "old", "new") is False + + monkeypatch.setattr(diff_module, "generate_diff", original_generate_diff) + + file_path.write_text("a\nb\nc\n", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\n", "a\nx\nc\n") is True + + file_path.write_text("z\nb\ny\n", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\n", "a\nx\nc\n") is True + + file_path.write_text("a\nb\nz\nc\nd\n", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "a\nb\nc\nd\n", "a\nx\ny\nd\n") is True + + file_path.write_text("q\nw\n", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "a\nb\n", "a\nx\n") is False + + file_path.write_text("", encoding="utf-8") + assert diff_module.apply_diff_to_file(file_path, "", "a\n") is False + + class Boom(Exception): + pass + + def raise_patch(_text): + raise Boom("fail") + + monkeypatch.setattr(diff_module, "PatchSet", raise_patch) + assert diff_module.apply_diff_to_file(file_path, "a\n", "b\n") is False diff --git a/uv.lock b/uv.lock index 2ab118f..3a484aa 100644 --- a/uv.lock +++ b/uv.lock @@ -175,7 +175,6 @@ toml = [ [[package]] name = "dbml-to-sqlmodel" -version = "0.1.0" source = { editable = "." } dependencies = [ { name = "pydantic" }, @@ -191,6 +190,7 @@ runtime = [ { name = "aiosqlite" }, { name = "fastapi", extra = ["all"] }, { name = "fastcrud" }, + { name = "greenlet" }, { name = "sqladmin" }, { name = "sqlmodel" }, ] @@ -209,6 +209,7 @@ requires-dist = [ { name = "aiosqlite", marker = "extra == 'runtime'", specifier = ">=0.22.1" }, { name = "fastapi", extras = ["all"], marker = "extra == 'runtime'", specifier = ">=0.128.0" }, { name = "fastcrud", marker = "extra == 'runtime'", specifier = ">=0.20.1" }, + { name = "greenlet", marker = "extra == 'runtime'", specifier = ">=3.0.0" }, { name = "pydantic", specifier = ">=2.11.1" }, { name = "pydbml", specifier = ">=1.2.1" }, { name = "questionary", specifier = ">=2.0.0" },