No description
Find a file
Hao Chen 3b0a2c4197 [Java] improve Java API module (#2783)
API module (`ray/java/api` dir) includes all public APIs provided by Ray, it should be the only module that normal Ray users need to face.

The purpose of this PR to first improve the code quality of the API module. Subsequent PRs will improve other modules later. The changes of this PR include the following aspects: 
1) Only keep interfaces in api module, to hide implementation details from users and fix circular dependencies among modules.
2) Document everything in the api module. 
3) Improve naming.
4) Add more tests for API. 
5) Also fix/improve related code in other modules.
6) Remove some unused code.

(Apologize for posting such a large PR. Java worker code has been lack of maintenance for a while. There're a lot of code quality issues that need to be fixed. We plan to use a couple of large PRs to address them. After that, future changes will come in small PRs.)
2018-09-02 11:51:16 -07:00
.github Add docs for contributors. (#1191) 2017-11-10 00:40:19 -08:00
.travis fix it (#2735) 2018-08-24 15:01:12 -07:00
cmake/Modules Fix glog wheel failure on MacOS (#2775) 2018-08-30 09:06:19 -07:00
dev Document the release process. (#2760) 2018-08-29 00:06:33 -07:00
doc fix 'from ray.rllib import ppo' in doc (#2794) 2018-08-31 23:34:47 -07:00
docker Upgrade version of anaconda. (#2730) 2018-08-23 19:14:39 -07:00
examples [rllib] _init renamed to _build_layers in example 2018-07-12 19:21:58 +02:00
java [Java] improve Java API module (#2783) 2018-09-02 11:51:16 -07:00
python [xray] push warning to driver for infeasible tasks (#2784) 2018-09-01 13:21:27 -07:00
site Add parameter server blog post. (#2398) 2018-07-16 21:51:39 -07:00
src Add signal handlers to improve debuggability (#2757) 2018-09-01 21:58:23 -07:00
test Re-enable sharded monitor test for xray, convert to pytest. (#2804) 2018-09-01 19:53:40 -07:00
thirdparty/scripts Integrate plasma store list facility (#2752) 2018-09-01 16:53:51 -07: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 [Java] Change log dir to /tmp/raylogs (#2677) 2018-08-18 23:46:36 -07:00
.style.yapf YAPF, take 3 (#2098) 2018-05-19 16:07:28 -07:00
.travis.yml Add signal handlers to improve debuggability (#2757) 2018-09-01 21:58:23 -07:00
build-docker.sh adding -x flag for better debugging during builds (#1079) 2017-10-04 13:56:14 -07:00
build.sh Upgrade arrow to include more detailed flushing message (#2706) 2018-08-24 11:44:04 -07:00
CMakeLists.txt Support pluggable backend log lib with glog (#2695) 2018-08-23 09:43:38 -07:00
CONTRIBUTING.rst Replace special single quote with regular single quote. (#1693) 2018-03-10 20:36:01 -08:00
LICENSE [rllib] add augmented random search (#2714) 2018-08-24 22:20:02 -07:00
pylintrc adding pylint (#233) 2016-07-08 12:39:11 -07: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 Support building Java and Python version at the same time. (#2640) 2018-08-14 11:33:51 -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