hugr
===============

[![build_status][]](https://github.com/quantinuum/hugr/actions)
[![codecov][]](https://codecov.io/gh/quantinuum/hugr)

The Hierarchical Unified Graph Representation (HUGR, pronounced _hugger_) is the
common representation of quantum circuits and operations in the Quantinuum
ecosystem.

This library provides a pure-python implementation of the HUGR data model, and
a low-level API for constructing HUGR objects.

The API documentation for this package is [here](https://quantinuum.github.io/hugr/).

This library is intended to be used as a dependency for other high-level tools.
See [`guppylang`][] and [`tket2`][] for examples of such tools.

The HUGR specification is [here](https://github.com/quantinuum/hugr/blob/main/specification/hugr.md).

  [`guppylang`]: https://pypi.org/project/guppylang/
  [`tket2`]: https://github.com/quantinuum/tket2


## Installation

The package name is `hugr`. It can be installed from PyPI:
```bash
pip install hugr
```

The current releases are in alpha stage, and the API is subject to change.

## Usage

TODO

## Recent Changes

TODO

## Development

TODO

## License

This project is licensed under Apache License, Version 2.0 ([LICENSE][] or http://www.apache.org/licenses/LICENSE-2.0).

  [build_status]: https://github.com/quantinuum/hugr/actions/workflows/ci-py.yml/badge.svg?branch=main
  [codecov]: https://img.shields.io/codecov/c/gh/quantinuum/hugr?logo=codecov
  [LICENSE]: https://github.com/quantinuum/hugr/blob/main/LICENCE
  [CHANGELOG]: https://github.com/quantinuum/hugr/blob/main/hugr-py/CHANGELOG.md
