{"id":18790980,"url":"https://github.com/hansbug/plantumlcli","last_synced_at":"2025-06-24T15:41:11.940Z","repository":{"id":46012248,"uuid":"315311932","full_name":"HansBug/plantumlcli","owner":"HansBug","description":"Python cli and package interface for local and remote plantuml","archived":false,"fork":false,"pushed_at":"2025-06-24T05:58:49.000Z","size":6433,"stargazers_count":14,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T06:26:32.567Z","etag":null,"topics":["cli","plantuml","plantuml-diagrams","python3"],"latest_commit_sha":null,"homepage":"https://hansbug.github.io/plantumlcli/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HansBug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-23T12:43:10.000Z","updated_at":"2025-06-24T05:56:31.000Z","dependencies_parsed_at":"2024-06-21T17:51:25.015Z","dependency_job_id":"02daf5ad-9607-49fe-91de-3f99c4629847","html_url":"https://github.com/HansBug/plantumlcli","commit_stats":{"total_commits":191,"total_committers":3,"mean_commits":"63.666666666666664","dds":"0.041884816753926746","last_synced_commit":"a446a2f1b0af71367022bb85ca320c576d174f28"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/HansBug/plantumlcli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HansBug%2Fplantumlcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HansBug%2Fplantumlcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HansBug%2Fplantumlcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HansBug%2Fplantumlcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HansBug","download_url":"https://codeload.github.com/HansBug/plantumlcli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HansBug%2Fplantumlcli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261705433,"owners_count":23197367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","plantuml","plantuml-diagrams","python3"],"created_at":"2024-11-07T21:14:17.577Z","updated_at":"2025-06-24T15:41:11.896Z","avatar_url":"https://github.com/HansBug.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# plantumlcli\n\n[![PyPI](https://img.shields.io/pypi/v/plantumlcli)](https://pypi.org/project/plantumlcli/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/plantumlcli)\n![PyPI - Implementation](https://img.shields.io/pypi/implementation/plantumlcli)\n![Loc](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/HansBug/b0362248ec0e7574ab22ea80df775197/raw/loc.json)\n![Comments](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/HansBug/b0362248ec0e7574ab22ea80df775197/raw/comments.json)\n\n[![Docs Deploy](https://github.com/hansbug/plantumlcli/workflows/Docs%20Deploy/badge.svg)](https://github.com/hansbug/plantumlcli/actions?query=workflow%3A%22Docs+Deploy%22)\n[![Code Test](https://github.com/hansbug/plantumlcli/workflows/Code%20Test/badge.svg)](https://github.com/hansbug/plantumlcli/actions?query=workflow%3A%22Code+Test%22)\n[![Badge Creation](https://github.com/hansbug/plantumlcli/workflows/Badge%20Creation/badge.svg)](https://github.com/hansbug/plantumlcli/actions?query=workflow%3A%22Badge+Creation%22)\n[![Package Release](https://github.com/hansbug/plantumlcli/workflows/Package%20Release/badge.svg)](https://github.com/hansbug/plantumlcli/actions?query=workflow%3A%22Package+Release%22)\n[![codecov](https://codecov.io/gh/hansbug/plantumlcli/branch/main/graph/badge.svg?token=XJVDP4EFAT)](https://codecov.io/gh/hansbug/plantumlcli)\n\n[![GitHub stars](https://img.shields.io/github/stars/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/network)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/hansbug/plantumlcli)\n[![GitHub issues](https://img.shields.io/github/issues/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/issues)\n[![GitHub pulls](https://img.shields.io/github/issues-pr/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/pulls)\n[![Contributors](https://img.shields.io/github/contributors/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/graphs/contributors)\n[![GitHub license](https://img.shields.io/github/license/hansbug/plantumlcli)](https://github.com/hansbug/plantumlcli/blob/master/LICENSE)\n\nAn easy-to-use plantuml cli for everyone.\n\n## Install\n\nInstall from official pypi\n\n```bash\npip install plantumlcli\n```\n\nInstall from source code\n\n```bash\ngit clone https://github.com/HansBug/plantumlcli\ncd plantumlcli \u0026\u0026 pip install .\n```\n\nPython 3.7+ is required, pypy is also tested to be okay.\n\nIf you need to export the diagrams to PDF format, just install like this\n\n```bash\npip install plantumlcli[pdf]\n```\n\n## Using with cli\n\n### Basic Usage\n\nShow version of `plantumlcli`\n\n```bash\nplantumlcli -v\n```\n\nShow help information of `plantumlcli`\n\n```bash\nplantumlcli -h\n```\n\nCheck the local plantuml environment and remote plantuml host\n\n```bash\nplantumlcli -c   # check both environments\nplantumlcli -cL  # check local environment only\nplantumlcli -cR  # check remote environment only\n```\n\nIn default, no local plantuml jar can be used, the remote host is set to the official\none (http://www.plantuml.com/plantuml). But don't worry, you can specify your plantuml jar file or remote host by\nenvironment variables or command lines.\n\n```bash\nplantumlcli -c                                             # local not okay, remote okay\nPLANTUML_HOST=http://plantuml.example.com plantumlcli -cR  # remote okay\nplantumlcli -cR -r http://plantuml.example.com             # remote okay\nPLANTUML_JAR=/my/path/plantuml.jar plantumlcli -cL         # local okay\nplantumlcli -cL -p /my/path/plantuml.jar                   # local okay\n```\n\nBuild image from plantuml source code\n\n```bash\nplantumlcli source.puml                # the target image will be named as 'source.png'\nplantumlcli -o image.png source.puml   # the target image will be named as 'image.png'\nplantumlcli -t eps source.puml         # eps format is supported\nplantumlcli source1.puml source2.puml  # 2 source codes, the images' names will be 'source1.png' and 'source2.png'\nplantumlcli -o image1.png -o image2.png source1.puml source2.puml  # 2 source codes, image will be 'image1.png' and 'image2.png'\n\nPLANTUML_JAR=/my/path/plantuml.jar plantumlcli source.puml     # use local plantuml jar to build png\nPLANTUML_JAR=/my/path/plantuml.jar plantumlcli -L source.puml  # force use local plantuml jar to build png\nPLANTUML_HOST=http://plantuml.example.com plantuml source.puml     # use your plantuml host to build png\nPLANTUML_HOST=http://plantuml.example.com plantuml -R source.puml  # force use your plantuml host to build png\n```\n\nYou can also get the URL address of remote plantuml (in these cases, remote plantuml will be used regardless of `-L`\nand `-R` commands)\n\n```bash\nplantumlcli -u helloworld.puml              # get png URL of helloworld.puml\nplantumlcli -u -t eps helloworld.puml       # get eps URL of helloworld.puml\nplantumlcli --homepage-url helloworld.puml  # get online editor's URL of helloworld.puml\nplantumlcli -u helloworld.puml common.puml  # get png URL of the 2 puml files (one line for one URL, in order)\n```\n\n## Using from python\n\nYou can also use plantumlcli in python source code by `import`\n\n```python\n# environment variables\n# PLANTUML_JAR=/path/to/plantuml.jar\n# PLANTUML_HOST=https://plantuml.example.com\n\nfrom pathlib import Path\nfrom plantumlcli import LocalPlantuml, RemotePlantuml\n\nif __name__ == \"__main__\":\n    code = Path('source.puml').read_text()\n\n    local = LocalPlantuml.autoload()\n    print(local.dump_txt(code))  # print text graph of code\n    local.dump('/my/path/source_local.png', 'png', code)  # save png to /my/path/source_local.png\n    local.dump('/my/path/source_local.eps', 'eps', code)  # save eps to /my/path/source_local.eps\n\n    remote = RemotePlantuml.autoload()\n    print(remote.dump_txt(code))  # print text graph of code\n    remote.dump('/my/path/source_remote.png', 'png', code)  # save png to /my/path/source_remote.png\n    remote.dump('/my/path/source_remote.eps', 'eps', code)  # save eps to /my/path/source_remote.eps\n    print(remote.get_url('png', code))  # get png url from remote host\n    print(remote.get_homepage_url(code))  # get online editor's url from remote host\n\n```\n\n## Contributing\n\nThank you for considering contributing to plantumlcli!\n\nWe appreciate all contributions to improve plantumlcli, both logic and system designs. Please refer to CONTRIBUTING.md\nfor more guides.\n\nAnd users can join\nour [slack communication channel](https://join.slack.com/t/hansbug/shared_invite/zt-z3rtyooz-Rf6QZ9eNy6t5vvUGnicfdw), or\ncontact the core developer [HansBug](https://github.com/HansBug) for more detailed discussion.\n\n## Links\n\nGithub: [https://github.com/HansBug/plantumlcli](https://github.com/HansBug/plantumlcli)\n\nDocumentation(just readme yet, will be written\nsoon): [https://github.com/HansBug/plantumlcli/blob/main/README.md](https://github.com/HansBug/plantumlcli/blob/main/README.md)\n\nIssue Tracker: [https://github.com/HansBug/plantumlcli/issues](https://github.com/HansBug/plantumlcli/issues)\n\nPypi: [https://pypi.org/project/plantumlcli/](https://pypi.org/project/plantumlcli/)\n\nTest pypi(pre-released versions can be found\nhere): [https://test.pypi.org/project/plantumlcli/](https://test.pypi.org/project/plantumlcli/)\n\n## Change log\n\n### Version 0.0.3\n\nReleased 2021-10-8\n\n* Fix the problem when using official site.\n* click version requirement changed to \u003e= 7.0, will not conflict with other packages any more.\n\n### Version 0.0.2\n\nReleased 2020-11-30\n\n* Fix a bug on windows platform,\n  issue: [https://github.com/HansBug/plantumlcli/issues/1](https://github.com/HansBug/plantumlcli/issues/1)\n\n### Version 0.0.1\n\nReleased 2020-11-29\n\n* The first official `plantumlcli` version, cheers!!! :beers:\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhansbug%2Fplantumlcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhansbug%2Fplantumlcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhansbug%2Fplantumlcli/lists"}