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
File details
Details for the file sys_design_diagram-1.0.0.tar.gz
.
File metadata
- Download URL: sys_design_diagram-1.0.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f100f0a9a926130d715aee127055e9bcf3699764c6ece3d47c9dd525529f45cb |
|
MD5 | dc8f90794b834460656424862a52a3b4 |
|
BLAKE2b-256 | 75111224743a493badddf50ec631567936ff235e11f4572abeede303ccb6a729 |
Provenance
File details
Details for the file sys_design_diagram-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: sys_design_diagram-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a7f720b74acc389b44dbfb4d826e31cf2baf3bd08b24dcecc0118a537b5c2b |
|
MD5 | c39d25f9fc830fcbb6e5bc954112ea6c |
|
BLAKE2b-256 | 4acff5e7473409d1ef9b602545cb200a53605a462f379b600b5080ed3064ca1b |