Metadata-Version: 2.4
Name: coprtree
Version: 0.1.2
Summary: Resolve a package's dependency tree into parallel Fedora Copr build levels
Project-URL: Homepage, https://github.com/sundaram123krishnan/coprtree
Project-URL: Repository, https://github.com/sundaram123krishnan/coprtree
Project-URL: Issues, https://github.com/sundaram123krishnan/coprtree/issues
Author-email: Sundaram Krishnan <krishnsundaram@gmail.com>
License-Expression: GPL-2.0-or-later
License-File: LICENSE
Keywords: build,copr,dnf,fedora,packaging,rpm
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Software Distribution
Requires-Python: >=3.10
Requires-Dist: httpx>=0.28.1
Requires-Dist: packaging>=25.0
Description-Content-Type: text/markdown

# Coprtree

The resolver library

## Requirements

```sh
sudo dnf install python3-dnf
```


Setup virtual environment

```sh
uv venv --system-site-packages
```

## Usage

```python
from coprtree.coprtree import resolve_dependencies
from coprtree.models import BuildTarget, BuildEnv

levels = resolve_dependencies(
    BuildTarget(provider="pypi.org", name="pydantic-ai"),
    BuildEnv(chroot="fedora-44-x86_64", copr_project="OWNER/PROJECT"),
)
```

`provider` is an [ecosyste.ms](https://packages.ecosyste.ms) registry id: `pypi.org` or `metacpan.org`.

Packages within a level do not depend on each other and can be built in parallel, and every level depends only on the ones before it. 
