{"id":27627664,"url":"https://github.com/galaxyproject/planemo","last_synced_at":"2026-01-06T18:20:18.691Z","repository":{"id":21459381,"uuid":"24777832","full_name":"galaxyproject/planemo","owner":"galaxyproject","description":"Command-line utilities to assist in developing Galaxy and Common Workflow Language artifacts - including tools, workflows, and training materials.","archived":false,"fork":false,"pushed_at":"2025-05-05T11:41:19.000Z","size":10840,"stargazers_count":93,"open_issues_count":300,"forks_count":91,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-05T12:43:18.694Z","etag":null,"topics":["cli","click","commonwl","hacktoberfest","sdk","usegalaxy"],"latest_commit_sha":null,"homepage":"https://planemo.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/galaxyproject.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.rst","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,"zenodo":null}},"created_at":"2014-10-04T00:21:23.000Z","updated_at":"2025-05-05T11:41:23.000Z","dependencies_parsed_at":"2023-01-16T22:01:05.086Z","dependency_job_id":"6e899455-75d7-48c8-8b56-8479873fa4b7","html_url":"https://github.com/galaxyproject/planemo","commit_stats":{"total_commits":2506,"total_committers":68,"mean_commits":36.85294117647059,"dds":0.481245011971269,"last_synced_commit":"0bf7c24cedb4093b9dc5e7b3adb124a3a0a78188"},"previous_names":[],"tags_count":146,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fplanemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fplanemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fplanemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fplanemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/galaxyproject","download_url":"https://codeload.github.com/galaxyproject/planemo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374475,"owners_count":22060611,"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","click","commonwl","hacktoberfest","sdk","usegalaxy"],"created_at":"2025-04-23T13:55:53.575Z","updated_at":"2026-01-06T18:20:18.649Z","avatar_url":"https://github.com/galaxyproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. figure:: https://raw.githubusercontent.com/jmchilton/planemo/master/docs/planemo_logo.png\n   :alt: Planemo Logo\n   :align: center\n   :figwidth: 100%\n   :target: https://github.com/galaxyproject/planemo\n\nCommand-line utilities to assist in developing Galaxy_ and `Common Workflow Language`_ artifacts -\nincluding tools, workflows, and training materials.\n\n.. image:: https://readthedocs.org/projects/planemo/badge/?version=latest\n   :target: http://planemo.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\n.. image:: https://badge.fury.io/py/planemo.svg\n   :target: https://pypi.python.org/pypi/planemo/\n   :alt: Planemo on the Python Package Index (PyPI)\n\n.. image:: https://github.com/galaxyproject/planemo/actions/workflows/ci.yaml/badge.svg\n   :target: https://github.com/galaxyproject/planemo/actions/workflows/ci.yaml?query=branch%3Amaster+event%3Apush\n\n* Free software: MIT License\n* Documentation: https://planemo.readthedocs.io.\n* Code: https://github.com/galaxyproject/planemo\n\nQuick Start\n-----------\n\n-----------------\nObtaining\n-----------------\n\nFor a traditional Python installation of Planemo, first set up a virtualenv\nfor ``planemo`` (this example creates a new one in ``.venv``) containing\nPython 3.8 or newer and then install with ``pip``. Planemo must be installed\nwith pip 7.0 or newer.\n\n::\n\n    $ python -m venv .venv; . .venv/bin/activate\n    $ pip install planemo\n\nFor information on updating Planemo, installing the latest development release,\nor installing Planemo via `Bioconda \u003chttps://github.com/bioconda/bioconda-recipes\u003e`__\n- checkout the `installation \u003chttp://planemo.readthedocs.io/en/latest/installation.html\u003e`__\ndocumentation.\n\nPlanemo is also available as a `virtual appliance\n\u003chttps://planemo.readthedocs.io/en/latest/appliance.html\u003e`_ bundled\nwith a preconfigured Galaxy server and set up for Galaxy_ and\n`Common Workflow Language`_ tool development.\nYou can choose from open virtualization format (OVA_, .ova) or Docker_\nappliances.\n\n-----------------\nBasics - Galaxy\n-----------------\n\nThis quick start will assume you have a directory with one or more Galaxy\ntool XML files. If no such directory is available, one can be quickly created for\ndemonstrating ``planemo`` as follows ``project_init --template=demo mytools; cd mytools``.\n\nPlanemo can check tool XML files for common problems and best\npractices using the ``lint`` `command \u003chttp://planemo.readthedocs.org/en/latest/commands.html#lint-command\u003e`_\n(also aliased as ``l``).\n\n::\n\n    $ planemo lint\n\nLike many ``planemo`` commands - by default this will search the\ncurrent directory and use all tool files it finds. It can be explicitly\npassed a path to tool files or a directory of tool files.\n\n::\n\n    $ planemo l randomlines.xml\n\nThe ``lint`` command takes in additional options related to\nreporting levels, exit code, etc. These options are described\nin the `docs \u003chttp://planemo.readthedocs.org/en/latest/commands.html#lint-command\u003e`_\nor (like with all commands) can be accessed by passing ``--help`` to it.\n\n::\n\n    $ planemo l --help\n    Usage: planemo lint [OPTIONS] TOOL_PATH\n\nOnce tools are syntactically correct - it is time to test. The ``test``\n`command \u003chttp://planemo.readthedocs.org/en/latest/commands.html#test-command\u003e`__\ncan be used to test a tool or a directory of tools.\n\n::\n\n\t$ planemo test --galaxy_root=../galaxy randomlines.xml\n\nIf no ``--galaxy_root`` is defined, Planemo will download and configure\na disposable Galaxy instance for testing.\n\nPlanemo will create a HTML output report in the current directory named\n``tool_test_output.html`` (override with ``--test_output``). See an\n`example \u003chttp://galaxyproject.github.io/planemo/tool_test_viewer.html?test_data_url=https://gist.githubusercontent.com/jmchilton/9d4351c9545d34209904/raw/9ed285d3cf98e435fc4a743320363275949ad63c/index\u003e`_\nof such a report for Tophat.\n\nOnce tools have been linted and tested - the tools can be viewed in a\nGalaxy interface using the ``serve`` (``s``) `command\n\u003chttp://planemo.readthedocs.org/en/latest/commands.html#serve-command\u003e`__.\n\n::\n\n\t$ planemo serve\n\nLike ``test``, ``serve`` requires a Galaxy root and one can be\nexplicitly specified with ``--galaxy_root`` or installed dynamically\nwith ``--install_galaxy``.\n\nFor more information on building Galaxy tools in general please check out\n`Building Galaxy Tools Using Planemo`_.\n\nFor more information on developing Galaxy workflows with Planemo checkout\n`best practices for Galaxy Workflows`_ and the description of Planemo's\n`test format`_. For information on developing Galaxy training materials\ncheckout the `contributing documentation \u003chttps://training.galaxyproject.org/training-material/topics/contributing/\u003e`__\non training.galaxyproject.org.\n\n----------------------------------\nBasics - Common Workflow Language\n----------------------------------\n\nThis quick start will assume you have a directory with one or more `Common Workflow\nLanguage`_ YAML files. If no such directory is available, one can be quickly created for\ndemonstrating ``planemo`` as follows ``planemo project_init --template=seqtk_complete_cwl mytools; cd mytools``.\n\nPlanemo can check tools YAML files for common problems and best\npractices using the ``lint`` `command \u003chttp://planemo.readthedocs.org/en/latest/commands.html#lint-command\u003e`_\n(also aliased as ``l``).\n\n::\n\n    $ planemo lint\n\nLike many ``planemo`` commands - by default this will search the\ncurrent directory and use all tool files it finds. It can be explicitly\npassed a path to tool files or a directory of tool files.\n\n::\n\n    $ planemo l seqtk_seq.cwl\n\nThe ``lint`` command takes in additional options related to\nreporting levels, exit code, etc. These options are described\nin the `docs \u003chttp://planemo.readthedocs.org/en/latest/commands.html#lint-command\u003e`_\nor (like with all commands) can be accessed by passing ``--help`` to it.\n\n::\n\n    $ planemo l --help\n    Usage: planemo lint [OPTIONS] TOOL_PATH\n\nOnce tools are syntactically correct - it is time to test. The ``test``\n`command \u003chttp://planemo.readthedocs.org/en/latest/commands.html#test-command\u003e`__\ncan be used to test a CWL tool, workflow, or a directories thereof.\n\n::\n\n  $ planemo test --engine cwltool seqtk_seq.cwl\n\nPlanemo will create a HTML output report in the current directory named\n``tool_test_output.html``. Check out the file ``seqtk_seq_tests.yml`` for\nan example of Planemo test for a CWL tool. A test consists of any number of\njobs (with input descriptions) and corresponding output assertions.\n\nCheckout the `Commmon Workflow User Guide`_ for more information on developing\nCWL tools in general and  `Building Common Workflow Language Tools`_ for more\ninformation on using Planemo to develop CWL tools.\n\n---------\nTool Shed\n---------\n\nPlanemo can help you publish tools to the Galaxy Tool Shed.\nCheck out `Publishing to the Tool Shed`_ for more information.\n\n------\nConda\n------\n\nPlanemo can help develop tools and Conda packages in unison.\nCheck out the `Galaxy \u003chttp://planemo.readthedocs.io/en/latest/writing_advanced.html#dependencies-and-conda\u003e`__ or `CWL\n\u003chttp://planemo.readthedocs.io/en/latest/writing_advanced_cwl.html#dependencies-and-conda-cwl\u003e`__ version of the \"Dependencies and Conda\" tutorial\nfor more information.\n\n-----------------------\nDocker and Containers\n-----------------------\n\nPlanemo can help develop tools that run in \"Best Practice\" containers for\nscientific workflows. Check out the `Galaxy \u003chttp://planemo.readthedocs.io/en/latest/writing_advanced.html#dependencies-and-containers\u003e`__ or `CWL\n\u003chttp://planemo.readthedocs.io/en/latest/writing_advanced_cwl.html#dependencies-and-containers-cwl\u003e`__ version of the \"Dependencies and Containers\" tutorial for more information.\n\n.. _Galaxy: http://galaxyproject.org/\n.. _GitHub: https://github.com/\n.. _Conda: http://conda.pydata.org/\n.. _Docker: https://www.docker.com/\n.. _Vagrant: https://www.vagrantup.com/\n.. _Travis CI: http://travis-ci.org/\n.. _`tools-devteam`: https://github.com/galaxyproject/tools-devteam\n.. _`tools-iuc`: https://github.com/galaxyproject/tools-iuc\n.. _Building Galaxy Tools Using Planemo: http://planemo.readthedocs.io/en/latest/writing_standalone.html\n.. _Publishing to the Tool Shed: http://planemo.readthedocs.org/en/latest/publishing.html\n.. _Common Workflow Language: https://www.commonwl.org/\n.. _Commmon Workflow User Guide: http://www.commonwl.org/user_guide/\n.. _Building Common Workflow Language Tools: http://planemo.readthedocs.io/en/latest/writing_cwl_standalone.html\n.. _OVA: https://en.wikipedia.org/wiki/Open_Virtualization_Format\n.. _test format: https://planemo.readthedocs.io/en/latest/test_format.html\n.. _best practices for Galaxy Workflows: https://planemo.readthedocs.io/en/latest/best_practices_workflows.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaxyproject%2Fplanemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalaxyproject%2Fplanemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaxyproject%2Fplanemo/lists"}