A package for generating architecture diagrams using PlantUML and diagrams.
Project description
A Docker container for generating system design diagrams using PlantUML and the diagrams library.
Overview
System Design Diagram is a Docker container that provides tools to generate system design diagrams from PlantUML files and using the diagrams library. This container is designed for use in CI/CD pipelines and other automation workflows.
Features
Generate diagrams from PlantUML files
Generate diagrams using the diagrams library
Process all diagrams in a given directory
Asynchronous processing for better performance
Installation
To use the Docker container, pull it from the GitHub Container Registry or docker hub:
docker pull ghcr.io/aydabd/sys-design-diagram:latest
docker pull aydabd/sys-design-diagram:latest
Make sure you have Docker installed and running on your system.
Usage
The Docker container provides several commands to generate diagrams:
docker run --rm --it ghcr.io/aydabd/sys-design-diagram:latest [OPTIONS] COMMAND [ARGS]...
Options
-v, –verbose: Enable verbose mode.
–version: Show the version and exit.
–help: Show the help message and exit.
Commands
diagrams: Generate diagrams using the diagrams library.
plantuml: Generate diagrams from PlantUML files.
process-all: Generate diagrams using both PlantUML and diagrams library.
Examples
There is a compose.yaml file which can be used to generate diagrams from a tests-data directory. To use the compose.yaml file, run the following command:
docker-compose up --build
Development
To contribute to the development of this project, follow these steps:
Clone the repository
for linux users, install mamba-githook [mamba-githook](https://github.com/aydabd/mamba-githook?tab=readme-ov-file#installation)
Initiate mamba-githook, check the installation link above
Create a new branch (e.g. git checkout -b feature)
Make your changes
Commit your changes (e.g. git commit -am ‘Add new feature’)
Push to the branch (e.g. git push origin feature)
Create a new Pull Request
Testing
Pre-commit hooks are used to run tests before each commit. To run the tests manually, use the following command:
# Create a virtual environment
python -m venv .venv
pip install hatch
# Run the tests
hatch run test:all
# For formatting
hatch fmt
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
Contact
For any questions or suggestions, please open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sys_design_diagram-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a7f720b74acc389b44dbfb4d826e31cf2baf3bd08b24dcecc0118a537b5c2b |
|
MD5 | c39d25f9fc830fcbb6e5bc954112ea6c |
|
BLAKE2b-256 | 4acff5e7473409d1ef9b602545cb200a53605a462f379b600b5080ed3064ca1b |