.. meta:: :description: Introduction Developer Documentation Introduction to the Developer Documentation =========================================== Dragonfly has been designed with the intent to be extendable by the users. This can be done by writing personalized extensions that will be seamlessly integrated by Dragonfly. Writing extensions allow to customize Dragonfly in multiple ways, such as: - to perform simple tasks that otherwise would be repetitive - to implement a workflow for a specific task - to test algorithms - to view custom properties This developer documentation is decomposed in these major sections: - :ref:`gettingStarted`: provides links to the Python official documentation and help to setup the development environment with PyCharm; - :ref:`architectureOfDragonfly`: provides detailed information on the architecture of Dragonfly and on each kind of extension; - :ref:`codeDocumentation`: contains the documentation of the available methods and functions (including their purpose, signature and the detail of their arguments); - :ref:`indicesAndTables`: provides tools to search for a specific method. **Video tutorials** are found in some pages. Links to these video tutorials can be found :ref:`here `. Many coding concepts described in these pages are accompanied by **demonstration examples** that can be downloaded and used in Dragonfly, to help understand the exposed concept. Since most of them are written in Python, they can be modified at will to experiment on these concepts.