No description
Find a file
Alok Singh 42a9233e1d Improve yapf speed and document its usage (#2160)
* Allow yapf to lint individual files

* Add tip for using yapf

* Update doc

* Update script to autoformat changed py files

The new default is for the script to only updated changed files to encourage
using it as a pre-push hook. Travis still checks all since it's not that big an
increase to runtime.

* Exclude formatting thirdparty/autogen py files

* Symlink .travis -> scripts

Hidden directories may get glossed over otherwise.

* .travis -> scripts in docs

They are symlinks to the same thing, but `scripts` is more dev-friendly, while
`.travis` is really only for Travis CI.

* Document different yapf format functions

Most devs will only need `format_changed`, and this is run by default.
`format_changed` should be fast enough in most cases to work as a pre-commit
hook.

* Speed up yapf by only formatting changed files

* Update docs

1. Mention how yapf can be used a pre-commit hook
2. rm `bash`, script is executable

* Update yapf.sh

* Update development.rst

* Update yapf.sh

* Use bash arrays for correct argument splitting

Playing fast and loose with whitespace in bash is a terrible idea.

* Only format non-excluded by default

* Check changes against master

Normally, the remote is called `origin`, but naming it explicit

* Adding missing directory to `format_all`

* Cleanup YAPF code

Remove unused function and move around code to make clearer and adding lines
give cleaner diffs.

* Ensure correct files are autoformatted

* Fix cmd line arg splitting

Each arg has to be in its own set of quotes.

* Diff against mergebase

TIL there's a clean syntax for doing that, but it's too clever to belong in a
shell script.

We use `mapfile -t` to ensure no problems down the line with weird filenames.
2018-06-05 20:22:11 -07:00
.github Add docs for contributors. (#1191) 2017-11-10 00:40:19 -08:00
.travis Improve yapf speed and document its usage (#2160) 2018-06-05 20:22:11 -07:00
cmake/Modules add facility to link libraries to tests (#1850) 2018-04-09 18:59:24 -07:00
doc Improve yapf speed and document its usage (#2160) 2018-06-05 20:22:11 -07:00
docker [rllib] Fix A3C PyTorch implementation (#2036) 2018-05-30 10:48:11 -07:00
examples Use flake8-comprehensions (#1976) 2018-05-20 16:15:06 -07:00
java [JavaWorker] Do not kill local-scheduler-forked workers in RunManager.cleanup (#2151) 2018-05-30 00:25:03 -07:00
python Launch nodes in separate threads (#2183) 2018-06-05 20:19:31 -07:00
site Add 0.4 release blog post. (#1794) 2018-04-02 00:23:56 -07:00
src Fix redefinition of flatbuffer types (#2189) 2018-06-05 00:08:05 -07:00
test Launch nodes in separate threads (#2183) 2018-06-05 20:19:31 -07:00
thirdparty/scripts unify build dir for Python and Java (#2171) 2018-06-01 16:28:27 -07:00
vsprojects Windows compatibility (#57) 2016-11-22 17:04:24 -08:00
.clang-format Implement object table notification subscriptions and switch to using Redis modules for object table. (#134) 2016-12-18 18:19:02 -08:00
.gitignore remove UniqueIDHasher (#1957) 2018-04-30 06:31:23 -07:00
.style.yapf YAPF, take 3 (#2098) 2018-05-19 16:07:28 -07:00
.travis.yml Improve yapf speed and document its usage (#2160) 2018-06-05 20:22:11 -07:00
build-docker.sh adding -x flag for better debugging during builds (#1079) 2017-10-04 13:56:14 -07:00
build.sh unify build dir for Python and Java (#2171) 2018-06-01 16:28:27 -07:00
CMakeLists.txt unify build dir for Python and Java (#2171) 2018-06-01 16:28:27 -07:00
CONTRIBUTING.rst Replace special single quote with regular single quote. (#1693) 2018-03-10 20:36:01 -08:00
LICENSE [rllib] Basic port of baselines/deepq to rllib (#709) 2017-07-07 18:37:00 +00:00
pylintrc adding pylint (#233) 2016-07-08 12:39:11 -07:00
Ray.sln Windows compatibility (#57) 2016-11-22 17:04:24 -08:00
README.rst Update Travis CI badge from travis-ci.org to travis-ci.com. (#2155) 2018-05-29 16:44:02 -07:00
scripts Improve yapf speed and document its usage (#2160) 2018-06-05 20:22:11 -07:00
setup_thirdparty.sh [JavaWorker] Enable java worker support (#2094) 2018-05-26 14:38:50 -07:00

Ray
===

.. image:: https://travis-ci.com/ray-project/ray.svg?branch=master
    :target: https://travis-ci.com/ray-project/ray

.. image:: https://readthedocs.org/projects/ray/badge/?version=latest
    :target: http://ray.readthedocs.io/en/latest/?badge=latest

|

Ray is a flexible, high-performance distributed execution framework.


Ray is easy to install: ``pip install ray``

Example Use
-----------

+------------------------------------------------+----------------------------------------------------+
| **Basic Python**                               | **Distributed with Ray**                           |
+------------------------------------------------+----------------------------------------------------+
|.. code-block:: python                          |.. code-block:: python                              |
|                                                |                                                    |
|  # Execute f serially.                         |  # Execute f in parallel.                          |
|                                                |                                                    |
|                                                |  @ray.remote                                       |
|  def f():                                      |  def f():                                          |
|      time.sleep(1)                             |      time.sleep(1)                                 |
|      return 1                                  |      return 1                                      |
|                                                |                                                    |
|                                                |                                                    |
|                                                |  ray.init()                                        |
|  results = [f() for i in range(4)]             |  results = ray.get([f.remote() for i in range(4)]) |
+------------------------------------------------+----------------------------------------------------+


Ray comes with libraries that accelerate deep learning and reinforcement learning development:

- `Ray Tune`_: Hyperparameter Optimization Framework
- `Ray RLlib`_: Scalable Reinforcement Learning

.. _`Ray Tune`: http://ray.readthedocs.io/en/latest/tune.html
.. _`Ray RLlib`: http://ray.readthedocs.io/en/latest/rllib.html

Installation
------------

Ray can be installed on Linux and Mac with ``pip install ray``.

To build Ray from source or to install the nightly versions, see the `installation documentation`_.

.. _`installation documentation`: http://ray.readthedocs.io/en/latest/installation.html

More Information
----------------

- `Documentation`_
- `Tutorial`_
- `Blog`_
- `Ray paper`_
- `Ray HotOS paper`_

.. _`Documentation`: http://ray.readthedocs.io/en/latest/index.html
.. _`Tutorial`: https://github.com/ray-project/tutorial
.. _`Blog`: https://ray-project.github.io/
.. _`Ray paper`: https://arxiv.org/abs/1712.05889
.. _`Ray HotOS paper`: https://arxiv.org/abs/1703.03924

Getting Involved
----------------

- Ask questions on our mailing list `ray-dev@googlegroups.com`_.
- Please report bugs by submitting a `GitHub issue`_.
- Submit contributions using `pull requests`_.

.. _`ray-dev@googlegroups.com`: https://groups.google.com/forum/#!forum/ray-dev
.. _`GitHub issue`: https://github.com/ray-project/ray/issues
.. _`pull requests`: https://github.com/ray-project/ray/pulls