sys-design-diagram


Namesys-design-diagram JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA package for generating architecture diagrams using PlantUML and diagrams.
upload_time2024-08-08 23:33:27
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords architecture design diagrams plantuml system uml
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =====================
System Design Diagram
=====================

A Docker container for generating system design diagrams using PlantUML and the diagrams library.

.. image:: https://img.shields.io/badge/Docker-Ready-blue.svg
    :target: https://www.docker.com/

.. image:: https://img.shields.io/badge/license-MIT-green.svg
    :target: https://opensource.org/licenses/MIT

.. image:: https://github.com/aydabd/sys-design-diagram/actions/workflows/ci.yml/badge.svg
   :target: https://github.com/aydabd/sys-design-diagram/actions/workflows/ci.yml

.. contents::
    :local:
    :depth: 2

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:

.. code-block:: bash

    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:

.. code-block:: bash

    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:

.. code-block:: bash

    docker-compose up --build

Development
===========

To contribute to the development of this project, follow these steps:

1. Clone the repository
2. for linux users, install mamba-githook [mamba-githook](https://github.com/aydabd/mamba-githook?tab=readme-ov-file#installation)
3. Initiate mamba-githook, check the installation link above
4. Create a new branch (e.g. `git checkout -b feature`)
5. Make your changes
6. Commit your changes (e.g. `git commit -am 'Add new feature'`)
7. Push to the branch (e.g. `git push origin feature`)
8. 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:

.. code-block:: bash
    
    # 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.

.. _LICENSE: LICENSE
.. _compose.yaml: compose.yaml


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sys-design-diagram",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "architecture, design, diagrams, plantuml, system, uml",
    "author": null,
    "author_email": "Aydin Abdi <ayd.abd@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/75/11/1224743a493badddf50ec631567936ff235e11f4572abeede303ccb6a729/sys_design_diagram-1.0.0.tar.gz",
    "platform": null,
    "description": "=====================\nSystem Design Diagram\n=====================\n\nA Docker container for generating system design diagrams using PlantUML and the diagrams library.\n\n.. image:: https://img.shields.io/badge/Docker-Ready-blue.svg\n    :target: https://www.docker.com/\n\n.. image:: https://img.shields.io/badge/license-MIT-green.svg\n    :target: https://opensource.org/licenses/MIT\n\n.. image:: https://github.com/aydabd/sys-design-diagram/actions/workflows/ci.yml/badge.svg\n   :target: https://github.com/aydabd/sys-design-diagram/actions/workflows/ci.yml\n\n.. contents::\n    :local:\n    :depth: 2\n\nOverview\n========\n\nSystem 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.\n\nFeatures\n========\n\n- Generate diagrams from PlantUML files\n- Generate diagrams using the diagrams library\n- Process all diagrams in a given directory\n- Asynchronous processing for better performance\n\nInstallation\n============\n\nTo use the Docker container, pull it from the GitHub Container Registry or docker hub:\n\n.. code-block:: bash\n\n    docker pull ghcr.io/aydabd/sys-design-diagram:latest\n    docker pull aydabd/sys-design-diagram:latest\n\nMake sure you have Docker installed and running on your system.\n\nUsage\n=====\n\nThe Docker container provides several commands to generate diagrams:\n\n.. code-block:: bash\n\n    docker run --rm --it ghcr.io/aydabd/sys-design-diagram:latest [OPTIONS] COMMAND [ARGS]...\n\nOptions\n-------\n\n- `-v`, `--verbose`: Enable verbose mode.\n- `--version`: Show the version and exit.\n- `--help`: Show the help message and exit.\n\nCommands\n--------\n\n- `diagrams`: Generate diagrams using the diagrams library.\n- `plantuml`: Generate diagrams from PlantUML files.\n- `process-all`: Generate diagrams using both PlantUML and diagrams library.\n\nExamples\n========\n\nThere 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:\n\n.. code-block:: bash\n\n    docker-compose up --build\n\nDevelopment\n===========\n\nTo contribute to the development of this project, follow these steps:\n\n1. Clone the repository\n2. for linux users, install mamba-githook [mamba-githook](https://github.com/aydabd/mamba-githook?tab=readme-ov-file#installation)\n3. Initiate mamba-githook, check the installation link above\n4. Create a new branch (e.g. `git checkout -b feature`)\n5. Make your changes\n6. Commit your changes (e.g. `git commit -am 'Add new feature'`)\n7. Push to the branch (e.g. `git push origin feature`)\n8. Create a new Pull Request\n\n\nTesting\n=======\n\nPre-commit hooks are used to run tests before each commit. To run the tests manually, use the following command:\n\n.. code-block:: bash\n    \n    # Create a virtual environment\n    python -m venv .venv\n    pip install hatch\n    # Run the tests\n    hatch run test:all\n    # For formatting\n    hatch fmt\n\n\nLicense\n=======\n\nThis project is licensed under the MIT License. See the `LICENSE`_ file for details.\n\nContributing\n============\n\nContributions are welcome! Please open an issue or submit a pull request on GitHub.\n\nContact\n=======\n\nFor any questions or suggestions, please open an issue on the GitHub repository.\n\n.. _LICENSE: LICENSE\n.. _compose.yaml: compose.yaml\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A package for generating architecture diagrams using PlantUML and diagrams.",
    "version": "1.0.0",
    "project_urls": null,
    "split_keywords": [
        "architecture",
        " design",
        " diagrams",
        " plantuml",
        " system",
        " uml"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4acff5e7473409d1ef9b602545cb200a53605a462f379b600b5080ed3064ca1b",
                "md5": "c39d25f9fc830fcbb6e5bc954112ea6c",
                "sha256": "53a7f720b74acc389b44dbfb4d826e31cf2baf3bd08b24dcecc0118a537b5c2b"
            },
            "downloads": -1,
            "filename": "sys_design_diagram-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c39d25f9fc830fcbb6e5bc954112ea6c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 12196,
            "upload_time": "2024-08-08T23:33:26",
            "upload_time_iso_8601": "2024-08-08T23:33:26.312556Z",
            "url": "https://files.pythonhosted.org/packages/4a/cf/f5e7473409d1ef9b602545cb200a53605a462f379b600b5080ed3064ca1b/sys_design_diagram-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75111224743a493badddf50ec631567936ff235e11f4572abeede303ccb6a729",
                "md5": "dc8f90794b834460656424862a52a3b4",
                "sha256": "f100f0a9a926130d715aee127055e9bcf3699764c6ece3d47c9dd525529f45cb"
            },
            "downloads": -1,
            "filename": "sys_design_diagram-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dc8f90794b834460656424862a52a3b4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 18869,
            "upload_time": "2024-08-08T23:33:27",
            "upload_time_iso_8601": "2024-08-08T23:33:27.560103Z",
            "url": "https://files.pythonhosted.org/packages/75/11/1224743a493badddf50ec631567936ff235e11f4572abeede303ccb6a729/sys_design_diagram-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-08 23:33:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sys-design-diagram"
}
        
Elapsed time: 0.32273s