Permalink
Browse files

Initial commit.

Planemo is a set of command-line utilities to assist in developing tools for the Galaxy project (http://galaxyproject.org/).

View the documentation at http://planemo.readthedocs.org/en/latest/ and in particular the quick start guide at http://planemo.readthedocs.org/en/latest/readme.html#quick-start.

Still a couple critical bugs before 0.1.0 - see TODO.rst for details.
  • Loading branch information...
jmchilton committed Oct 3, 2014
0 parents commit 7d077828559c9c9c352ac814f9e3b86b1b3a2a9f
Showing with 9,636 additions and 0 deletions.
  1. +21 −0 .editorconfig
  2. +45 −0 .gitignore
  3. +17 −0 .travis.yml
  4. +115 −0 CONTRIBUTING.rst
  5. +11 −0 HISTORY.rst
  6. +186 −0 LICENSE
  7. +11 −0 MANIFEST.in
  8. +65 −0 Makefile
  9. +177 −0 README.rst
  10. +46 −0 TODO.rst
  11. +79 −0 commands_to_rst.py
  12. +6 −0 dev-requirements.txt
  13. +177 −0 docs/Makefile
  14. +21 −0 docs/commands.rst
  15. +28 −0 docs/commands/brew.rst
  16. +42 −0 docs/commands/brew_env.rst
  17. +28 −0 docs/commands/brew_init.rst
  18. +43 −0 docs/commands/docker_build.rst
  19. +38 −0 docs/commands/docker_shell.rst
  20. +24 −0 docs/commands/lint.rst
  21. +22 −0 docs/commands/project_init.rst
  22. +41 −0 docs/commands/serve.rst
  23. +21 −0 docs/commands/syntax.rst
  24. +42 −0 docs/commands/test.rst
  25. +22 −0 docs/commands/tool_init.rst
  26. +22 −0 docs/commands/travis_before_install.rst
  27. +32 −0 docs/commands/travis_init.rst
  28. +275 −0 docs/conf.py
  29. +1 −0 docs/contributing.rst
  30. +46 −0 docs/galaxy.jobs.metrics.collectl.rst
  31. +62 −0 docs/galaxy.jobs.metrics.instrumenters.rst
  32. +30 −0 docs/galaxy.jobs.metrics.rst
  33. +17 −0 docs/galaxy.jobs.rst
  34. +46 −0 docs/galaxy.objectstore.rst
  35. +32 −0 docs/galaxy.rst
  36. +46 −0 docs/galaxy.tools.deps.resolvers.rst
  37. +85 −0 docs/galaxy.tools.deps.rst
  38. +62 −0 docs/galaxy.tools.linters.rst
  39. +46 −0 docs/galaxy.tools.rst
  40. +62 −0 docs/galaxy.util.rst
  41. +1 −0 docs/history.rst
  42. +26 −0 docs/index.rst
  43. +7 −0 docs/installation.rst
  44. +242 −0 docs/make.bat
  45. +7 −0 docs/modules.rst
  46. +102 −0 docs/planemo.commands.rst
  47. +61 −0 docs/planemo.rst
  48. +1 −0 docs/readme.rst
  49. +1 −0 docs/todo.rst
  50. +3 −0 galaxy/__init__.py
  51. +13 −0 galaxy/exceptions.py
  52. 0 galaxy/jobs/__init__.py
  53. +116 −0 galaxy/jobs/metrics/__init__.py
  54. +5 −0 galaxy/jobs/metrics/collectl/__init__.py
  55. +128 −0 galaxy/jobs/metrics/collectl/cli.py
  56. +252 −0 galaxy/jobs/metrics/collectl/processes.py
  57. +27 −0 galaxy/jobs/metrics/collectl/stats.py
  58. +72 −0 galaxy/jobs/metrics/collectl/subsystems.py
  59. +18 −0 galaxy/jobs/metrics/formatting.py
  60. +53 −0 galaxy/jobs/metrics/instrumenters/__init__.py
  61. +214 −0 galaxy/jobs/metrics/instrumenters/collectl.py
  62. +85 −0 galaxy/jobs/metrics/instrumenters/core.py
  63. +62 −0 galaxy/jobs/metrics/instrumenters/cpuinfo.py
  64. +71 −0 galaxy/jobs/metrics/instrumenters/env.py
  65. +59 −0 galaxy/jobs/metrics/instrumenters/meminfo.py
  66. +34 −0 galaxy/jobs/metrics/instrumenters/uname.py
  67. +676 −0 galaxy/objectstore/__init__.py
  68. +73 −0 galaxy/objectstore/pulsar.py
  69. +343 −0 galaxy/objectstore/rods.py
  70. +556 −0 galaxy/objectstore/s3.py
  71. +102 −0 galaxy/objectstore/s3_multipart_upload.py
  72. 0 galaxy/tools/__init__.py
  73. +113 −0 galaxy/tools/deps/__init__.py
  74. +470 −0 galaxy/tools/deps/brew_exts.py
  75. +40 −0 galaxy/tools/deps/brew_util.py
  76. +54 −0 galaxy/tools/deps/commands.py
  77. +264 −0 galaxy/tools/deps/containers.py
  78. +68 −0 galaxy/tools/deps/dependencies.py
  79. +152 −0 galaxy/tools/deps/docker_util.py
  80. +60 −0 galaxy/tools/deps/dockerfiles.py
  81. +96 −0 galaxy/tools/deps/requirements.py
  82. +34 −0 galaxy/tools/deps/resolvers/__init__.py
  83. +73 −0 galaxy/tools/deps/resolvers/galaxy_packages.py
  84. +96 −0 galaxy/tools/deps/resolvers/homebrew.py
  85. +156 −0 galaxy/tools/deps/resolvers/modules.py
  86. +67 −0 galaxy/tools/deps/resolvers/tool_shed_packages.py
  87. +89 −0 galaxy/tools/lint.py
  88. +2 −0 galaxy/tools/linters/__init__.py
  89. +27 −0 galaxy/tools/linters/citations.py
  90. +15 −0 galaxy/tools/linters/help.py
  91. +38 −0 galaxy/tools/linters/inputs.py
  92. +25 −0 galaxy/tools/linters/outputs.py
  93. +19 −0 galaxy/tools/linters/tests.py
  94. +17 −0 galaxy/tools/linters/top_level.py
  95. +233 −0 galaxy/tools/loader.py
  96. +31 −0 galaxy/tools/loader_directory.py
  97. +170 −0 galaxy/util/__init__.py
  98. +33 −0 galaxy/util/bunch.py
  99. +23 −0 galaxy/util/directory_hash.py
  100. +86 −0 galaxy/util/odict.py
  101. +81 −0 galaxy/util/plugin_config.py
  102. +22 −0 galaxy/util/sleeper.py
  103. +31 −0 galaxy/util/submodules.py
  104. +3 −0 planemo/__init__.py
  105. +76 −0 planemo/cli.py
  106. 0 planemo/commands/__init__.py
  107. +38 −0 planemo/commands/cmd_brew.py
  108. +79 −0 planemo/commands/cmd_brew_env.py
  109. +27 −0 planemo/commands/cmd_brew_init.py
  110. +39 −0 planemo/commands/cmd_docker_build.py
  111. +68 −0 planemo/commands/cmd_docker_shell.py
  112. +35 −0 planemo/commands/cmd_lint.py
  113. +40 −0 planemo/commands/cmd_project_init.py
  114. +53 −0 planemo/commands/cmd_serve.py
  115. +15 −0 planemo/commands/cmd_syntax.py
  116. +64 −0 planemo/commands/cmd_test.py
  117. +11 −0 planemo/commands/cmd_tool_init.py
  118. +19 −0 planemo/commands/cmd_travis_before_install.py
  119. +62 −0 planemo/commands/cmd_travis_init.py
  120. +205 −0 planemo/galaxy_config.py
  121. +13 −0 planemo/galaxy_run.py
  122. +25 −0 planemo/io.py
  123. +119 −0 planemo/options.py
  124. +23 −0 project_templates/demo/cat.xml
  125. +71 −0 project_templates/demo/random_lines_two_pass.py
  126. +66 −0 project_templates/demo/randomlines.xml
  127. +65 −0 project_templates/demo/test-data/1.bed
  128. +1 −0 project_templates/demo/test-data/1_bed_random_lines_1_seed_asdf_out.bed
  129. +3 −0 requirements.txt
  130. +2 −0 setup.cfg
  131. +64 −0 setup.py
  132. +1 −0 tests/__init__.py
  133. +53 −0 tests/test_planemo.py
  134. +9 −0 tox.ini
@@ -0,0 +1,21 @@
# http://editorconfig.org

root = true

[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

[*.bat]
indent_style = tab
end_of_line = crlf

[LICENSE]
insert_final_newline = false

[Makefile]
indent_style = tab
@@ -0,0 +1,45 @@
*.py[cod]

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox
nosetests.xml
htmlcov

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Complexity
output/*.html
output/*/index.html

# Sphinx
docs/_build

.venv
@@ -0,0 +1,17 @@
# Config file for automatic testing at travis-ci.org

language: python

python:
- "3.4"
- "2.7"
- "2.6"
- "pypy"

install:
- if [[ $TRAVIS_PYTHON_VERSION == 2.6 ]]; then pip install unittest2; fi
- pip install -r requirements.txt
- pip install pyflakes flake8

# command to run tests, e.g. python setup.py test
script: make lint && make test
@@ -0,0 +1,115 @@
============
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions
----------------------

Report Bugs
~~~~~~~~~~~

Report bugs at https://github.com/jmchilton/planemo/issues.

If you are reporting a bug, please include:

* Your operating system name and version, versions of other relevant software
such as Galaxy or Docker.
* Links to relevant tools.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

Fix Bugs
~~~~~~~~

Look through the GitHub issues for bugs. Anything tagged with "bug"
is open to whoever wants to implement it.

Implement Features
~~~~~~~~~~~~~~~~~~

Look through the GitHub issues for features. Anything tagged with "feature"
is open to whoever wants to implement it.

Write Documentation
~~~~~~~~~~~~~~~~~~~

Planemo could always use more documentation, whether as part of the
official Planemo docs, in docstrings, or even on the web in blog posts,
articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~

The best way to send feedback is to file an issue at https://github.com/jmchilton/planemo/issues.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* This will hopefully become a community-driven project and contributions
are welcome :)

Get Started!
------------

Ready to contribute? Here's how to set up `planemo` for local development.

1. Fork the `planemo` repo on GitHub.
2. Clone your fork locally::

$ git clone git@github.com:your_name_here/planemo.git

3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development::

$ mkvirtualenv planemo
$ cd planemo/
$ python setup.py develop

4. Create a branch for local development::

$ git checkout -b name-of-your-bugfix-or-feature

Now you can make your changes locally.

5. When you're done making changes, check that your changes pass ``flake8``
and the tests::

$ flake8 planemo tests
$ python setup.py test

To get ``flake8``, just ``pip install`` them into your virtualenv.

.. including testing other Python versions with tox
.. $ python setup.py test
.. $ tox
..
.. To get flake8 and tox, just pip install them into your virtualenv.
6. Commit your changes and push your branch to GitHub::

$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature

7. Submit a pull request through the GitHub website.

Pull Request Guidelines
-----------------------

Before you submit a pull request, check that it meets these guidelines:

1. If the pull request adds functionality, the docs should be updated. Put
your new functionality into a function with a docstring.
2. The pull request should work for Python 2.6, 2.7, and 3.4. Check
https://travis-ci.org/jmchilton/planemo/pull_requests
and make sure that the tests pass for all supported Python versions.

.. Tips
.. ----
.. To run a subset of tests::
.. $ python -m unittest tests.test_planemo
@@ -0,0 +1,11 @@
.. :changelog:
History
-------

---------------------
0.0.1 (2014-10-04)
---------------------

* Initial work on the project - commands for testing, linting, serving Galaxy
tools - and more experimental features involving Docker and Homebrew.
Oops, something went wrong.

0 comments on commit 7d07782

Please sign in to comment.