---
title: Developing Luminal
description: 'Building the future of ML.'
icon: 'hand-wave'
---

<img
  className="block dark:hidden rounded-xl"
  src="/images/abstract_light.jpg"
  alt="Hero Light"
/>
<img
  className="hidden dark:block rounded-xl"
  src="/images/abstract.jpg"
  alt="Hero Dark"
/>

Please take a look at the [issues](https://github.com/jafioti/luminal/issues) and [roadmap](https://github.com/users/jafioti/projects/1) to see what's targeted for upcoming releases. Contributions for those features are preferred and will be reviewed and merged very rapidly. Other contributions are welcome, but please note Luminal is and always will be a fairly minimal library.

The core design of Luminal is heavily predicated on extensibility. Compilers alow for immense complexity to be removed from the core library and added with third party compilers. For instance, datatypes and devices are typically first class primitives. In Luminal, they're compilers and the core has no idea about them. This is the general trend we'll stick to: core remains brutally simple, and everything that can be externalized to a compiler will be.

PRs that remove complexity are always welcome, but note that line count often is a bad proxy for complexity. Ideally the entire Luminal core should be a few thousand lines of code, but anything remotely resembling code golf is not allowed.
