> For the complete documentation index, see [llms.txt](https://docs.libnova.com/labdrive/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.libnova.com/labdrive/developers-guide/introduction.md).

# Introduction

The platform has been designed to be developer's friendly, and to accept a high degree of automation using the API.

Depending on *where* you run the code, there are four main ways in which you can add your own logic and scripts to the platform:

* **In the platform,**&#x20;
  * **In a non-interactive way:** Using the platform's Functions. This is code the platform is capable of running under the hood, in response to user's requests or in response to platform events. Please see the[ Functions guide](/labdrive/developers-guide/functions.md) to know more.
  * **In an interactive way:** Using the platform's Jupyter notebooks functionality you can run your code that will run in the Jupyter container in the platform. Please see the [Jupyter Notebooks](/labdrive/get-started/jupyter-notebooks.md) documentation.
  * **In your own environment:** Using the platform's CDI (Custom Docker Containers), you can launch and deploy your own docker containers running in the platform environment.&#x20;
* **Outside of the platform,**&#x20;
  * Using your own environments to run your code. Please see the [Scripting guide](/labdrive/developers-guide/scripting.md) for some examples.

You also have a [python library](/labdrive/developers-guide/functions.md#functions-code-structure) that will make your coding easier, and the [extended API documentation](/labdrive/developers-guide/api-extended-documentation.md), with all available methods.
