{"schema_version":1,"metadata":{"branch":"release","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:02.361425+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64/sqlports-7.54.tgz","source_sha256":"2de00144847bf9da3a365be982f101dbb55d591ed7a915ea94984a16ab0e0404","package_count":12059,"source_kind":"sqlports"},"package":{"name":"py3-odfpy-1.4.1p6","path":"textproc/py-odfpy","url":"/packages/release/textproc/py-odfpy/","comment":"Python API and tools to manipulate OpenDocument files","homepage":"https://github.com/eea/odfpy","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"Odfpy is a library to read and write OpenDocument v.1.2 files.\nThe main focus has been to prevent the programmer from creating invalid\ndocuments. It has checks that raise an exception if the programmer adds an\ninvalid element, adds an attribute unknown to the grammar, forgets to add a\nrequired attribute or adds text to an element that doesn't allow it.\n\nThese checks and the API itself were generated from the RelaxNG schema, and then\nhand-edited. Therefore the API is complete and can handle all ODF constructions.\n\nIn addition to the API, there are a few scripts:\n\n- csv2odf - Create OpenDocument spreadsheet from comma separated values\n- mailodf - Email ODF file as HTML archive\n- odf2xhtml - Convert ODF to (X)HTML\n- odf2mht - Convert ODF to HTML archive\n- odf2xml - Create OpenDocument XML file from OD? package\n- odfimgimport - Import external images\n- odflint - Check ODF file for problems\n- odfmeta - List or change the metadata of an ODF file\n- odfoutline - Show outline of OpenDocument\n- odfuserfield - List or change the user-field declarations in an ODF file\n- xml2odf - Create OD? package from OpenDocument in XML form\n","package_architecture":"amd64","stem":"py3-odfpy","readme":null,"dependencies":[{"path":"textproc/py-defusedxml","type":"runtime","package_spec":"","url":"/packages/release/textproc/py-defusedxml/"},{"path":"lang/python/3","type":"runtime","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"lang/python/3","type":"build","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"devel/py-build","type":"build","package_spec":"","url":"/packages/release/devel/py-build/"},{"path":"devel/py-installer","type":"build","package_spec":"","url":"/packages/release/devel/py-installer/"},{"path":"devel/py-setuptools","type":"build","package_spec":"py3-setuptools->=79v0","url":"/packages/release/devel/py-setuptools/"},{"path":"devel/py-wheel","type":"build","package_spec":"","url":"/packages/release/devel/py-wheel/"},{"path":"textproc/py-defusedxml","type":"test","package_spec":"","url":"/packages/release/textproc/py-defusedxml/"},{"path":"lang/python/3","type":"test","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"devel/py-test","type":"test","package_spec":"","url":"/packages/release/devel/py-test/"}],"reverse_dependencies":{"count":0,"url":null},"categories":["textproc","devel","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","alpha","hppa","sparc64"],"not_for_architectures":[]}}
