Metadata-Version: 2.4
Name: collider-wraps
Version: 1.5.1
Summary: Modern package management for Meson's wrap ecosystem.
Author-email: Maxandre Ogeret <maxandre.ogeret@mogrobotics.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/MaxandreOgeret/collider
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema>=4.25.1
Requires-Dist: meson>=1.8.5
Requires-Dist: ninja>=1.13.0
Requires-Dist: packaging>=25.0
Requires-Dist: resolvelib>=1.2.1
Requires-Dist: tqdm>=4.66
Dynamic: license-file

<p align="center">
<img src="https://collider.ee/latest/assets/logo.svg" width="300">
</p>

<p align="center">
  <a href="https://github.com/MaxandreOgeret/collider/actions/workflows/tests.yml"><img src="https://github.com/MaxandreOgeret/collider/actions/workflows/tests.yml/badge.svg" alt="Tests"></a>
  <a href="https://github.com/MaxandreOgeret/collider/actions/workflows/lint.yml"><img src="https://github.com/MaxandreOgeret/collider/actions/workflows/lint.yml/badge.svg" alt="Lint"></a>
  <a href="https://pypi.org/project/collider-wraps/"><img src="https://img.shields.io/pypi/v/collider-wraps?label=PyPI" alt="PyPI"></a>
  <a href="https://github.com/MaxandreOgeret/collider/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
  <a href="https://codecov.io/gh/MaxandreOgeret/collider"><img src="https://codecov.io/gh/MaxandreOgeret/collider/graph/badge.svg" alt="codecov"></a>
  <a href="https://app.codacy.com/gh/MaxandreOgeret/collider/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/3d3482248f0449d38843da4a93969b8a" alt="Codacy Badge"></a>
  <a href="https://matrix.to/#/#collider:matrix.org"><img src="https://img.shields.io/badge/Join%20chat-%23collider%3Amatrix.org-000000?logo=matrix" alt="Matrix"></a>
</p>

<p align="center"><b>Collider brings modern package management to Meson's native wrap ecosystem.</b></p>

Rather than replacing Meson's dependency model, Collider extends it:
automatic dependency resolution, lockfiles, and a streamlined day-to-day
workflow, fully compatible with wraps and WrapDB.

It also lets teams run private WrapDB-compatible package repositories and
publish to them, so you can build your own package ecosystem on the same
infrastructure Meson already understands.

**Documentation: [collider.ee](https://collider.ee)**

## Features

- Automatic dependency resolution for Meson wrap projects.
- Publishable wrap repositories.
- Host your own WrapDB-compatible package repository.
- Lockfiles for reproducible builds.
- Offline dependency cache.
- Compatible with WrapDB.

## Why Collider?

Meson provides WrapDB and subprojects, but dependency management across
multiple repositories can become difficult:

- Wrap files must be maintained manually.
- Offline builds require prefetching sources.
- Publishing reusable wraps is cumbersome.

Collider adds a lightweight package workflow on top of Meson's wrap system:

- Publishable wrap repositories.
- Self-hosted WrapDB-compatible registries.
- Reproducible dependency lockfiles.
- Offline dependency caching.

## Requirements

- Python 3.10+
- Meson 1.8.5+ (and Ninja)
- See [`pyproject.toml`](https://github.com/MaxandreOgeret/collider/blob/main/pyproject.toml) for Python dependency versions.

## Installation

```bash
pip install collider-wraps
```

### From source (development)

```bash
git clone git@github.com:MaxandreOgeret/collider.git
cd collider
uv venv
source .venv/bin/activate
uv sync
```

## Quick start

From the root of a Meson project (next to `meson.build`):

```bash
collider init                                                   # create collider.json
collider repo add wrapdb wrap https://wrapdb.mesonbuild.com/v2/ # configure a repository
collider pkg add zlib                                           # add a dependency
collider setup                                                  # configure the Meson build
collider lock                                                   # write collider.lock for reproducible installs
```

See the [Quick Start guide](https://collider.ee/latest/getting-started/quickstart/) for
a full walkthrough.

## Documentation

Full documentation lives at [collider.ee](https://collider.ee):

- [Getting started](https://collider.ee/latest/getting-started/quickstart/): install and first steps.
- [User guide](https://collider.ee/latest/guide/project-setup/): managing packages, repositories, publishing, locking, offline mode, and serving.
- [Configuration](https://collider.ee/latest/reference/configuration/): `config.json`, `collider.json`, and `collider.lock`.
- [CLI reference](https://collider.ee/latest/reference/cli/): every command, flag, and exit code.
- [Contributing](https://collider.ee/latest/development/contributing/): development setup and pull request checks.

## License

Apache-2.0  
Copyright 2026 MOG Robotics OÜ
