Catalog PyPI
Back to packageRELEASE DETAILS

3.0.1

PyPI

aclimatise

aCLImatise is a Python library and command-line utility for parsing the help output of a command-line tool and then outputting a description of the tool in a more structured format

Published14 Feb 2021
Direct dependencies24
Transitive dependenciesNot calculated

README

Version 3.0.1 documentation
aCLImatise
***********
|DOI|

.. |DOI| image:: https://zenodo.org/badge/DOI/10.1093/bioinformatics/btaa1033.svg
   :target: https://doi.org/10.1093/bioinformatics/btaa1033

For the full documentation, refer to the `Github Pages Website
<https://aclimatise.github.io/CliHelpParser/>`_.

======================================================================

aCLImatise is a Python library and command-line utility for parsing the help output
of a command-line tool and then outputting a description of the tool in a more
structured format, for example a
`Common Workflow Language tool definition <https://www.commonwl.org/v1.1/CommandLineTool.html>`_.

Currently aCLImatise supports both `CWL <https://www.commonwl.org/>`_ and
`WDL <https://openwdl.org/>`_ outputs, but other formats will be considered in the future, especially pull
requests to support them.

Please also refer to `The aCLImatise Base Camp <https://aclimatise.github.io/BaseCamp/>`_, which is a database of pre-computed tool definitions
generated by the aCLImatise parser. Most bioinformatics tools have a tool definition already generated in the Base Camp,
so you may not need to run aCLImatise directly.

aCLImatise is now published in the journal *Bioinformatics*. You can read the application note here: https://doi.org/10.1093/bioinformatics/btaa1033.
To cite aCLImatise, please use the citation generator provided by the journal.

Example
-------

Lets say you want to create a CWL workflow containing the common Unix ``wc`` (word count)
utility. Running ``wc --help`` returns:

.. code-block::

   Usage: wc [OPTION]... [FILE]...
     or: wc [OPTION]... --files0-from=F
   Print newline, word, and byte counts for each FILE, and a total line if
   more than one FILE is specified.  A word is a non-zero-length sequence of
   characters delimited by white space.

   With no FILE, or when FILE is -, read standard input.

   The options below may be used to select which counts are printed, always in
   the following order: newline, word, character, byte, maximum line length.
     -c, --bytes            print the byte counts
     -m, --chars            print the character counts
     -l, --lines            print the newline counts
         --files0-from=F    read input from the files specified by
                              NUL-terminated names in file F;
                              If F is - then read names from standard input
     -L, --max-line-length  print the maximum display width
     -w, --words            print the word counts
         --help display this help and exit
         --version output version information and exit

   GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
   Full documentation at: <http://www.gnu.org/software/coreutils/wc>
   or available locally via: info '(coreutils) wc invocation'

If you run ``aclimatise explore wc``, which means "parse the wc command and all subcommands",
you'll end up with the following files in your current directory:

* ``wc.cwl``
* ``wc.wdl``
* ``wc.yml``

These are representations of the command ``wc`` in 3 different formats. If you look at ``wc.wdl``, you'll see that it
contains a WDL-compatible tool definition for ``wc``:

.. code-block:: text

    version 1.0
    task Wc {
      input {
        Boolean bytes
        Boolean chars
        Boolean lines
        String files__from
        Boolean max_line_length
        Boolean words
      }
      command <<<
        wc \
          ~{true="--bytes" false="" bytes} \
          ~{true="--chars" false="" chars} \
          ~{true="--lines" false="" lines} \
          ~{if defined(files__from) then ("--files0-from " +  '"' + files__from + '"') else ""} \
          ~{true="--max-line-length" false="" max_line_length} \
          ~{true="--words" false="" words}
      >>>
    }


Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 24

Native requirements
24 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
pyparsing
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
pyparsingruntime
jinja2
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
jinja2runtime
spacy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
spacy (~=3.0)runtime
miniwdl
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
miniwdlruntime
wordsegment
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
wordsegmentruntime
inflection
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
inflectionruntime
illusional.wdlgen
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
illusional.wdlgen (==0.3.0)runtime
ruamel.yaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
ruamel.yaml (==0.16.5)runtime
click
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
clickruntime
cwltool
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
cwltoolruntime
cwl-utils
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
cwl-utils (>=0.4)runtime
regex
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
regexruntime
num2words
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
num2wordsruntime
word2number
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
word2numberruntime
psutil
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
psutilruntime
deprecated
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
deprecatedruntime
attrs
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
attrsruntime
janis-pipelines.core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
janis-pipelines.core (>=0.11.2)runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
pytest ; extra == 'dev'runtime
pre-commit
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
pre-commit ; extra == 'dev'runtime
Sphinx
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
Sphinx ; extra == 'dev'runtime
sphinx-click
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
sphinx-click ; extra == 'dev'runtime
pytest-timeout
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
pytest-timeout ; extra == 'dev'runtime
docker
Environment
{
  "extras": "",
  "marker": "extra == 'dev'",
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
docker ; extra == 'dev'runtime

Distribution files

2 collected
aclimatise-3.0.1-py3-none-any.whl

bdist_wheel · 73.01 KB · Python py3

Source file
aclimatise-3.0.1.tar.gz

sdist · 47.77 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:16 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:651f522cafeecda8d4b2a651758e9b6b5f07bbed09fc7fccf7ecb37733fd26a4

Other collected versions

View all collected versions →