The data is abstracted away from any particular file presentation. Importers and exporters (see below) convert other file formats into/from the data model.
Quill uses a coordinate system with points \((x,y)\) such that:
The data is organized as follows. The Book class contains metadata and a list of pages. Each Page contains the paper data and a list of all graphics objects on the page. The following modules implement these:
To create a new importer you should create a new module in src/quill/importer and derive from quill.importer.base.ImporterBase. Its documentation will tell you which methods to override. An importer is essentially a factory object for the data model objects, so you will have to flesh it out by implementing functions that read your own fileformat and create the corresponding book object.
To create a new importer you should create a new module in src/quill/importer and derive from quill.exporter.base.ExporterBase. Its documentation will tell you which methods to override. An exporter converts the notebook data model objects into your own file format, and does not have any access to the original (imported) file.