Projects contain a list of PointSet, LineSet, Surface, and Volume. Projects can be serialized to file using OMFWriter:

proj = omf.Project()
proj.elements = [...]
OMFWriter(proj, 'outfile.omf')

For more details on how to build a project, see the OMF API Example.

class omf.base.Project(**kwargs)[source]

OMF Project for serializing to .omf file

Required Properties:

  • description (String): Description of the object, a unicode string
  • elements (a list of ProjectElement): Project Elements, a list (each item is an instance of ProjectElement)
  • metadata (ArbitraryMetadataDict): Project metadata, an arbitrary JSON-serializable dictionary, with certain keys validated against ProjectMetadata
  • name (String): Title of the object, a unicode string
  • uid (String): Unique identifier, a unicode string, Default: new instance of unicode