diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f6e13c9..2ae3d821 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -168,48 +168,8 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - include: - - testenv: lowest - python: '3.6' - - - testenv: release - python: '3.6' - - - testenv: lowest - python: '3.7' - - - testenv: release - python: '3.7' - - - testenv: lowest - python: '3.8' - - - testenv: release - python: '3.8' - - - testenv: lowest - python: '3.9' - - - testenv: release - python: '3.9' - - - testenv: lowest - python: '3.10' - - - testenv: release - python: '3.10' - - - testenv: lowest - python: '3.11' - - - testenv: release - python: '3.11' - - - testenv: lowest - python: '3.12' - - - testenv: release - python: '3.12' + testenv: [lowest, release] + python: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v3 @@ -224,10 +184,10 @@ jobs: pip install wheel pip install requirements-builder if [[ ${{ matrix.testenv }} == lowest ]]; then - requirements-builder -e all --level=min --req requirements-dev.txt setup.py > .lowest-requirements.txt + requirements-builder -e tests --level=min --req requirements-dev.txt setup.py > .lowest-requirements.txt fi if [[ ${{ matrix.testenv }} == release ]]; then - requirements-builder -e all --level=pypi --req requirements-dev.txt setup.py > .release-requirements.txt + requirements-builder -e tests --level=pypi --req requirements-dev.txt setup.py > .release-requirements.txt fi - name: Install Python dependencies diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 00000000..283da8fb --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,22 @@ +# Authors + +The list of contributors in alphabetical order: + +- [Adelina Lintuluoto](https://orcid.org/0000-0002-0726-1452) +- [Audrius Mecionis](https://orcid.org/0000-0002-3759-1663) +- [Anton Khodak](https://orcid.org/0000-0003-3263-4553) +- [Camila Diaz](https://orcid.org/0000-0001-5543-797X) +- [Daniel Prelipcean](https://orcid.org/0000-0002-4855-194X) +- [Diego Rodriguez](https://orcid.org/0000-0003-0649-2002) +- [Dinos Kousidis](https://orcid.org/0000-0002-4914-4289) +- [Giuseppe Steduto](https://orcid.org/0009-0002-1258-8553) +- [Harri Hirvonsalo](https://orcid.org/0000-0002-5503-510X) +- [Jan Okraska](https://orcid.org/0000-0002-1416-3244) +- [Leticia Wanderley](https://orcid.org/0000-0003-4649-6630) +- [Marco Donadoni](https://orcid.org/0000-0003-2922-5505) +- [Marco Vidal](https://orcid.org/0000-0002-9363-4971) +- [Matthew Feickert](https://orcid.org/0000-0003-4124-7862) +- [Rokas Maciulaitis](https://orcid.org/0000-0003-1064-6967) +- [Sinclert Perez](https://www.linkedin.com/in/sinclert) +- [Tibor Simko](https://orcid.org/0000-0001-7202-5803) +- [Vladyslav Moisieienkov](https://orcid.org/0000-0001-9717-0775) diff --git a/AUTHORS.rst b/AUTHORS.rst deleted file mode 100644 index ec86d2a7..00000000 --- a/AUTHORS.rst +++ /dev/null @@ -1,23 +0,0 @@ -Authors -======= - -The list of contributors in alphabetical order: - -- `Adelina Lintuluoto `_ -- `Audrius Mecionis `_ -- `Anton Khodak `_ -- `Camila Diaz `_ -- `Daniel Prelipcean `_ -- `Diego Rodriguez `_ -- `Dinos Kousidis `_ -- `Giuseppe Steduto `_ -- `Harri Hirvonsalo `_ -- `Jan Okraska `_ -- `Leticia Wanderley `_ -- `Marco Donadoni `_ -- `Marco Vidal `_ -- `Matthew Feickert `_ -- `Rokas Maciulaitis `_ -- `Sinclert Perez `_ -- `Tibor Simko `_ -- `Vladyslav Moisieienkov `_ diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29b..30a9650f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,220 @@ +# Changelog + +## 0.9.2 (2023-12-19) + +- Changes `validate` command to show detailed errors when the specification file is not a valid YAML file. +- Changes the validation of specification files to show improved validation warnings, which also indicate where unexpected properties are located in the file. +- Fixes `create_workflow_from_json` API function to always load and send the workflow specification to the server. +- Fixes `list` command to accept case-insensitive column names when sorting the returned workflow runs via the `--sort` option. +- Fixes `run` wrapper command for workflows that do not contain `inputs` clause in their specification. + +## 0.9.1 (2023-09-27) + +- Adds support for Python 3.12. +- Adds `prune` command to delete all intermediate files of a given workflow. Use with care. +- Changes `open` command to inform user about the auto-closure of interactive sessions after a certain inactivity timeout. +- Changes `validate` command to display non-critical validation warnings when checking the REANA specification file. +- Fixes `list` command to correctly list workflows when sorting them by their run number or by the size of their workspace. +- Fixes `du` command help message typo. +- Fixes `validation --environments` command to correctly handle fully-qualified image names. + +## 0.9.0 (2023-01-26) + +- Adds support for Python 3.11. +- Adds support for `.gitignore` and `.reanaignore` to specify files that should not be uploaded to REANA. +- Adds `retention-rules-list` command to list the retention rules of a workflow. +- Changes REANA specification loading and validation functionalities by porting some of the logic to `reana-commons`. +- Changes `create` and `restart` commands to always upload the REANA specification file. +- Changes `delete` command to always delete the workflow's workspace. +- Changes `delete_workflow` Python API function to always delete the workflow's workspace. +- Changes `download` command to add the possibility to write files to the standard output via `-o -` option. +- Changes `list` command to hide deleted workflows by default. +- Changes `list` command to allow displaying deleted workflows via `--all` and `--show-deleted-runs` options. +- Changes `list` and `status` commands to allow displaying the duration of workflows with the `--include-duration` option. +- Changes `mv` command to allow moving files while a workflow is running. +- Changes `upload` command to prevent uploading symlinks. +- Changes `validation --environment` command to use Docker registry v2 APIs to check that a Docker image exists in DockerHub. +- Fixes `list` command to highlight the workflow specified in `REANA_WORKON` correctly. +- Fixes `secrets-delete` command error message when deleting non existing secrets. +- Fixes `start` command to report failed workflows as errors. +- Fixes `start` and `run` commands to correctly follow the execution of the workflow until termination. +- Fixes `status` command to respect output format provided by the `--format` option. +- Fixes `upload` command to report when input directories are listed under the `files` section in the REANA specification file and vice versa. +- Fixes `validate --environment` command to detect illegal whitespace characters in Docker image names. + +## 0.8.1 (2022-02-15) + +- Adds support for creating reana-client standalone AppImage executables. +- Adds support for Python 3.10. +- Adds workflow name validation for `create_workflow_from_json()` Python API function. +- Fixes formatting of error messages and sets appropriate exit status codes. + +## 0.8.0 (2021-11-24) + +- Adds support for running and validating Snakemake workflows. +- Adds support for `outputs.directories` in `reana.yaml` allowing to easily download output directories. +- Adds new command `quota-show` to retrieve information about total CPU and Disk usage and quota limits. +- Adds new command `info` that retrieves general information about the cluster, such as available workspace path settings. +- Changes `validate` command to add the possibility to check the workflow against server capabilities such as desired workspace path via `--server-capabilities` option. +- Changes `list` command to add the possibility to filter by workflow status and search by workflow name via `--filter` option. +- Changes `list` command to add the possibility to filter and display all the runs of a given workflow via `-w` option. +- Changes `list` command to stop including workflow progress and workspace size by default. Please use new options `--include-progress` and `--include-workspace-size` to show this information. +- Changes `list --sessions` command to display the status of interactive sessions. +- Changes `logs` command to display also the start and finish times of individual jobs. +- Changes `ls` command to add the possibility to filter by file name, size and last-modified values via `--filter` option. +- Changes `du` command to add the possibility filter by file name and size via `--filter` option. +- Changes `delete` command to prevent hard-deletion of workflows. +- Changes Yadage workflow specification loading to be done in `reana-commons`. +- Changes CWL workflow engine to `cwltool` version `3.1.20210628163208`. +- Removes support for Python 2.7. Please use Python 3.6 or higher from now on. + +## 0.7.5 (2021-07-05) + +- Changes workflow validation to display more granular output. +- Changes workflow parameters validation to warn about misused parameters for each step. +- Changes dependencies to unpin six so that client may be installed in more contexts. +- Fixes environment image validation not to test repetitively the same image. +- Fixes `upload_to_server()` Python API function to silently skip uploading in case of none-like inputs. + +## 0.7.4 (2021-04-28) + +- Adds support of wildcard patterns to `ls` command. +- Adds support of directory download and wildcard patterns to `download` command. +- Changes `list` command to include deleted workflows by default. +- Fixes environment image validation info message where UIDs were switched. + +## 0.7.3 (2021-03-24) + +- Adds validation of workflow input parameters to the `validate` command. +- Adds optional validation of workflow environment images (`--environments`) to the `validate` command. + +## 0.7.2 (2021-01-15) + +- Adds support for Python 3.9. +- Fixes exception handling when uploading files. +- Fixes minor code warnings. +- Fixes traling slash issue from user exported REANA_SERVER_URL. + +## 0.7.1 (2020-11-10) + +- Changes `ping` command output to include REANA client and server version information. +- Fixes `upload` command to properly display errors. + +## 0.7.0 (2020-10-20) + +- Adds option to `logs` command to filter job logs according to compute backend, docker image, status and step name. +- Adds new `restart` command to restart previously run or failed workflows. +- Adds possibility to specify operational options in the `reana.yaml` of the workflow. +- Fixes user experience by preventing dots as part of the workflow name to avoid confusion with restart runs. +- Changes `du` command output format. +- Changes file loading to optimise CLI performance. +- Changes `logs` command to enhance formatting using marks and colours. +- Changes from Bravado to requests to improve download performance. +- Changes `ping` command to perform user access token validation. +- Changes defaults to accept both `reana.yaml` and `reana.yml` filenames. +- Changes `diff` command to improve output formatting. +- Changes code formatting to respect `black` coding style. +- Changes documentation to single-page layout. + +## 0.6.1 (2020-06-09) + +- Fixes installation troubles for REANA 0.6.x release series by pinning several + dependencies. + +## 0.6.0 (2019-12-27) + +- Introduces user secrets management commands `secrets-add`, + `secrets-list` and `secrets-delete`. +- Enhances `run` and `create` commands to allow specifying + workfow via the `--workflow` flag. +- Introduces new command `version` to report client version. +- Fixes `upload` command behaviour for uploading very large files. +- Simplifies `run` command by removing free upload parameters. +- Upgrades `cwltool` to 1.0.20191022103248. +- Disables SSL verification warnings when talking to self-signed server + certificates. + +## 0.5.0 (2019-04-24) + +- Introduces new `resources` field in `reana.yaml` specification file + allowing to declare computing resources needed for workflow runs, such as the + CVMFS repositories via `cvmfs` subfield. +- Improves `reana-client` embedded command-line documentation (`-help`) by + grouping commands and providing concrete usage examples for all commands. +- Enhances workflow `start` command allowing to override input parameters + (`--parameter`) and to specify additional operational options + (`--option`). +- Introduces new workflow `run` wrapper command that creates workflow, uploads + its input data and code and starts its execution. +- Introduces new workflow `stop` command for stopping a running workflow. +- Enhances workflow `logs` command output capabilities via new `--json` + option. +- Introduces new workflow `diff` command for comparing two workflow runs. +- Introduces new workflow `delete` command for deleting one or more workflow + runs. +- Introduces new session `open` command allowing to run interactive sessions + such as Jupyter notebook upon workflow workspace. +- Introduces new session `close` command for closing interactive sessions. +- Renames past `workflows` command to `list` allowing to list both workflow + runs and interactive sessions. +- Introduces new workspace `du` command for checking workspace disk usage. +- Introduces new workspace `mv` command for moving files within workspace. +- Introduces new workspace `rm` command for removing files within workspace. +- Renames past workspace `list` command to `ls` allowing to list workspace + files. Enhances its output capabilities via new `--format` option. +- Introduces new API function `create_workflow_from_json()` which allows + developers and third-party systems to create workflows directly from JSON + specification. + +## 0.4.0 (2018-11-07) + +- Enhances test suite and increases code coverage. +- Changes license to MIT. + +## 0.3.1 (2018-09-25) + +- Amends upload and download commands that will now upload/download all the + files specified in `reana.yaml` in case no arguments are provided. +- Fixes `status` command's JSON output mode. +- Upgrades CWL reference implementation to version `1.0.20180912090223`. +- Renames Serial workflow operational parameter from ``` CACHING``to ``CACHE ```. +- Adds support for Python 3.7. + +## 0.3.0 (2018-08-10) + +- Adds support for + [Serial workflows](http://reana-workflow-engine-serial.readthedocs.io/en/latest/). + +- CLI refactored to a flat design: + + - `inputs`/`outputs`/`code` removed, everything is a file managed + : with upload/download/list commands. + - Removes `workflow` command, workflows are managed with + : `create`/`start`/`status`. + +- Removes `analyes` command, now `validate` is first level command. + +- `status` now shows the selected workflow progress and current command on + verbose mode. + +- Requires the usage of an access token to talk to REANA Server. + +- Fixes bug when uploading binary files. + +- Supports addition of workflow engine parameters when using `start` for + serial workflows. + +- Improves error messages. + +## 0.2.0 (2018-04-20) + +- Adds support for Common Workflow Language workflows. +- Adds support for persistent user-selected workflow names. +- Enables file and directory input uploading using absolute paths. +- Adds new `status` command to display the current status of the client. +- Reduces verbosity level for commands and improves error messages. + +## 0.1.0 (2018-01-30) + +- Initial public release. + diff --git a/CHANGES.rst b/CHANGES.rst deleted file mode 100644 index 1937e484..00000000 --- a/CHANGES.rst +++ /dev/null @@ -1,237 +0,0 @@ -Changes -======= - -Version 0.9.2 (2023-12-19) --------------------------- - -- Changes ``validate`` command to show detailed errors when the specification file is not a valid YAML file. -- Changes the validation of specification files to show improved validation warnings, which also indicate where unexpected properties are located in the file. -- Fixes ``create_workflow_from_json`` API function to always load and send the workflow specification to the server. -- Fixes ``list`` command to accept case-insensitive column names when sorting the returned workflow runs via the ``--sort`` option. -- Fixes ``run`` wrapper command for workflows that do not contain ``inputs`` clause in their specification. - -Version 0.9.1 (2023-09-27) --------------------------- - -- Adds support for Python 3.12. -- Adds ``prune`` command to delete all intermediate files of a given workflow. Use with care. -- Changes ``open`` command to inform user about the auto-closure of interactive sessions after a certain inactivity timeout. -- Changes ``validate`` command to display non-critical validation warnings when checking the REANA specification file. -- Fixes ``list`` command to correctly list workflows when sorting them by their run number or by the size of their workspace. -- Fixes ``du`` command help message typo. -- Fixes ``validation --environments`` command to correctly handle fully-qualified image names. - -Version 0.9.0 (2023-01-26) --------------------------- - -- Adds support for Python 3.11. -- Adds support for ``.gitignore`` and ``.reanaignore`` to specify files that should not be uploaded to REANA. -- Adds ``retention-rules-list`` command to list the retention rules of a workflow. -- Changes REANA specification loading and validation functionalities by porting some of the logic to ``reana-commons``. -- Changes ``create`` and ``restart`` commands to always upload the REANA specification file. -- Changes ``delete`` command to always delete the workflow's workspace. -- Changes ``delete_workflow`` Python API function to always delete the workflow's workspace. -- Changes ``download`` command to add the possibility to write files to the standard output via ``-o -`` option. -- Changes ``list`` command to hide deleted workflows by default. -- Changes ``list`` command to allow displaying deleted workflows via ``--all`` and ``--show-deleted-runs`` options. -- Changes ``list`` and ``status`` commands to allow displaying the duration of workflows with the ``--include-duration`` option. -- Changes ``mv`` command to allow moving files while a workflow is running. -- Changes ``upload`` command to prevent uploading symlinks. -- Changes ``validation --environment`` command to use Docker registry v2 APIs to check that a Docker image exists in DockerHub. -- Fixes ``list`` command to highlight the workflow specified in ``REANA_WORKON`` correctly. -- Fixes ``secrets-delete`` command error message when deleting non existing secrets. -- Fixes ``start`` command to report failed workflows as errors. -- Fixes ``start`` and ``run`` commands to correctly follow the execution of the workflow until termination. -- Fixes ``status`` command to respect output format provided by the ``--format`` option. -- Fixes ``upload`` command to report when input directories are listed under the ``files`` section in the REANA specification file and vice versa. -- Fixes ``validate --environment`` command to detect illegal whitespace characters in Docker image names. - -Version 0.8.1 (2022-02-15) --------------------------- - -- Adds support for creating reana-client standalone AppImage executables. -- Adds support for Python 3.10. -- Adds workflow name validation for ``create_workflow_from_json()`` Python API function. -- Fixes formatting of error messages and sets appropriate exit status codes. - -Version 0.8.0 (2021-11-24) --------------------------- - -- Adds support for running and validating Snakemake workflows. -- Adds support for ``outputs.directories`` in ``reana.yaml`` allowing to easily download output directories. -- Adds new command ``quota-show`` to retrieve information about total CPU and Disk usage and quota limits. -- Adds new command ``info`` that retrieves general information about the cluster, such as available workspace path settings. -- Changes ``validate`` command to add the possibility to check the workflow against server capabilities such as desired workspace path via `--server-capabilities` option. -- Changes ``list`` command to add the possibility to filter by workflow status and search by workflow name via ``--filter`` option. -- Changes ``list`` command to add the possibility to filter and display all the runs of a given workflow via ``-w`` option. -- Changes ``list`` command to stop including workflow progress and workspace size by default. Please use new options `--include-progress` and `--include-workspace-size` to show this information. -- Changes ``list --sessions`` command to display the status of interactive sessions. -- Changes ``logs`` command to display also the start and finish times of individual jobs. -- Changes ``ls`` command to add the possibility to filter by file name, size and last-modified values via ``--filter`` option. -- Changes ``du`` command to add the possibility filter by file name and size via ``--filter`` option. -- Changes ``delete`` command to prevent hard-deletion of workflows. -- Changes Yadage workflow specification loading to be done in ``reana-commons``. -- Changes CWL workflow engine to ``cwltool`` version ``3.1.20210628163208``. -- Removes support for Python 2.7. Please use Python 3.6 or higher from now on. - -Version 0.7.5 (2021-07-05) --------------------------- - -- Changes workflow validation to display more granular output. -- Changes workflow parameters validation to warn about misused parameters for each step. -- Changes dependencies to unpin six so that client may be installed in more contexts. -- Fixes environment image validation not to test repetitively the same image. -- Fixes ``upload_to_server()`` Python API function to silently skip uploading in case of none-like inputs. - -Version 0.7.4 (2021-04-28) --------------------------- - -- Adds support of wildcard patterns to ``ls`` command. -- Adds support of directory download and wildcard patterns to ``download`` command. -- Changes ``list`` command to include deleted workflows by default. -- Fixes environment image validation info message where UIDs were switched. - -Version 0.7.3 (2021-03-24) --------------------------- - -- Adds validation of workflow input parameters to the ``validate`` command. -- Adds optional validation of workflow environment images (``--environments``) to the ``validate`` command. - -Version 0.7.2 (2021-01-15) --------------------------- - -- Adds support for Python 3.9. -- Fixes exception handling when uploading files. -- Fixes minor code warnings. -- Fixes traling slash issue from user exported REANA_SERVER_URL. - -Version 0.7.1 (2020-11-10) --------------------------- - -- Changes ``ping`` command output to include REANA client and server version information. -- Fixes ``upload`` command to properly display errors. - -Version 0.7.0 (2020-10-20) --------------------------- - -- Adds option to ``logs`` command to filter job logs according to compute backend, docker image, status and step name. -- Adds new ``restart`` command to restart previously run or failed workflows. -- Adds possibility to specify operational options in the ``reana.yaml`` of the workflow. -- Fixes user experience by preventing dots as part of the workflow name to avoid confusion with restart runs. -- Changes ``du`` command output format. -- Changes file loading to optimise CLI performance. -- Changes ``logs`` command to enhance formatting using marks and colours. -- Changes from Bravado to requests to improve download performance. -- Changes ``ping`` command to perform user access token validation. -- Changes defaults to accept both ``reana.yaml`` and ``reana.yml`` filenames. -- Changes ``diff`` command to improve output formatting. -- Changes code formatting to respect ``black`` coding style. -- Changes documentation to single-page layout. - -Version 0.6.1 (2020-06-09) --------------------------- - -- Fixes installation troubles for REANA 0.6.x release series by pinning several - dependencies. - -Version 0.6.0 (2019-12-27) --------------------------- - -- Introduces user secrets management commands ``secrets-add``, - ``secrets-list`` and ``secrets-delete``. -- Enhances ``run`` and ``create`` commands to allow specifying - workfow via the ``--workflow`` flag. -- Introduces new command ``version`` to report client version. -- Fixes ``upload`` command behaviour for uploading very large files. -- Simplifies ``run`` command by removing free upload parameters. -- Upgrades ``cwltool`` to 1.0.20191022103248. -- Disables SSL verification warnings when talking to self-signed server - certificates. - -Version 0.5.0 (2019-04-24) --------------------------- - -- Introduces new ``resources`` field in ``reana.yaml`` specification file - allowing to declare computing resources needed for workflow runs, such as the - CVMFS repositories via ``cvmfs`` subfield. -- Improves ``reana-client`` embedded command-line documentation (``-help``) by - grouping commands and providing concrete usage examples for all commands. -- Enhances workflow ``start`` command allowing to override input parameters - (``--parameter``) and to specify additional operational options - (``--option``). -- Introduces new workflow ``run`` wrapper command that creates workflow, uploads - its input data and code and starts its execution. -- Introduces new workflow ``stop`` command for stopping a running workflow. -- Enhances workflow ``logs`` command output capabilities via new ``--json`` - option. -- Introduces new workflow ``diff`` command for comparing two workflow runs. -- Introduces new workflow ``delete`` command for deleting one or more workflow - runs. -- Introduces new session ``open`` command allowing to run interactive sessions - such as Jupyter notebook upon workflow workspace. -- Introduces new session ``close`` command for closing interactive sessions. -- Renames past ``workflows`` command to ``list`` allowing to list both workflow - runs and interactive sessions. -- Introduces new workspace ``du`` command for checking workspace disk usage. -- Introduces new workspace ``mv`` command for moving files within workspace. -- Introduces new workspace ``rm`` command for removing files within workspace. -- Renames past workspace ``list`` command to ``ls`` allowing to list workspace - files. Enhances its output capabilities via new ``--format`` option. -- Introduces new API function ``create_workflow_from_json()`` which allows - developers and third-party systems to create workflows directly from JSON - specification. - -Version 0.4.0 (2018-11-07) --------------------------- - -- Enhances test suite and increases code coverage. -- Changes license to MIT. - -Version 0.3.1 (2018-09-25) --------------------------- - -- Amends upload and download commands that will now upload/download all the - files specified in ``reana.yaml`` in case no arguments are provided. -- Fixes ``status`` command's JSON output mode. -- Upgrades CWL reference implementation to version ``1.0.20180912090223``. -- Renames Serial workflow operational parameter from ``CACHING``to ``CACHE``. -- Adds support for Python 3.7. - -Version 0.3.0 (2018-08-10) --------------------------- - -- Adds support for - `Serial workflows `_. -- CLI refactored to a flat design: - - ``inputs``/``outputs``/``code`` removed, everything is a file managed - with upload/download/list commands. - - Removes ``workflow`` command, workflows are managed with - ``create``/``start``/``status``. -- Removes ``analyes`` command, now ``validate`` is first level command. -- ``status`` now shows the selected workflow progress and current command on - verbose mode. -- Requires the usage of an access token to talk to REANA Server. -- Fixes bug when uploading binary files. -- Supports addition of workflow engine parameters when using ``start`` for - serial workflows. -- Improves error messages. - -Version 0.2.0 (2018-04-20) --------------------------- - -- Adds support for Common Workflow Language workflows. -- Adds support for persistent user-selected workflow names. -- Enables file and directory input uploading using absolute paths. -- Adds new ``status`` command to display the current status of the client. -- Reduces verbosity level for commands and improves error messages. - -Version 0.1.0 (2018-01-30) --------------------------- - -- Initial public release. - -.. admonition:: Please beware - - Please note that REANA is in an early alpha stage of its development. The - developer preview releases are meant for early adopters and testers. Please - don't rely on released versions for any production purposes yet. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.md similarity index 74% rename from CONTRIBUTING.rst rename to CONTRIBUTING.md index 901181d6..87b3c2b9 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.md @@ -1,11 +1,9 @@ -Contributing -============ +# Contributing Bug reports, issues, feature requests, and other contributions are welcome. If you find a demonstrable problem that is caused by the REANA code, please: -1. Search for `already reported problems - `_. +1. Search for [already reported problems](https://github.com/reanahub/reana-client/issues). 2. Check if the issue has been fixed or is still reproducible on the latest `master` branch. 3. Create an issue, ideally with **a test case**. @@ -13,8 +11,8 @@ a demonstrable problem that is caused by the REANA code, please: If you create a pull request fixing a bug or implementing a feature, you can run the tests to ensure that everything is operating correctly: -.. code-block:: console - - $ ./run-tests.sh +```console +$ ./run-tests.sh +``` Each pull request should preserve or increase code coverage. diff --git a/MANIFEST.in b/MANIFEST.in index 7c933526..b5cd85be 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -6,7 +6,6 @@ include *.json include *.md -include *.rst include *.sh include *.txt include *.yaml @@ -21,7 +20,7 @@ exclude .readthedocs.yaml prune docs/_build recursive-include docs *.png recursive-include docs *.py -recursive-include docs *.rst +recursive-include docs *.md recursive-include reana_client *.json recursive-include reana_client *.py recursive-include scripts *.py diff --git a/README.md b/README.md new file mode 100644 index 00000000..e1527db4 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# REANA-Client + +[![image](https://img.shields.io/pypi/pyversions/reana-client.svg)](https://pypi.org/pypi/reana-client) +[![image](https://github.com/reanahub/reana-client/workflows/CI/badge.svg)](https://github.com/reanahub/reana-client/actions) +[![image](https://readthedocs.org/projects/reana-client/badge/?version=latest)](https://reana-client.readthedocs.io/en/latest/?badge=latest) +[![image](https://codecov.io/gh/reanahub/reana-client/branch/master/graph/badge.svg)](https://codecov.io/gh/reanahub/reana-client) +[![image](https://img.shields.io/badge/discourse-forum-blue.svg)](https://forum.reana.io) +[![image](https://img.shields.io/github/license/reanahub/reana.svg)](https://github.com/reanahub/reana-client/blob/master/LICENSE) +[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) + +## About + +REANA-Client is a component of the [REANA](https://www.reana.io/) reusable and +reproducible research data analysis platform. It provides a command-line tool that allows +researchers to submit, run, and manage their computational workflows. + +- seed workspace with input code and data +- run computational workflows on remote compute clouds +- list submitted workflows and enquire about their statuses +- download results of finished workflows + +## Installation + +```console +$ # create new virtual environment +$ virtualenv ~/.virtualenvs/reana +$ source ~/.virtualenvs/reana/bin/activate +$ # install reana-client +$ pip install reana-client +``` + +## Usage + +The detailed information on how to install and use REANA can be found in +[docs.reana.io](https://docs.reana.io). + +## Useful links + +- [REANA project home page](http://www.reana.io/) +- [REANA user documentation](https://docs.reana.io) +- [REANA user support forum](https://forum.reana.io) +- [REANA-Client releases](https://reana-client.readthedocs.io/en/latest#changes) +- [REANA-Client developer documentation](https://reana-client.readthedocs.io/) +- [REANA-Client known issues](https://github.com/reanahub/reana-client/issues) +- [REANA-Client source code](https://github.com/reanahub/reana-client) diff --git a/README.rst b/README.rst deleted file mode 100644 index b26f5cf9..00000000 --- a/README.rst +++ /dev/null @@ -1,68 +0,0 @@ -############ -REANA-Client -############ - -.. image:: https://img.shields.io/pypi/pyversions/reana-client.svg - :target: https://pypi.org/pypi/reana-client - -.. image:: https://github.com/reanahub/reana-client/workflows/CI/badge.svg - :target: https://github.com/reanahub/reana-client/actions - -.. image:: https://readthedocs.org/projects/reana-client/badge/?version=latest - :target: https://reana-client.readthedocs.io/en/latest/?badge=latest - -.. image:: https://codecov.io/gh/reanahub/reana-client/branch/master/graph/badge.svg - :target: https://codecov.io/gh/reanahub/reana-client - -.. image:: https://badges.gitter.im/Join%20Chat.svg - :target: https://gitter.im/reanahub/reana?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge - -.. image:: https://img.shields.io/github/license/reanahub/reana.svg - :target: https://github.com/reanahub/reana-client/blob/master/LICENSE - -.. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/psf/black - -About -===== - -REANA-Client is a component of the `REANA `_ reusable and -reproducible research data analysis platform. It provides a command-line tool -that allows researchers to submit, run, and manage their computational -workflows. - -- seed workspace with input code and data -- run computational workflows on remote compute clouds -- list submitted workflows and enquire about their statuses -- download results of finished workflows - - -Installation -============ - -.. code-block:: console - - $ # create new virtual environment - $ virtualenv ~/.virtualenvs/reana - $ source ~/.virtualenvs/reana/bin/activate - $ # install reana-client - $ pip install reana-client - -Usage -===== - -The detailed information on how to install and use REANA can be found in -`docs.reana.io `_. - - -Useful links -============ - -- `REANA project home page `_ -- `REANA user documentation `_ -- `REANA user support forum `_ - -- `REANA-Client releases `_ -- `REANA-Client developer documentation `_ -- `REANA-Client known issues `_ -- `REANA-Client source code `_ diff --git a/docs/conf.py b/docs/conf.py index ed1200b3..51b667ff 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,6 +48,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "myst_parser", "sphinx.ext.autodoc", "sphinx.ext.coverage", "sphinx.ext.doctest", @@ -64,14 +65,17 @@ # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] -source_suffix = ".rst" +source_suffix = [".rst", ".md"] + +# Allow using ::: in Markdown files +myst_enable_extensions = ["colon_fence"] # The master toctree document. master_doc = "index" # General information about the project. project = "reana" -copyright = "2017-2023 info@reana.io" +copyright = "2017-2024, info@reana.io" author = "info@reana.io" # The version info for the project you're documenting, acts as replacement for diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..6935db49 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,57 @@ +% The title is set to `REANA-Client docs` instead of `REANA-Client` as this is a +% workaround to avoid having multiple HTML objects with the same id/anchor, +% as the tile clashes with the CLI API documentation generated by sphinx_click +# REANA-Client docs + +```{include} ../README.md +:start-line: 1 +:end-before: "## About" +``` + +```{include} ../README.md +:start-after: "## About" +:end-before: "## Useful links" + +``` + +## CLI API + +```{eval-rst} +.. include:: cmd_list.txt + :literal: +``` + +```{eval-rst} +.. click:: reana_client.cli:cli + :prog: reana-client + :show-nested: +``` + +## API docs + +```{eval-rst} +.. automodule:: reana_client.api.client + :members: +``` + +```{include} ../CHANGELOG.md +:heading-offset: 1 +``` + +```{include} ../CONTRIBUTING.md +:heading-offset: 1 +``` + +## License + +```{eval-rst} +.. include:: ../LICENSE +``` + +In applying this license, CERN does not waive the privileges and immunities +granted to it by virtue of its status as an Intergovernmental Organization or +submit itself to any jurisdiction. + +```{include} ../AUTHORS.md +:heading-offset: 1 +``` diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index b62e4587..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,39 +0,0 @@ - -.. include:: ../README.rst - :end-before: About - -.. include:: ../README.rst - :start-after: ===== - :end-before: Useful links - - -CLI API -======= - -.. include:: cmd_list.txt - :literal: - -.. click:: reana_client.cli:cli - :prog: reana-client - :show-nested: - -API docs -======== - -.. automodule:: reana_client.api.client - :members: - -.. include:: ../CHANGES.rst - -.. include:: ../CONTRIBUTING.rst - -License -======= - -.. include:: ../LICENSE - -In applying this license, CERN does not waive the privileges and immunities -granted to it by virtue of its status as an Intergovernmental Organization or -submit itself to any jurisdiction. - -.. include:: ../AUTHORS.rst diff --git a/setup.py b/setup.py index 004527b4..e49a9c56 100644 --- a/setup.py +++ b/setup.py @@ -15,8 +15,8 @@ from setuptools import find_packages, setup -readme = open("README.rst").read() -history = open("CHANGES.rst").read() +readme = open("README.md").read() +history = open("CHANGELOG.md").read() tests_require = [ "pytest-reana>=0.9.2,<0.10.0", @@ -24,6 +24,7 @@ extras_require = { "docs": [ + "myst-parser", "Sphinx>=1.5.1", "sphinx-rtd-theme>=0.1.9", "sphinx-click>=1.0.4", @@ -66,6 +67,7 @@ version=version, description=__doc__, long_description=readme + "\n\n" + history, + long_description_content_type="text/markdown", author="REANA", author_email="info@reana.io", url="https://github.com/reanahub/reana-client",