Metadata-Version: 2.1
Name: Neodroid
Version: 0.2.1
Summary: Python interface for the Neodroid platform, an API for communicating with a Unity Game process for a feedback response loop
Home-page: https://github.com/sintefneodroid/neo
Author: Christian Heider Nielsen
Author-email: cnheider@yandex.com
Maintainer: Christian Heider Nielsen
Maintainer-email: cnheider@yandex.com
License: Apache License, Version 2.0
Download-URL: https://github.com/sintefneodroid/neo/releases
Keywords: python reinforcement-learning interface api
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Natural Language :: English
Requires-Python: >=3
Description-Content-Type: text/markdown
Provides-Extra: all
Provides-Extra: gui
Provides-Extra: dev
Provides-Extra: tests
Requires-Dist: flatbuffers
Requires-Dist: draugr
Requires-Dist: warg
Requires-Dist: pyfiglet
Requires-Dist: fire
Requires-Dist: pyzmq
Requires-Dist: numpy
Requires-Dist: Pillow
Requires-Dist: gym
Requires-Dist: tqdm
Requires-Dist: matplotlib
Requires-Dist: cloudpickle
Requires-Dist: imageio
Requires-Dist: pip
Provides-Extra: all
Requires-Dist: kivy (>=1.10.1); extra == 'all'
Requires-Dist: pytest (>=4.4.1); extra == 'all'
Requires-Dist: pip (>=19.0.3); extra == 'all'
Requires-Dist: wheel (>=0.33.0); extra == 'all'
Requires-Dist: twine (>=1.13.0); extra == 'all'
Requires-Dist: pytest (>=4.3.0); extra == 'all'
Requires-Dist: pytest-cov (>=2.6.1); extra == 'all'
Requires-Dist: coveralls (>=1.6.0); extra == 'all'
Provides-Extra: dev
Requires-Dist: pip (>=19.0.3); extra == 'dev'
Requires-Dist: wheel (>=0.33.0); extra == 'dev'
Requires-Dist: twine (>=1.13.0); extra == 'dev'
Requires-Dist: pytest (>=4.3.0); extra == 'dev'
Requires-Dist: pytest-cov (>=2.6.1); extra == 'dev'
Requires-Dist: coveralls (>=1.6.0); extra == 'dev'
Provides-Extra: gui
Requires-Dist: kivy (>=1.10.1); extra == 'gui'
Provides-Extra: tests
Requires-Dist: pytest (>=4.4.1); extra == 'tests'

![neodroid](https://media.githubusercontent.com/media/sintefneodroid/neo/master/.github/images/header.png)

# Neo
Neo is a python package that enables deserialisation and an interface to the [Droid](https://github.com/sintefneodroid/droid) counterpart of the [Neodroid](https://github.com/sintefneodroid) platform.

---

_[Neodroid](https://github.com/sintefneodroid) is developed with support from Research Council of Norway Grant #262900. ([https://www.forskningsradet.no/prosjektbanken/#/project/NFR/262900](https://www.forskningsradet.no/prosjektbanken/#/project/NFR/262900))_

---

<table>
  <tr>
    <td>
      <a href='https://travis-ci.org/sintefneodroid/neo'>
        <img src='https://travis-ci.org/sintefneodroid/neo.svg?branch=master' alt='Build Status' />
      </a>
    </td>
    <td>
      <a href='https://coveralls.io/github/sintefneodroid/neo?branch=master'>
        <img src='https://coveralls.io/repos/github/sintefneodroid/neo/badge.svg?branch=master' alt='Coverage Status' />
      </a>
    </td>
    <td>
      <a href='https://github.com/sintefneodroid/neo/issues'>
        <img src='https://img.shields.io/github/issues/sintefneodroid/neo.svg?style=flat' alt='GitHub Issues' />
      </a>
    </td>
    <td>
      <a href='https://documentation.neodroid.ml/?badge=latest'>
        <img src='https://readthedocs.org/projects/neodroid/badge/?version=latest' alt='Documentation Status' />
      </a>
    </td>
  </tr>
  <tr>
    <td>
      <a href='https://github.com/sintefneodroid/neo/network'>
        <img src='https://img.shields.io/github/forks/sintefneodroid/neo.svg?style=flat' alt='GitHub Forks' />
      </a>
    </td>
      <td>
      <a href='https://github.com/sintefneodroid/neo/stargazers'>
        <img src='https://img.shields.io/github/stars/sintefneodroid/neo.svg?style=flat' alt='GitHub Stars' />
      </a>
    </td>
      <td>
      <a href='https://github.com/sintefneodroid/neo/blob/master/LICENSE.md'>
        <img src='https://img.shields.io/github/license/sintefneodroid/neo.svg?style=flat' alt='GitHub License' />
      </a>
    </td>
    <td>
      <a href="https://pyup.io/repos/github/sintefneodroid/neo/">
        <img src="https://pyup.io/repos/github/sintefneodroid/neo/python-3-shield.svg" alt="Python 3" />
      </a>
    </td>
  </tr>
  <tr>
    <td>
      <a href='https://pypi.python.org/pypi/Neodroid'>
        <img src='https://pypip.in/v/neodroid/badge.png' alt='Pypi Version' />
      </a>
    </td>
      <td>
      <a href='https://pypi.python.org/pypi/Neodroid'>
        <img src='https://pypip.in/d/neodroid/badge.png' alt='Pypi Downloads' />
      </a>
    </td>
    <td>
      <a href='https://pypi.python.org/pypi/Neodroid'>
        <img src='https://pypip.in/wheel/neodroid/badge.png' alt='Pypi Wheel' />
      </a>
    </td>
    <td>
      <a href="https://pyup.io/repos/github/sintefneodroid/neo/">
        <img src="https://pyup.io/repos/github/sintefneodroid/neo/shield.svg" alt="Updates" />
      </a>
    </td>
  </tr>
</table>

<p align="center" width="100%">
  <a href="https://www.python.org/">
  <img alt="python" src="https://raw.githubusercontent.com/sintefneodroid/neo/master/.github/images/python.svg" height="40" align="left">
  </a>
  <a href="https://github.com/google/flatbuffers">
  <img alt="flatbuffers" src="https://raw.githubusercontent.com/sintefneodroid/neo/master/.github/images/flatbuffers.svg" height="40"  align="center">
  </a>
  <a href="https://github.com/zeromq/pyzmq" >
  <img alt="pyzmq" src="https://media.githubusercontent.com/media/sintefneodroid/neo/master/.github/images/pyzmq.png" height="40" align="right">
  </a>
</p>

## Installation
```bash
pip3 install -U neodroid
```

## Usage
```py
import neodroid as neo
```

<!---
 ## Features
-->

## Examples
We have included some  example applications in this repository.

### Observation Generator

### Random Agent

### Curriculum

### An Example Implementation Of Using An Interface

The application displays data received from the example application of the [Droid](https://github.com/sintefneodroid/droid) project repository.
![neo](.github/images/neo.png)

<!---
## Screenshots
-->

# To Do's
- [ ] Be able to select and/or parameterise an objective/evaluation (None,ReachGoal,Stabilise,..) function for an environment

# Citation

For citation you may use the following bibtex entry:
````
@misc{neodroid,
  author = {Heider, Christian},
  title = {Neodroid Platform},
  year = {2018},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/sintefneodroid}},
}
````
# Other Components Of the Neodroid Platform

- [agent](https://github.com/sintefneodroid/agent)
- [simulation](https://github.com/sintefneodroid/simulation)
- [droid](https://github.com/sintefneodroid/droid)

# FAQ
- My iterations per second are maxed out at ~60..
  - Ensure that you have disabled vsync, for bumblebee users on linux you can use ```vblank_mode=0 optirun ..```.
- Why was this tool created, what does it serve and not just use Unity's own RL framework?
  - This project is very similar to Unity's own project [Unity Machine Learning Agents](https://github.com/Unity-Technologies/ml-agents). The most of the efforts done in this project were made prior to their announcement, [Introducing: Unity Machine Learning Agents](https://blogs.unity3d.com/2017/09/19/introducing-unity-machine-learning-agents/). The entire Neodroid platform served and still serves as a tool for academic research specific to the authors interests, hence explaining to the existence and future direction of this project.
## Other Problems
Please contact us or add an issue if have a problem that is not listed in the FAQ


