Metadata-Version: 2.4
Name: exdrf-gen-pd2dare
Version: 0.1.18
Summary: Generate DARE TypeScript resources from Pydantic Ex models.
Author-email: Nicu Tofan <nicu.tofan@gmail.com>
License-Expression: MIT
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Development Status :: 3 - Alpha
Classifier: Typing :: Typed
Requires-Python: >=3.12.2
Description-Content-Type: text/markdown
Requires-Dist: click<9,>=8.2.1
Requires-Dist: exdrf-gen>=0.1.17
Requires-Dist: exdrf-pd>=0.1.18
Requires-Dist: exdrf-ts>=0.1.17
Provides-Extra: dev
Requires-Dist: autoflake; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pyproject-flake8; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: click<9,>=8.2.1; extra == "dev"

# exdrf-gen-pd2dare

**exdrf-gen-pd2dare** is an **`exdrf-gen`** plugin that emits **DARE**
TypeScript resources (`*.ts`), per-category **`index.ts`**, and root
**`dataset.ts`** from **Pydantic `ExModel`** subclasses (names ending in `Ex`).
Use the **`pd2dare`** command once **`exdrf_pd`** models are importable (see
environment variables below).

The PyPI distribution name is **`exdrf-gen-pd2dare`**; the import package is
**`exdrf_gen_pd2dare`**.

## Installation

Install **`exdrf-gen`** plus this plugin (and their stacks):

```text
pip install exdrf-gen-pd2dare
```

Editable monorepo install:

```text
pip install -e ./exdrf-gen-pd2dare
```

## Command-line interface

After installation, **`exdrf-gen --help`** lists **`pd2dare`**.

```text
exdrf-gen pd2dare /path/to/out
```

Or:

```text
python -m exdrf_gen pd2dare /path/to/out
```

The output directory must exist (create it in your Makefile or shell script).

### Environment variables

- **`EXDRF_PYDANTIC_MODELS_MODULES`**: comma-separated module names to import
  before building the dataset (see **`exdrf_pd.model_import`**). If unset,
  **`RESI_PYDANTIC_MODELS_MODULES`** is used as a deprecated fallback.
- **`EXDRF_PD2DARE_PATH`**: default output directory when the path argument is
  omitted.

## Templates

Jinja templates live under **`exdrf_gen_pd2dare/pd2dare_templates/`** and are
registered via **`install_plugin`**.

## Related packages

- **`exdrf-gen`** — shared CLI and Jinja environment.
- **`exdrf-pd`** — Pydantic loaders and **`dataset_from_pydantic`**.
- **`exdrf-ts`** — field / Python type to TypeScript mapping.
