{"id":18727804,"url":"https://github.com/sintefneodroid/neo","last_synced_at":"2025-10-30T20:55:42.570Z","repository":{"id":57445458,"uuid":"98278558","full_name":"sintefneodroid/neo","owner":"sintefneodroid","description":"Python interface for the Neodroid platform 💻","archived":false,"fork":false,"pushed_at":"2025-02-03T20:21:38.000Z","size":211248,"stargazers_count":8,"open_issues_count":10,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-19T12:47:51.146Z","etag":null,"topics":["agent","api","blazing","deep-learning","droid","fast","hacktoberfest","interface","ml","neo","neodroid","neural-network","python","reinforcement-learning","rl","serves","unity"],"latest_commit_sha":null,"homepage":"https://www.sintef.no/en/ocean/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sintefneodroid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["cnheider"],"patreon":"cnheider","open_collective":"cnheider","ko_fi":"cnheider","tidelift":"pypi/Neodroid","custom":null}},"created_at":"2017-07-25T07:38:35.000Z","updated_at":"2025-01-18T10:43:22.000Z","dependencies_parsed_at":"2024-04-15T20:41:51.413Z","dependency_job_id":"7cdfd4bb-5937-4e58-ab7c-5cb7438c6adb","html_url":"https://github.com/sintefneodroid/neo","commit_stats":{"total_commits":226,"total_committers":6,"mean_commits":"37.666666666666664","dds":0.2168141592920354,"last_synced_commit":"5405769fdb5d657a2b5ad1c4c4e749d50b90dfa5"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sintefneodroid/neo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fneo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fneo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fneo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fneo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefneodroid","download_url":"https://codeload.github.com/sintefneodroid/neo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefneodroid%2Fneo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266160638,"owners_count":23885883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","api","blazing","deep-learning","droid","fast","hacktoberfest","interface","ml","neo","neodroid","neural-network","python","reinforcement-learning","rl","serves","unity"],"created_at":"2024-11-07T14:18:56.354Z","updated_at":"2025-10-30T20:55:42.492Z","avatar_url":"https://github.com/sintefneodroid.png","language":"Python","funding_links":["https://github.com/sponsors/cnheider","https://patreon.com/cnheider","https://opencollective.com/cnheider","https://ko-fi.com/cnheider","https://tidelift.com/funding/github/pypi/Neodroid"],"categories":[],"sub_categories":[],"readme":"\u003c!--![header](.github/images/header.png)--\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/images/header.png\" alt='header' /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eNeo\u003c/h1\u003e\n\n\u003c!--# Neo--\u003e\n\nNeo is a python package that enables deserialisation, serialisation and an interface to the [Droid](https://github.com/sintefneodroid/droid) counterpart of the [Neodroid](https://github.com/sintefneodroid) platform.\n\n---\n\n_[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))_\n\n---\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href='https://travis-ci.org/sintefneodroid/neo'\u003e\n        \u003cimg src='https://travis-ci.org/sintefneodroid/neo.svg?branch=master' alt='Build Status' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://coveralls.io/github/sintefneodroid/neo?branch=master'\u003e\n        \u003cimg src='https://coveralls.io/repos/github/sintefneodroid/neo/badge.svg?branch=master' alt='Coverage Status' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/neo/issues'\u003e\n        \u003cimg src='https://img.shields.io/github/issues/sintefneodroid/neo.svg?style=flat' alt='GitHub Issues' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://sintefneodroid.github.io/documentation/?badge=latest'\u003e\n        \u003cimg src='https://readthedocs.org/projects/neodroid/badge/?version=latest' alt='Documentation Status' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/neo/network'\u003e\n        \u003cimg src='https://img.shields.io/github/forks/sintefneodroid/neo.svg?style=flat' alt='GitHub Forks' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/neo/stargazers'\u003e\n        \u003cimg src='https://img.shields.io/github/stars/sintefneodroid/neo.svg?style=flat' alt='GitHub Stars' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href='https://github.com/sintefneodroid/neo/blob/master/LICENSE.md'\u003e\n        \u003cimg src='https://img.shields.io/github/license/sintefneodroid/neo.svg?style=flat' alt='GitHub License' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://pyup.io/repos/github/sintefneodroid/neo/\"\u003e\n        \u003cimg src=\"https://pyup.io/repos/github/sintefneodroid/neo/python-3-shield.svg\" alt=\"Python 3\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href='https://pypi.python.org/pypi/Neodroid'\u003e\n        \u003cimg src='https://pypip.in/v/neodroid/badge.png' alt='Pypi Version' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href='https://pypi.python.org/pypi/Neodroid'\u003e\n        \u003cimg src='https://pypip.in/d/neodroid/badge.png' alt='Pypi Downloads' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href='https://pypi.python.org/pypi/Neodroid'\u003e\n        \u003cimg src='https://pypip.in/wheel/neodroid/badge.png' alt='Pypi Wheel' /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://pyup.io/repos/github/sintefneodroid/neo/\"\u003e\n        \u003cimg src=\"https://pyup.io/repos/github/sintefneodroid/neo/shield.svg\" alt=\"Updates\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n  \u003ca href=\"https://www.python.org/\"\u003e\n  \u003cimg alt=\"python\" src=\"https://raw.githubusercontent.com/sintefneodroid/neo/master/.github/images/python.svg\" height=\"40\" align=\"left\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/google/flatbuffers\"\u003e\n  \u003cimg alt=\"flatbuffers\" src=\"https://raw.githubusercontent.com/sintefneodroid/neo/master/.github/images/flatbuffers.svg\" height=\"40\"  align=\"center\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/zeromq/pyzmq\" \u003e\n  \u003cimg alt=\"pyzmq\" src=\"https://media.githubusercontent.com/media/sintefneodroid/neo/master/.github/images/pyzmq.png\" height=\"40\" align=\"right\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Installation\n```bash\npip3 install -U neodroid\n```\n\n## Usage\n```py\nimport neodroid as neo\n```\n\n\u003c!---\n ## Features\n--\u003e\n\n## Examples\nWe have included some  example applications in this repository.\n\n### Observation Generator\n\n### Random Agent\n\n### Curriculum\n\n### An Example Implementation Of Using An Interface\n\nThe application displays data received from the example application of the [Droid](https://github.com/sintefneodroid/droid) project repository.\n![neo](.github/images/neo.png)\n\n\u003c!---\n## Screenshots\n--\u003e\n\n# To Do's\n- [ ] Be able to select and/or parameterise an objective/evaluation (None,ReachGoal,Stabilise,..) function for an environment\n\n\n# Contributing\nSee guidelines for contributing [here](.github/CONTRIBUTING.md).\n\n# Licensing\n\nThis project is licensed under the Apache V2 License. See [LICENSE](LICENSE.md) for more information.\n\n# Citation\n\nFor citation you may use the following bibtex entry:\n````\n@misc{neodroid,\n  author = {Heider, Christian},\n  title = {Neodroid Platform},\n  year = {2018},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/sintefneodroid}},\n}\n````\n# Other Components Of the Neodroid Platform\n\n- [agent](https://github.com/sintefneodroid/agent)\n- [simulation](https://github.com/sintefneodroid/simulation)\n- [droid](https://github.com/sintefneodroid/droid)\n\n# FAQ\n- My iterations per second are maxed out at ~60..\n  - Ensure that you have disabled vsync, for bumblebee users on linux you can use ```vblank_mode=0 optirun ..```.\n- Why was this tool created, what does it serve and not just use Unity's own RL framework?\n  - 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.\n\n## Other Problems\nPlease contact us or add an issue if have a problem that is not listed in the FAQ\n\n# Authors\n\n* **Christian Heider Nielsen** - [cnheider](https://github.com/cnheider)\n\nHere other [contributors](https://github.com/sintefneodroid/neo/contributors) to this project are listed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefneodroid%2Fneo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintefneodroid%2Fneo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefneodroid%2Fneo/lists"}