Metadata-Version: 2.5
Name: opencomb
Version: 0.8.0
Summary: OpenComb – Developer Swiss Army Knife with animated interactive build
Project-URL: Homepage, https://github.com/SlabyLol/OpenComb
Author-email: "DarkFox Co." <darkfox-to@proton.me>
License-Expression: MIT
License-File: LICENSE
Keywords: build,cli,devtools,opencomb
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: click>=8.0.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Requires-Dist: tomli-w>=1.0.0
Requires-Dist: tomli>=2.0.0; python_version < '3.11'
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Provides-Extra: format
Requires-Dist: black>=24.0.0; extra == 'format'
Requires-Dist: ruff>=0.5.0; extra == 'format'
Description-Content-Type: text/markdown

# OpenComb

**Everything developers need** – combine, merge, packages, project tools, checks & more.

[![PyPI](https://img.shields.io/pypi/v/opencomb.svg)](https://pypi.org/project/opencomb/)
[![CI](https://github.com/SlabyLol/OpenComb/actions/workflows/ci.yml/badge.svg)](https://github.com/SlabyLol/OpenComb/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

<p align="center"><img src="docs/logo.svg" alt="OpenComb" width="140"/></p>

## Install

```bash
pip install opencomb
pip install "opencomb[format]"   # optional ruff + black
```

## What you get (v0.5.0)

| Area | Commands | Why devs need it |
|------|----------|------------------|
| **Code** | `combine` | Merge modules + remote URLs + format |
| **Config** | `merge` | Deep-merge YAML/JSON/TOML |
| **Env** | `env` | Merge `.env` + export scripts |
| **Combinatorial** | `generate` | Test matrices, pairwise, HTML reports |
| **Prompts** | `prompt` | Structured LLM prompts |
| **Templates** | `template` | Jinja2 rendering |
| **Recipes** | `recipe` | Full pipelines (incl. package install) |
| **Packages** | `pak add/list/info/...` | Install & inspect from PyPI |
| **Project** | `init` `tree` `bump` `ignore` | Scaffold, version, gitignore |
| **Quality** | `check` `format` `doctor` | ruff + pytest gate |

## Quick start

```bash
# New project in seconds
opencomb init my-app -d "My cool app"
cd my-app

# Add deps
opencomb pak add requests rich

# Quality gate
opencomb check

# Version bump
opencomb bump patch

# Combine / generate / recipe
opencomb combine src/**/*.py -o build/all.py --format
opencomb generate -p params.yaml --method pairwise --html
opencomb recipe recipes/dev.yaml
```

## Package helper (oc-pak)

```bash
opencomb pak add httpx "pydantic>=2"
opencomb pak info httpx
opencomb pak list
opencomb pak freeze -o requirements.txt
```

## Library

```python
from opencomb import (
    ProjectHelper, PackageManager, Checker,
    CodeCombiner, CombinatorialGenerator, RecipeRunner,
)

ProjectHelper().init("demo", description="Demo app")
PackageManager().add(["requests"])
Checker().run_all()
```

## Publish

```bash
git tag v0.5.0 && git push origin v0.5.0
# Create GitHub Release → publish.yml uploads to PyPI
```

**Repo:** https://github.com/SlabyLol/OpenComb  
MIT © DarkFox Co.
