Skip to main content

Reinforcement learning framework built in modern Python for experimentation, ease-of-use, modularity, and extensibility.

Project description

Decuen

GitHub last commit Travis (.com) GitHub release (latest by date) PyPI PyPI - Python Version

Decuen (dee-kew-en) is a reinforcement learning framework built in modern Python for experimentation, ease-of-use, modularity, and extensibility. Containing building blocks for modern reinforcement learning systems and modular implementations of common reinforcement learning algorithms, Decuen provides a platform for rapid iterative experimentation of new reinforcement learning systems.

Decuen has a robust Python API with type annotations (see the Python typing module) which provides developers and users with a clear view of API contracts that can accelerate debugging on both the developer and user side.

Decuen development and design is lead by Ziyad Edher GitHub followers Twitter Follow.

GitHub forks GitHub stars GitHub watchers

Principles

The development of Decuen follows a small but effective set of guiding principles that attempts to span and encapsulate our vision of what Decuen is to be:

  • Ease of use. Decuen provides an API that follows existing standards, terminology, and intuitions popularized in modern reinforcement learning literature. Following these standards allows the usage of Decuen to come as second-nature to developers or researchers already familiar with reinforcement learning. Development of Decuen follows this standard to reduce the barrier-of-entry to using the framework.
  • Extensibility. Decuen is intended for quick, iterative development and experimentation of reinforcement learning systems, and as such the ability to easily extend Decuen source code is of utmost importance. Decuen achieves this by providing well-documented and typed source code with thoughtfully designed interfaces and abstractions.
  • Modularity. Decuen strives to be a tool for developers and researchers alike to be able to create reinforcement learning mechanisms without reinventing the wheel. Decuen implements all algorithms in a modular "building blocks" fashion to allow the plug-and-play of different modules in the larger system. This allows the independent design and development of new components to be tested as replacements for modules in current reinforcement learning systems.
  • Transparency. Decuen strives to be as transparent as possible in its interfaces and abstractions to facilitate as many dimensions of change as possible. Abstractions, interfaces, and implementations are not closed-off and tend to provide as much information about internal processes as possible while abiding by our standard of modularity and extensibility.

Installation

Basic Installation

Installing decuen from PyPI is very simple, find the package here: 0. Be in the environment you would like to install decuen in.

  1. Install decuen through pip: pip install decuen

Source Installation

Installing decuen from source is very simple given the framework is entirely written in modern Python: 0. Be in the environment you would like to install decuen in.

  1. Clone the repository: git clone https://github.com/ziyadedher/decuen.
  2. Install decuen into your environment: cd decuen && pip install ..

Usage

After installing decuen, the framework is completely ready to be used. Detailed usage instructions, tutorials, examples, and more can be found in the Decuen Wiki.

Development

After installing decuen from source in your environment, there is a step to perform before the project is ready to be developed on:

  1. Reinstall decuen in editable mode with linting and testing libraries: pip install -e '.[lint, test]'.

Now the project is ready to be developed. Note that in order to make sure that the CI/CD pipeline passes on your merge request, verify that our linter prospector does not produce any errors or warnings. You can also use tox to run the linter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decuen-0.0.5.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

decuen-0.0.5-py2.py3-none-any.whl (25.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file decuen-0.0.5.tar.gz.

File metadata

  • Download URL: decuen-0.0.5.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5+

File hashes

Hashes for decuen-0.0.5.tar.gz
Algorithm Hash digest
SHA256 02454a8af9dba87d4484ae9626f9d48a59e4b7a6821968f741be9bdcb296a799
MD5 6860163d5b18127a13b811fa88ec8b6d
BLAKE2b-256 349173ec636b0b657e0343b6870a11cf1f7c1bd18295f82020912eea77a4def8

See more details on using hashes here.

File details

Details for the file decuen-0.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: decuen-0.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5+

File hashes

Hashes for decuen-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a02970c58cde626ffbb1ab4ad47bb39904fd233b5430cfdcce3040c92b807b7c
MD5 33e169bfd651e6f56f1d3e3a9c6cf187
BLAKE2b-256 2d22f71fa8b40fef239ca0de66d2313e4f5eeb382e67e6b58ff266ce93b0264f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page