Exopy is designed with the idea that user should be able to extend it to fit their own needs. The following section will describe how one should proceed to do so. The three first sections describe general concepts which are always applicable, the following ones are dedicated to the extension of specific part of the application.
If you need to extend the functionalities provided by an extension package please refer to its documentation for the specifics of the procedure.
- 1. Glossary and principle
- 2. Interacting with the core of Exopy
- 3. Tasks and interfaces
- 4. Instruments
- 5. Writing and running tests
- 6. Style guide
- 7. Atom and Enaml
When writing code for Exopy, or an extension packages you should follow the project style guides described in Style guide. Of course if you are developing a private extension you are free to do as you see fit but in order for a contribution to Exopy or one of its official extension package to be accepted it must follow those style guides.
Exopy does not export any name in the __init__.py module. However for ease of use the objects necessary to extend Exopy functionality are exported in the api.py file associated with each plugin.
Exopy is built on top of Atom and Enaml. Please have a look at Atom and Enaml for an explanation on how this influence the code.