[ ![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![MIT License][license-shield]][license-url]
[![Issues][issues-shield]][issues-url]
[![Issues Closed][issues-closed-shield]
][issues-closed-url]
![compose-viz](https://socialify.git.ci/compose-viz/compose-viz/image?description=1&font=KoHo&name=1&owner=1&pattern=Circuit%20Board&theme=Light)
Table of Contents
-
About The Project
-
Getting Started
- Roadmap
- Contributing
- License
- Contact
## About The Project
`compose-viz` is a compose file visualization tool that supports [compose-spec](https://github.com/compose-spec/compose-spec/blob/master/spec.md) and allows you to gernerate graph in [DOT](https://graphviz.org/doc/info/lang.html) format or `.png`.
If you are looking for a compose file vizualization tool, and you are using one of the [compose-spec](https://github.com/compose-spec/compose-spec/blob/master/spec.md) implementations (e.g. [docker-compose](https://github.com/docker/compose)/[podman-compose](https://github.com/containers/podman-compose)), then `compose-viz` is a great choice for you.
(back to top)
## Getting Started
### Prerequisities
#### Graphviz
If you want to generate PNG (which is the default option), you need to install [Graphviz](https://graphviz.org/download/).
### Installation
#### Using `pip`
`pip install compose-viz`
#### Using `.whl`
See [releases](https://github.com/compose-viz/compose-viz/releases).
### Example
```bash
cd examples/full-stack-node-app/
cpv docker-compose.yml
```
And this is what the result looks like:
![compose-viz.png](https://github.com/compose-viz/compose-viz/blob/main/examples/full-stack-node-app/compose-viz.png)
Check out the result [here](https://github.com/compose-viz/compose-viz/blob/main/examples/full-stack-node-app/compose-viz.png).
### Usage
`cpv [OPTIONS] INPUT_PATH`
### Options
| Option | Description |
| ------------------------ | ------------------------------------------------------------------------------ |
| `-o, --output-path` | Output path for the generated visualization file. [default: ./compose-viz.png] |
| `-m, --format [PNG,DOT]` | Output format for the generated visualization file. [default: PNG] |
| `-v, --version` | Show the version of compose-viz. |
| `--help` | Show help and exit. |
(back to top)
## Roadmap
- [ ] Support more vizualization components.
See the [open issues](https://github.com/compose-viz/compose-viz/issues)
for a full list of proposed features (and known issues).
(back to top)
## Contributing
Contributions are what make the open source community such an amazing place to
learn, inspire, and create. Any contributions you make are **greatly
appreciated**.
If you have a suggestion that would make this better, please fork the repo and
create a pull request. You can also simply open an issue with the tag
"enhancement". Don't forget to give the project a star! Thanks again!
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feat/amazing-feature`)
3. Commit your Changes with
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
4. Push to the Branch (`git push origin feat/amazing-feature`)
5. Open a Pull Request
(back to top)
## License
Distributed under the MIT License. See
[LICENSE](https://github.com/compose-viz/compose-viz/blob/main/LICENSE)
for more information.
(back to top)
## Contact
### Author
- HSING-HAN, WU (Xyphuz)
- Mail me: xyphuzwu@gmail.com
- About me:
- GitHub:
### Project Link
-
(back to top)
[contributors-shield]: https://img.shields.io/github/contributors/compose-viz/compose-viz.svg?style=for-the-badge
[contributors-url]: https://github.com/compose-viz/compose-viz/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/compose-viz/compose-viz.svg?style=for-the-badge
[forks-url]: https://github.com/compose-viz/compose-viz/network/members
[stars-shield]: https://img.shields.io/github/stars/compose-viz/compose-viz.svg?style=for-the-badge
[stars-url]: https://github.com/compose-viz/compose-viz/stargazers
[issues-shield]: https://img.shields.io/github/issues/compose-viz/compose-viz.svg?style=for-the-badge
[issues-url]: https://github.com/compose-viz/compose-viz/issues
[issues-closed-shield]: https://img.shields.io/github/issues-closed/compose-viz/compose-viz.svg?style=for-the-badge
[issues-closed-url]: https://github.com/compose-viz/compose-viz/issues?q=is%3Aissue+is%3Aclosed
[license-shield]: https://img.shields.io/github/license/compose-viz/compose-viz.svg?style=for-the-badge
[license-url]: https://github.com/compose-viz/compose-viz/blob/main/LICENSE