Command-line utilities to assist in building tools for the Galaxy project (http://galaxyproject.org/).
Command-line utilities to assist in building and publishing Galaxy tools.
- Free software: Academic Free License version 3.0
- Documentation: https://planemo.readthedocs.io.
- Code: https://github.com/galaxyproject/planemo
This quick start demonstrates using planemo commands to help develop Galaxy tools.
For a traditional Python installation of Planemo, first set up a virtualenv for planemo (this example creates a new one in .venv) and then install with pip. Planemo requires pip 7.0 or newer.
$ virtualenv .venv; . .venv/bin/activate $ pip install "pip>=7" # Upgrade pip if needed. $ pip install planemo
$ brew tap galaxyproject/tap $ brew install planemo
For information on updating Planemo, installing the latest development release, or installing planemo via bioconda - checkout the installation documentation.
Planemo is also available as a virtual appliance bundled with a preconfigured Galaxy server and set up for Galaxy tool development. You can choose from open virtualization format (OVA, .ova), Docker, or Vagrant appliances.
This quick start will assume you have a directory with one or more tool XML files. If none is available, one can be quickly created for demonstrating planemo as follows mkdir mytools; cd mytools; planemo project_init --template=demo.
Planemo can check tools containing XML for common problems and best practices using the lint command (also aliased as l).
$ planemo lint
Like many planemo commands - by default this will search the current directory and use all tool files it finds. It can be explicitly passed a path to tool files or a directory of tool files.
$ planemo l randomlines.xml
The lint command takes in additional options related to reporting levels, exit code, etc. These options are described in the docs or (like with all commands) can be accessed by passing --help to it.
$ planemo l --help Usage: planemo lint [OPTIONS] TOOL_PATH
Once tools are syntactically correct - it is time to test. The test command can be used to test a tool or a directory of tools.
$ planemo test --galaxy_root=../galaxy randomlines.xml
If no --galaxy_root is defined, planemo will check for a default in ~/.planemo.yml and finally search the tool’s parent directories for a Galaxy root directory. Planemo can also download and configure a disposable Galaxy instance for testing. Pass --install_galaxy instead of --galaxy_root.
$ planemo t --install_galaxy
Planemo will create a HTML output report in the current directory named tool_test_output.html (override with --test_output). See an example of such a report for Tophat.
Once tools have been linted and tested - the tools can be viewed in a Galaxy interface using the serve (s) command.
$ planemo serve
Like test, serve requires a Galaxy root and one can be explicitly specified with --galaxy_root or installed dynamically with --install_galaxy.
Planemo can help you publish tools to the Galaxy Tool Shed. Check out Publishing to the Tool Shed.
Conda Package Manager
Conda is package manager that among many other things can be used to manage Python packages. Please read a few notes regarding the setup:
Planemo cannot be installed via Conda and then run Galaxy inside the same Conda environment currently.
galaxy-lib is a dependency of Planemo and having this on the Python path prevents correct operation of Galaxy.
Conda dependency resolution can be used for Galaxy tools,
This allows Galaxy to map conda recipes to requirement tags on tools
Just install planemo normally via pip into a virtual environment or via brew and use the appropriate commands and options:
$ planemo conda_init $ planemo conda_install . $ planemo test --galaxy_branch release_16.04 --conda_dependency_resolution . $ planemo serve --galaxy_branch release_16.04 --conda_dependency_resolution .
The test and serve commands above require the target Galaxy to be 16.01 or higher.
Galaxy can also simply run inside an existing conda environment and rather than using dependency resolution Conda packages can just be picked up from the PATH.
Note: This isn’t a well supported approach yet, and when possible Planemo and Galaxy should not be installed inside of Conda and the conda dependency resolution (as described above) should be used to allow tools to find Conda packages.
To run Galaxy within a Conda environment, Planemo must be installed outside the Conda environment - via pip into a virtual environment or via homebrew. In the former case, don’t place the virtualenv’s bin directory on your PATH - it will conflict with Conda. Just reference Planemo directly /path/to/planemo_venv/bin/planemo test.
To run Galaxy from within the environment you will need to install Galaxy dependencies into the conda environment. Target the development branch of Galaxy for this since it has “unpinned” dependencies that are easier to fullfill for conda.
(conda-env-test) $ conda install numpy bx-python pysam # install the hard ones using conda (conda-env-test) $ cd $GALAXY_ROOT (conda-env-test) $ ./scripts/common_startup.sh --skip-venv --dev-wheels # install remaining ones using pip via Galaxy (conda-env-test) $ cd /path/to/my/tools (conda-env-test) $ /path/to/planemo_venv/bin/planemo test --skip_venv . (conda-env-test) $ /path/to/planemo_venv/bin/planemo serve --skip_venv .
A small test script in the Planemo source tree demonstrates this.
When tools are ready to be published to GitHub, it may be valuable to setup continuous integration to test changes committed and new pull requests. Travis CI is a service providing free testing and deep integration with GitHub.
$ planemo travis_init . $ # setup Ubuntu 12.04 w/tool dependencies $ vim .travis/setup_custom_dependencies.bash $ git add .travis.yml .travis $ git commit -m "Add Travis CI testing infrastructure for tools." $ git push # and register repository @ http://travis-ci.org/
In this example the file .travis/setup_custom_dependencies.bash should install the dependencies required to test your files on to the Travis user’s PATH.
This testing approach may only make sense for smaller repositories with a handful of tools. For larger repositories, such as tools-devteam or tools-iuc simply linting tool and tool shed artifacts may be more feasible. Check out the .travis.yml file used by the IUC as example.
A shell can be launched to explore the Docker environment referenced by tools that are annotated with publically registered Docker images.
$ (planemo docker_shell bowtie2.xml)
For Docker containers still in development - a Dockerfile can be associated with a tool by sticking it in the tool’s directory. Planemo can then build and tag a Docker image for this tool and launch a shell into it using the following commands.
$ planemo docker_build bowtie2.xml # assumes Dockerfile in same dir $ (planemo docker_shell --from_tag bowtie2.xml)
Common Workflow Language
Planemo includes highly experimental support for running a subset of valid Common Workflow Language (CWL) tools using a fork of Galaxy enhanced to run CWL tools.
$ planemo project_init --template cwl_draft3_spec $ planemo serve --cwl cwl_draft3_spec/cat1-tool.cwl
The Galaxy development team was exploring (the effort has since shifted towards Conda) different options for integrating Homebrew and linuxbrew with Galaxy. One angle is resolving the tool requirements using brew. An experimental approach for versioning of brew recipes will be used. See full discussion on the homebrew-science issues page here. Information on the implementation can be found https://github.com/jmchilton/platform-brew until a more permanent project home is setup.
$ planemo brew_init # install linuxbrew (only need if not already installed) $ planemo brew # install dependencies for all tools in directory. $ planemo brew bowtie2.xml # install dependencies for one tool $ which bowtie2 bowtie2 not found $ . <(planemo brew_env --shell bowtie2.xml) # shell w/brew deps resolved (bowtie2)$ which bowtie2 /home/john/.linuxbrew/Cellar/bowtie2/2.1.0/bin/bowtie2 (bowtie2)$ exit $ . <(planemo brew_env bowtie2.xml) # or just source deps in cur env $ which bowtie2 /home/john/.linuxbrew/Cellar/bowtie2/2.1.0/bin/bowtie2
- Change behavior of --docker flag, for a few releases it would require Galaxy use a container for every non-upload tool. This breaks various conversion tools for instance and so was reverted. Pull Request 733
- Add ‘Accept’ header when linting doc URLs (thanks to @nsoranzo). Pull Request 725
- Fix –conda_auto_install help (thanks to @nsoranzo). Pull Request 727
- Incremental progress toward CWL support via Galaxy. Pull Request 729, Pull Request 732
- Update galaxy-lib to latest version to fix various issues. Pull Request 730
- Fix lint detected problems with documentation. Pull Request 731
- Update to the latest galaxy-lib for Conda fixes. (thanks @nsoranzo) and updated CWL utilities. Pull Request 716, Pull Request 723
- Update Conda channel order to sync with Bioconda (thanks to @nsoranzo). Pull Request 715
- Experimental support running CWL workflows through the CWL fork of Galaxy.
- Mention planemo command --help in main help (thanks to @peterjc). Pull Request 709
- Bugfix handle None requirement versions when registering containers (thanks to @bgruening). Pull Request 704
- Bugfix for dependencies by pinning ruamel.yaml version (thanks to @mvdbeek). Pull Request 720
- Conda/Container documentation and option naming improvements. Pull Request 684
- Sync galaxy.xsd with latest upstream Galaxy updates (thanks to @nsoranzo). Pull Request 687
- Fix ci_find_repos command to not filter repos whose only modifications where in subdirs (thanks to @nsoranzo). Pull Request 688
- Update container_register for mulled version 2 and repository name changes. Pull Request 689
- Better pull request messages for the container_register command. Pull Request 690
- Fix shed_update not fail if there is nothing to update (thanks to @nsoranzo). Issue 494, Pull Request 680
- Conda documentation and option naming improvements. Pull Request 683
- Implement container_register for tool repositories. Pull Request 675
- Fix hub binary installation for Mac OS X. Pull Request 682
- Fix data manager configuration to not conflict with original Galaxy at galaxy_root (thanks to @nsoranzo). Pull Request 662
- Fix filter_paths() to not partial match paths when filtering shed repositories (thanks to @nsoranzo). Pull Request 665
- Fix description when creating .shed.yml files (thanks to @RJMW). Pull Request 664
- Implement instructions and project template for GA4GH Tool Execution Challenge Phase 1. 84c4a73
- Eliminate Conda hack forcing /tmp as temp directory. b4ae44d
- Run dependency script tests in isolated directories. 32f41c9
- Fix OS X bug in planemo run by reworking it to wait using urllib instead of sockets. 3129216
- Implement documentation and examples for Conda-based dependency development (under “Advanced” topics). Pull Request 642, Pull Request 643
- Implement documentation and examples for container-based dependency development (under “Advanced” topics). 0a1abfe
- Implement a planemo conda_search command for searching best practice channels from the command line. Pull Request 642
- Allow Planemo to work with locally built Conda packages using the --conda_use_local command. Pull Request 643, Issue 620
- Implement an open (or just o) command to quickly open the last test results (or any file if supplied). Pull Request 641
- Linting improvements and fixes due to galaxy-lib update. * WARN on test output names not found or not matching. * INFO correct information about stdio if profile version is found. * WARN if profile version is incorrect. * INFO profile version * Fix assert_command not detected as a valid test (fixes Issue 260).
- Have lint --conda_requirements check that at least one actual requirement is found. 6638caa
- Allow conda_install to work with packages as well as just tools. 8faf661
- Add --global option to conda_install to install requirements into global Conda setup instead of using an environment. 8faf661
- Implement planemo lint --biocontainer that checks that a tool has an available BioContainer registered. 0a1abfe
- Add more options and more documentation to the planemo mull command. 0a1abfe
- Hack around a bug in Conda 4.2 that makes it so planemo mull doesn’t work out of the box on Mac OS X. 0a1abfe
- Allow URIs to be used instead of paths for a couple operations. ce0dc4e
- Implement non-strict CWL parsing option. 4c0f100
- Fixes for changes to cwltool and general CWL-relate functionality. 3c95b7b, 06bcf19, 525de8f, 9867e56, 9ab4a0d
- Eliminate deprecated XML-based abstraction from planemo.tools. 04238d3
- Fix MANIFEST.in entry that was migrated to galaxy-lib. ced5ce2
- Various fixes for the command conda_env. Pull Request 640
- Improved command help - both formatting and content. Pull Request 639
- Implement a --no_dependency_resolution option disabling conda dependency resolver. Pull Request 635, Issue 633
- Tests for new linting logic. Pull Request 638
- Fix bug where tool IDs needs to be lowercase for the shed (thanks to @bgruening). Pull Request 649
- Update seqtk version targetted by intro docs. e343b67
- Various other Conda usability improvements. Pull Request 634
- Fix bug with shed_lint --urls introduced in 0.38.0. 84ebc1f
- Trim down the default amount of logging during testing. Pull Request 629, Issue 515
- Improved log messages during shed operations. 08c067c
- Update tool XSD against latest Galaxy. fca4183, 03c9658
- Fix bug where shed_lint --tools for a suite lints the same tools multiple times. Issue 564, Pull Request 628
- Update to the latest galaxy-lib release. This means new installs start with Miniconda 3 instead of Minicoda 2 and at a newer version. This fixes many Conda related bugs.
- Change defaults so that Conda automatically initializes and performs tool installs by default from within the spawned Galaxy server. The trio of flags --conda_dependency_resolution, --conda_auto_install, and --conda_auto_init are effectively enabled by default now. 4595953
- Use the Galaxy cached dependency manager by default (thanks to @abretaud). Pull Request 612
- Test Conda dependency resolution for more versions of Galaxy including the forthcoming release of 17.01.
- Update to the latest Galaxy tool XSD for various tool linting fixes. 32acd68
- Fix pip ignores for bioconda_scripts (thanks to @nturaga) Pull Request 614
- Implement mull command to build containers for tools based on Conda recipes matching requirement definitions. 08cef54
- Implement --mulled_containers flag on test, serve, and run commands to run tools in “mulled” containers. Galaxy will first search locally cache containers (such as ones built with mull), then search the mulled namespace of quay.io, and finally build one on-demand if needed using galaxy-lib and Involucro developed by @thriqon.
- Implement --conda_requirements flag on lint command to ensure requirements can be resolved in best practice channels. 9da8387
- Allow conda_install command over multiple tool paths. 2e4e5fc
- Update pip as part of setting virtual environment in Makefile target. 19b2ee9
- Add script to auto-update Bioconda recipe for Planemo and open a pull request. f0da66f
- Fix HISTORY.rst link problem that prevented correct display of content on PyPI.
- Enable XSD validation of tools by default (restore old behavior with planemo lint --no_xsd). 1ef05d2
- Implement a conda_lint command to lint Conda recipes based on anaconda-verify. 6a6f164
- Implement clone and pull_request commands to ease PRs (with documentation fixes from @martenson). e925ba1, ea5324f
- Update galaxy.xsd to allow version_command’s to have an interpreter attribute. 7cca2e4
- Apply improvement from @nsoranzo for Planemo’s use of git diff. 6f91719
- Pull in downstream refactoring of tool_init code from @nturaga’s Bioconductor work. ccdd2d5
- Update to latest Tool Factory code from tools-iuc. ca88b0c
- Small code cleanups. b6d8294, d6da3a8
- Fixup docs in planemo.xml.validation.
- Allow skipping newly required lxml dependency in setup.py. 34538de
- Enhance planemo lint --xsd to use a fairly complete and newly official XSD definition. Pull Request 566
- Migrate and update documentation related to tool XML macros and handling multiple outputs from the Galaxy wiki (with help from @bgruening, @mvdbeek, and @nsoranzo). Pull Request 559
- Documentation fixes (thanks to @ramezrawas). Pull Request 561
- Do not fail URL linting in case of too many requests (thanks to @nsoranzo). Pull Request 565
- Implement new commands to ci_find_repos and ci_find_tools to ease CI scripting. Pull Request 555
- Update to the latest galaxy-lib release and change Conda semantics to match recent updates to Galaxy. For the most robust Conda usage - use planemo 0.30+ with Galaxy 16.07 or master. 07d94bd
- Implement the --conda_auto_init flag for conda_install. ca19910
- Allow the environment variable PLANEMO_CONDA_PREFIX to set a default for --conda_prefix. 24008ab
- Fixup documentation regarding installs and Conda. ce44e87
- Fix and lint Python module import order throughout project. Pull Request 550
- Use cp rather than symlink to $DOWNLOAD_CACHE in the dependency_script command (thanks to @peterjc). c2204b3
- Fixes for the Homebrew recipe updater. c262b6d
- Improved handling of Python 2.7 specific dependencies.
- Look for sha256sum checksums during shed_lint (thanks to @peterjc). Pull Request 539
- An assortment fixes and enhancements to the dependency_script command (thanks to @peterjc). Pull Request 541, Pull Request 545
- Fix shed_build to respect exclude: in .shed.yml (thanks to @nsoranzo). Pull Request 540
- Fix linting of tool URLs (thanks to @nsoranzo). Pull Request 546
- Fixes for bioblend v0.8.0 (thanks to @nsoranzo). 9fdf490
- Enable shed repo type update (thanks to @nsoranzo). 3ceaa40
- Create suite repositories with repository_suite_definition type by default (thanks to @nsoranzo). 057f4f0
- Include shed_lint in script run by travis_init (thanks to @peterjc). Pull Request 528
- Minor polish to the travis_init command (thanks to @peterjc). Pull Request 512
- Update pip and setuptools on TravisCI; fix travis_init (thanks to @peterjc). Pull Request 521
- Shorten command one line descriptions for main help (thanks to @peterjc). Pull Request 510
- Use planemo test --no_cache_galaxy under TravisCI (thanks to @peterjc). Pull Request 513
- Improve and fix docs ahead of GCC 2016 (thanks to @martenson). Pull Request 498, 725b232
- Add description of expect_num_outputs to planemo FAQ. a066afb
- Revise planemo tools docs to be more explicit about collection identifiers. a811e65
- Add more docs on existing dynamic tool output features. Pull Request 526
- Fix serve command doc (thanks to @nsoranzo). 8c088c6
- Fix make lint-readme (RST link errors) (thanks to @peterjc). Pull Request 525
- Add union bedgraph example to project templates (for GCC demo example). d53bcd6
- Add Flow Cytometry Analysis, Data Export, and Constructive Solid Geometry as shed categories (thanks to @bgruening, @gregvonkuster, and @nsoranzo). e890ab5, 08bb354, e2398fb
- Remove duplicated attribute in docs/writing/bwa-mem_v5.xml (thanks to Paul Stewart @pstew). Pull Request 507
- Use ephemeris to handle syncing shed tools for workflow actions. 1c6cfbb
- More planemo testing enhancements for testing artifacts that aren’t Galaxy tools. Pull Request 491
- Implement docker_galaxy engine type. eb039c0, Issue 15
- Enhance profiles to be Dockerized Galaxy-aware. Pull Request 488
- Add linter for DOI type citation - thanks to @mvdbeek. Pull Request 484
- Implement Engine and Runnable abstractions - Planemo now has beta support for testing Galaxy workflows and CWL tools with Galaxy and any CWL artifact with cwltool. Pull Request 454, 7be1bf5
- Fix missing command_line in test output json. e38c436
- More explicit Galaxy job_conf.xml handling, fixes bugs caused by galaxy_root having existing and incompatible job_conf.xml files and makes it possible to specify defaults with fixed server name. c4dfd55
- Introduce profile commands (profile_create, profile_delete, and profile_list) and profile improvements (automatic postgres database creation support). Pull Request 480, a87899b
- Rework Galaxy test reporting to use structured data instead of XUnit data. 4d29bf1
- Refactor Galaxy configuration toward support for running Galaxy in docker-galaxy-stable. Pull Request 479
- Implement Galaxy “profiles” - the ability to configure perisistent, named environments for serve and test. 5d08b67
- Greatly improved serve command - make test-data available as an FTP folder, (on 16.07) automatically log in an admin user, and many more options (such as those required for “profiles” and a --daemon mode).
- Two fixes to ensure more consistent, dependable test output. Pull Request 472, f3c6917
- Add code and documentation for linting (lint) and building (tool_init) CWL tools. a4e6958, b0b867e, 4cd571c
- If needed for Conda workaround, shorten config_directory path (thanks to @mvdbeek). efc5f30
- Fix --no_cache_galaxy option (thanks to Gildas Le Corguillé). d8f2038
- Target draft 3 of CWL instead of draft 2. 775bf49
- Fix cwltool dependency version - upstream changes broke compatibility. 65b999d
- Add documentation section and slides about recent Galaxy tool framework changes (with fix from @remimarenco). 069e7ba
- Add IUC standards to Planemo docs. 2ae2b49
- Improve collection-related contents in documentation (thanks in part to @martenson). fea51fc, 13a5ae7
- Add documentation on GALAXY_SLOTS and running planemo on a cluster. 45135ff, e0acf91
- Revise command-line handling framework for consistency and extension - allow extra options to be configured as defaults ~/.planemo.yml including --job_config_file and Conda configuration options. e769118, 26e378e
- Fix tool_init commans options typos (thanks to Nitesh Turaga). 826d371
- Refactor galaxy-related modules into submodules of a new planemo.galaxy package. 8e96864
- Fix error message typo (thanks to @blankenberg). b1c8f1d
- Update documentation for recent command additions. 3f4ab44
- Rename option --galaxy_sqlite_database option to --galaxy_database_seed and fix it so it actually works. f7554d1
- Add --extra_tools option to serve command. 02a08a0
- Update project testing to include linting documentation (docs/), Python import order, and docstrings. a13a120, 6e1e726, 95d5cba
- Drop support for Python 2.6. 93b7bda
- A variety of fixes for shed_update. Pull Request 428, Issue 416
- Fix reporting of metadata updates for invalid shed updates. Pull Request 426, Issue 420
- Check .shed.yml owner against credentials during shed creation. Pull Request 425, Issue 246
- Fix logic error if there is a problem with shed_create. 358a42c
- Tool documentation improvements. 0298510, a58a3b8
- Fixed bug targetting forthcoming release of Galaxy 16.01.
- Fixed problem with PyPI build artifacts due to submodule’s not being initialized during previous release.
- Add --skip_venv to support running Galaxy 16.01 inside of conda environments. 9f3957d
- Implement conda support. f99f6c1, ad3b2f0, 5e0b6d1
- Update LICENSE for Planemo to match Galaxy. 15d33c7
- Depend on new galaxy-lib on PyPI instead of previous hacks…. Pull Request 394
- Fix egg caching against master/15.10. 6d0f502
- Fix bug causing shed publishing of .svn directories. Issue 391
- Bug fixes for Conda support thanks to @bgruening. 63e456c
- Fix document issues thanks to @einon. Pull Request 390
- Improve client for shed publishing to support newer shed backend being developed by @erasche. Pull Request 394
- Tool Shed repo_id change, @erasche. Pull Request 398
- Various other small changes to testing, project structure, and Python 3 support.
- If virtualenv not on PATH, have Planemo create one for Galaxy. 5b97f2e
- Add documentation section on testing tools installed in an existing Galaxy instance. 1927168
- When creating a virtualenv for Galaxy, prefer Python 2.7. e0577e7
- Documentation fixes and improvements thanks to @martenson. 0f8cb10, 01584c5, b757791
- Specify a minimum six version requirement. 1c7ee5b
- Add script to test a planemo as a wheel. 6514ff5, Issue 184
- Fix empty macro loading. Issue 362
- Fix an issue when you run shed_diff --shed_target local thanks to Gwendoline Andres and Gildas Le Corguillé at ABiMS Roscoff. Pull Request 375
- Fix shed_diff printing to stdout if -o isn’t specified. f3394e7
- Small shed_diff improvements to XML diffing and XUnit reporting. af7448c, 83e227a
- More logging of shed_diff results if --verbose flagged. 9427b47
- Add test_report command for rebuilding reports from structured JSON. 99ee51a
- Fix option bug with Click 6.0 thanks to @bgruening. 2a7c792
- Improved error messages for test commands. fdce74c
- Various fixes for Python 3. 2f66fc3, 7572e99, 8eda729, 764ce01
- Use newer travis container infrastructure for testing. 6d81a94
- Test case fixes. 98fdc8c, 0e4f70a
- More complete I/O capturing for XUnit. 6409449
- Check for select parameter without options when linting tools. Issue 373
- Add --cwl_engine argument to cwl_run command. dd94ddc
- Fixes for select parameter linting. 8b31850
- Fix to demultiplexing repositories after tool uploads. Issue 361
- Fix to update planemo for Galaxy wheels. 25ef0d5
- Various fixes for Python 2.6 and Python 3. c1713d2, 916f610, c444855
- Initial implementation of cwl_run command that runs a CWL tool and job file through Galaxy. 49c5c1e
- Add --cwl flag to serve to experimentally serve CWL tools in Galaxy. Pull Request 339
- Implement highly experimental cwl_script command to convert a CWL job to a bash script. 508dce7
- Add name to all XUnit reports (thanks to @erasche). Pull Request 343
- Capture stdout and stderr for shed_diff and shed_update XUnit reports. Pull Request 344
- More tool linting (conditionals) thanks to @erasche. Pull Request 350
- UTF-8 fixes when handling XUnit reports. Pull Request 345
- Add Epigenetics as Tool Shed category. Pull Request 351
- Merge changes to common modules shared between Galaxy, Planemo, and Pulsar (thanks to @natefoo). Pull Request 356
- Add --cite_url to tool_init. fdb1b51
- tool_init bug fix. f854138
- Fix setup.py for cwltool and bioblend changes. 1a157d4
- Add option to specify template sqlite database locally. c23569f
- Add example IPython notebooks to docs. c8640b6
- Fix issue with test reporting not being populated. 19900a6
- Improvements to docker_shell usability (thanks to @kellrott). Pull Request 334
- Add docker pull attempt when missing Dockerfile (thanks to @kellrott). Pull Request 333
- Fix bug inferring which files are tool files (thanks to @erasche). Pull Request 335, Issue 313
- Initial work toward automating brew recipe update. 4d6f7d9, Issue 329
- Implement basic XUnit report option for shed_update (thanks to @martenson). Pull Request 322
- Fix issues with producing test outputs. 572e754
- Xunit reporting improvements - refactoring, times, diff output (thanks to @erasche). Pull Request 330
- Implement project governance policy and update developer code of conduct to match that of the Galaxy project. Pull Request 316
- Update filters for account for new .txt and .md test outputs (thanks to @erasche). Pull Request 327
- Add verbose logging to galaxy test output handling problems. 5d7db92
- Flake8 fixes (thanks to @martenson). 949a36d
- Remove uses of deprecated mktemp Python standard library function (thanks to @erasche). Pull Request 330
- Template framework for reporting including new markdown and plain text reporting options for testing - thanks to @erasche. Pull Request 304
- XUnit style reporting for shed_diff command - thanks to @erasche. Pull Request 305
- Add new shed_build command for building repository tarballs - thanks to @kellrott. Pull Request 297
- Fix exit code handling for lint commands - thanks to @mvdbeek. Pull Request 292
- Improved documentation for serve command - thanks to @lparsons. Pull Request 312
- Tiny backward compatible Python 3 tweaks for Tool Factory - thanks to @peterjc. dad2d9d
- Fixed detection of virtual environment in Makefile - thanks to @lparsons. Pull Request 311
- Updates to Galaxy XSD - thanks to @mr-c. Pull Request 309
- Allow reading shed key option from an environment variable. Pull Request 307
- Allow specifying host to serve Galaxy using -host - thanks in part to @chambm. Pull Request 301
- Allow specifying defaults for -host and --port in ~/.planemo.yml. Pull Request 301
- Improve ~/.planemo.yml sample comments - thanks to @martenson. Pull Request 287
- Update tool shed categories - thanks to @bgruening. Pull Request 285
- Improved output readibility for diff command - thanks to @martenson. Pull Request 284
- Allow -t as shorthand for --shed_target (thanks to Peter Cock). Pull Request 278
- Fix tool_init command to use from_work_dir only if file in command (thanks to bug report and initial fix outline by Gildas Le Corguillé). Pull Request 277
- Various documentation fixes (thanks in part to Peter Cock and Daniel Blankenberg). Pull Request 256, Pull Request 253, Pull Request 254, Pull Request 255, Pull Request 251, Issue 272
- Fix project_init for missing files. cb5b906
- Various documentation improvements.
- Fix for shed_init producing non-standard type hints. Issue 243, f0610d7
- Fix tool linting for parameters that define an argument but not a name. Issue 245, aad1eed
- Many doc updates including a tutorial for developing tools in a test-driven fashion and instructions for using the planemo appliance through Kitematic (with Kitematic screenshots from Eric Rasche).
- If planemo cannot find a Galaxy root, it will now automatically fetch one (specifing --galaxy_install will still force a fetch). Pull Request 235
- Docuementation has been updated to reflect new and vastly improved Docker and Vagrant virtual appliances are now available, as well as a new VirtualBox OVA variant.
- Update linting for new tool XML features (including detect_errors and output collections). Issue 233, 334f2d4
- Fix shed_test help text. Issue 223
- Fix code typo (thanks to Nicola Soranzo). Pull Request 230
- Improvements to algorithm used to guess if an XML file is a tool XML file. Issue 231
- Fix configuration file handling bug. Issue 240
- Fix shed_test and shed_serve for test and local tool sheds. f3cafaa
- Fix to ensure the tab completion script is in the Python source tarball (required for setting up tab-completion for Homebrew). 6b4e7a6
- Implement a --failed flag for the test command to rerun previously faied tests. Pull Request 210
- Implement shed_update to upload contents and update repository metadata. Pull Request 216
- Implement shed_test and shed_serve commands to test and view published artifacts in the Tool Shed. Pull Request 213, Issue 176
- Add shell tab-completion script. 37dcc07
- Many more commands allow specifing multiple tool and/or repository targets. Issue 150
- Add -m as alias for –message in planemo shed_upload (thanks to Peter Cock). Pull Request 200
- Add --ensure_metadata option to shed_lint to ensure .shed.yml files contain many repository. Pull Request 215
- More developer documentation, additional make targets including ones for setting up git pre-commit hooks. cc8abb6, Issue 209
- Small README improvement (thanks to Martin Čech) b53006d
- Fixes for shed operation error handling (thanks to Martin Čech). Pull Request 203, Pull Request 206
- Fix for “smart” shed_diff not in the repository root directory (thanks to Peter Cock). Pull Request 207, Issue 205
- Recursive shed_diff with directories not yet in Tool Shed. Pull Request 208
- Improve error handling and reporting for problematic --shed_target values. Issue 217
- Fix typos in lint messages. Issue 211
- Fix default behavior for planemo lint to use current directory if explicit paths are not supplied. 1e3668a
- More compact syntax for defining multiple custom inclusions in .shed.yml files - thanks to Peter Cock. Issue 180, Pull Request 185, Pull Request 196
- Prevent ambigous destinations when defining custom inclusions in .shed.yml- thanks to Peter Cock. Pull Request 186
- lint now warns if tool ids contain whitespace. Pull Request 190
- Handle empty tar-balls gracefully on older Python versions - thanks to Peter Cock. Pull Request 187
- Tweak quoting in cp command - thanks to Peter Cock. 6bcf699
- Fix regression causing testing to no longer produce “pretty” test results under certain circumstances. Issue 188
- Fix for recursive shed_diff folder naming. Issue 192
- Fix output definitions to tool_init command. Issue 189
- Extend shed_lint to check for valid actions in tool_dependencies.xml files. 8117e03
- Extend shed_lint to check for required files based on repository type. Issue 156
- Ignore common editor backup files during shed_upload. Issue 179
- Fix missing file when installing from source via PyPI. Issue 181
- Fix lint to verify data inputs specify a format attribute. 8117e03
- Docstring fix thanks to @peterjc. fe7ad46
- Add new logo to the README thanks to @petrkadlec from puradesign.cz and @carlfeberhard from the Galaxy Project. Issue 108
- Implement smarter shed_diff command - it now produces a meaningful exit codes and doesn’t report differences if these correspond to attributes that will be automatically populated by the Tool Shed. Issue 167
- Use new smarter shed_diff code to implement a new --check_diff option for shed_upload - to check for meaningful differences before updating repositories. Issue 168
- Record git commit hash during shed_upload if the .shed.yml is located in a git repository. Issue 170
- Allow shed_ operations to operate on git URLs directly. Issue 169
- Fail if missing file inclusion statements encountered during .shed.yml repository resolution - bug reported by @peterjc. Issue 158
- Improved exception handling for tool shed operations including new --fail_fast command-line option. * Issue 114, Pull Request 173
- Implement more validation when using the shed_init command. 1cd0e2d
- Add -r/--recursive option to shed_download and shed_diff commands and allow these commands to work with .shed.yml files defining multipe repositories. 40a1f57
- Add --port option to the serve and tool_factory commands. 15804be
- Fix problem introduced with setup.py during the 0.9.0 development cycle - thanks to @peterjc. Pull Request 171
- Fix clone bug introduced during 0.9.0 development cycle - thanks to @bgruening. Pull Request 175
- Fixes for the source distribution to allow installation of 0.8.0 via Homebrew.
- Implement the new shed_lint command that verifies various aspects of tool shed repositories - including XSD validation of repository_dependencies.xml and tool_dependencies.xml files, best practices for README files, and the contents of .shed.yml files. This requires the lxml library to be available to Planemo or the application xmllint to be on its PATH. Pull Request 130 Issue 89 Issue 91 912df02 d26929e 36ac6d8
- Option to enable experimental XSD based validation of tools when lint is executed with the new --xsd flag. This validation occurs against the unofficial Galaxy Tool XSD project maintained by @JeanFred. This requires the lxml library to be available to Planemo or the application xmllint to be on its PATH. Pull Request 130 912df02
- Allow skipping specific linters when using the lint command using the new --skip option. 26e3cdb
- Implement sophisticated options in .shed.yml to map a directory to many, custom Tool Shed repositories during shed operaitons such shed_upload including automatically mapping tools to their own directories and automatically building suites repositories. Pull Request 143
- Make shed_upload more intelligent when building tar files so that package and suite repositories may have README files in source control and they will just be filtered out during upload. 53edd99
- Implement a new shed_init command that will help bootstrap .shed.yml files in the specified directory. cc1a447
- Extend shed_init to automatically build a repository_rependencies.xml file corresponding to a Galaxy workflow (.ga file). Issue 118 988de1d
- In addition to a single file or directory, allow lint to be passed multiple files. 343902d Issue 139
- Add -r/--recursive option to shed_create and lint commands. 63cd431 01f2af9
- Improved output formatting and option to write diffs to a file for the shed_diff command. 965511d
- Fix lint problem when using new Galaxy testing features such as expecting job failures and verifing job output. Issue 138
- Fix typo in test help thanks to first time contributor @pvanheus. Pull Request 129 1982076
- Fix NPE on empty help element when linting tools. Issue 124
- Fix lint warnings when configfiles are defined in a tool. 1a85493
- Fix for empty .shed.yml files. b7d9e96
- Fix the test command for newer versions of nose. 33294d2
- Update help content and documentation to be clear normalize should not be used to update the contents of tool files at this time. 08de8de
- Warn on unknown command attributes when linting tools (anything but interpreter). 4f61025
- Various design, documentation (including new documentation on Tool Shed publishing), and testing related improvements (test coverage has risen from 65% to over 80% during this release cycle).
- Implement shed_create command to create Tool Shed repositories from .shed.yml files (thanks to Eric Rasche). Pull Request 101
- Allow automatic creation of missing repositories during shed_upload with the new --force_repository_creation flag (thanks to Eric Rasche). Pull Request 102
- Allow specifying files to exclude in .shed.yml when creating tar files for shed_upload (thanks to Björn Grüning). Pull Request 99
- Resolve symbolic links when building Tool Shed tar files with shed_upload (thanks to Dave Bouvier). Pull Request 104
- Add a Contributor Code of Conduct. Pull Request 113
- Omit tool_test_output.json from Tool Shed tar file created with shed_upload (thanks to Dave Bouvier). Pull Request 111
- Update required version of bioblend to 0.5.3. Fixed Issue 88.
- Initial work on implementing tests cases for Tool Shed functionality. 182fe57
- Fix incorrect link in HTML test report (thanks to Martin Čech). 4c71299
- Download Galaxy from the new, official Github repository. 7c69bf6
- Update travis_test to install stable planemo from PyPI. 39fedd2
- Enable caching on --install_galaxy by default (disable with --no_cache_galaxy). d755fe7
- Many enhancements to the tool building documentation - descriptions of macros, collections, simple and conditional parameters, etc…
- Fix tool_init to quote file names (thanks to Peter Cock). Pull Request 98.
- Allow ignoring file patterns in .shed.yml (thanks to Björn Grüning). Pull Request 99
- Add --macros flag to tool_init command to generate a macro file as part of tool generation. ec6e30f
- Add linting of tag order for tool XML files. 4823c5e
- Add linting of stdio tags in tool XML files. 8207026
- More tests, much higher test coverage. 0bd4ff0
- Fix README.rst so it renders properly on PyPI.
- Implement tool_init command for bootstrapping creation of new tools (with tutorial.) 78f8274
- Implement normalize command for reorganizing tool XML and macro debugging. e8c1d45
- Implement tool_factory command to spin up Galaxy pre-configured the Tool Factory. 9e746b4
- Added basic linting of command blocks. b8d90ab
- Improved linting of help blocks, including verifying valid reStructuredText. 411a8da
- Fix bug related to serve command not killing Galaxy properly when complete. 53a6766
- Have serve command display tools at the top level instead of in shallow sections. badc25f
- Add additional dependencies to setup.py more functionality works out of the box. 85b9614
- Fix terrible error message related to bioblend being unavailable. Issue 70
- Various smaller documentation and project structure improvements.
- Fixes to get PyPI workflow working properly.
- Add option (-r) to the shed_upload command to recursively upload subdirectories (thanks to Eric Rasche). Pull Request 68
- Fix diff formatting in test reports (thanks to Eric Rasche). Pull Request 63
- Grab updated test database to speed up testing (thanks to approach from Eric Rasche and Dannon Baker). Issue 61, dff4f33
- Fix test data command-line argument name (was test-data now it is test_data). 834bfb2
- Use tool_data_table_conf.xml.sample file if tool_data_table_conf.xml.test is unavailable. Should allow some new tools to be tested without modifying Galaxy’s global tool_data_table_conf.xml file. ac4f828
- Improvements to way Planemo loads its own copy of Galaxy modules to prevent various conflicts when launching Galaxy from Planemo. Pull Request 56
- Allow setting various test output options in ~/.planemo.yml and disabling JSON output. 21bb463
- More experimental Brew and Tool Shed options that should not be considered part of Planemo’s stable API. See bit.ly/gxbrew1 for more details.
- Fix project_init for BSD tar (thanks to Nitesh Turaga for the bug report.) a4110a8
- Documentation fixes for tool linting command (thanks to Nicola Soranzo). Pull Request 51
- Moved repository URL to https://github.com/galaxyproject/planemo.
- Support for publishing to the Tool Shed. Pull Request 6
- Support for producing diffs (shed_diff) between local repositories and the Tool Shed (based on scripts by Peter Cock). Pull Request 33
- Use tool’s local test data when available - add option for configuring test-data target. Pull Request 1
- Support for testing tool features dependent on cached data. 44de95c
- Support for generating XUnit tool test reports. 82e8b1f
- Prettier HTML reports for tool tests. 05cc9f4
- Implement share_test command for embedding test result links in pull requests. Pull Request 40
- Fix for properly resolving links during Tool Shed publishing (thanks to Dave Bouvier). Pull Request 29
- Fix for citation linter (thanks to Michael Crusoe for the bug report). af39061
- Fix tool scanning for tool files with fewer than 10 lines (thanks to Dan Blankenberg). a2c13e4
- Automate more of Travis CI testing so the scripts added to tool repository can be smaller. 20a8680
- Documentation fixes for Travis CI (thanks to Peter Cock). Pull Request 22, Pull Request 23
- Various documentation fixes (thanks to Martin Čech). 36f7cb1, b9232e5
- Various smaller fixes for Docker support, tool linting, and documentation.
- Initial work on the project - commands for testing, linting, serving Galaxy tools - and more experimental features involving Docker and Homebrew. 7d07782
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|planemo-0.46.1-py2.7.egg (592.9 kB) Copy SHA256 Checksum SHA256||2.7||Egg||Sep 26, 2017|
|planemo-0.46.1-py2.py3-none-any.whl (354.9 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Sep 26, 2017|
|planemo-0.46.1.tar.gz (364.6 kB) Copy SHA256 Checksum SHA256||–||Source||Sep 26, 2017|