# odoc - OpenDocument Spreadsheet Generator
A lightweight spreadsheet generator, which targets LibreOffice.
Aims to provide an easy and painless way to create spreadsheets, without having to dive into the
details of the OpenDocument format.
Limitations:
- odoc is for the creation of documents only. It does not read them, nor does it allow
to interact with them, or edit them programatically.
- Charts are not supported (yet).
- The documentation sucks - as there is non. But, there are example files, which
cover all aspects of odoc.
- No macro support.
Capabilities:
- Supports most styling options
- Named cells and ranges
- Conditional formating
- Images
- Cell comments
- Merged cells
- Array-formulas
## Installation
```shell
python3 -m pip install odoc
```
## Example
```python
from odoc import Calc
doc = Calc()
sheet = doc['Sheet1']
sheet[0,0] = 'Apples'
sheet[0,1] = 5
sheet[1,0] = 'Oranges'
sheet[1,1] = 7
sheet[2,0] = 'Total'
sheet[2,1] = f'=sum({sheet[0:1,1].address()})'
doc.save('sample.ods')
```
## Requirements
Python >= 3.11
## License
The project uses the [MIT](https://mit-license.org/) license.
Raw data
{
"_id": null,
"home_page": null,
"name": "odoc",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "libreoffice, ods, opendocument, spreadsheet",
"author": null,
"author_email": "odoc <odoc@tutamail.com>",
"download_url": "https://files.pythonhosted.org/packages/35/a2/790757cac499fd77890c800671c777bb022af461a37c112cf79d892728d6/odoc-0.7.0b1.tar.gz",
"platform": null,
"description": "# odoc - OpenDocument Spreadsheet Generator\n\nA lightweight spreadsheet generator, which targets LibreOffice.\n\nAims to provide an easy and painless way to create spreadsheets, without having to dive into the\ndetails of the OpenDocument format.\n\nLimitations:\n- odoc is for the creation of documents only. It does not read them, nor does it allow\n to interact with them, or edit them programatically.\n- Charts are not supported (yet).\n- The documentation sucks - as there is non. But, there are example files, which\n cover all aspects of odoc.\n- No macro support.\n\nCapabilities:\n- Supports most styling options\n- Named cells and ranges\n- Conditional formating\n- Images\n- Cell comments\n- Merged cells\n- Array-formulas\n\n## Installation\n\n```shell\npython3 -m pip install odoc\n```\n\n## Example\n```python\nfrom odoc import Calc\n\ndoc = Calc()\nsheet = doc['Sheet1']\n\nsheet[0,0] = 'Apples'\nsheet[0,1] = 5\n\nsheet[1,0] = 'Oranges'\nsheet[1,1] = 7\n\nsheet[2,0] = 'Total'\nsheet[2,1] = f'=sum({sheet[0:1,1].address()})'\n\ndoc.save('sample.ods')\n```\n\n## Requirements\n\nPython >= 3.11\n\n## License\n\nThe project uses the [MIT](https://mit-license.org/) license.\n",
"bugtrack_url": null,
"license": null,
"summary": "An OpenDocument Spreadsheet Generator",
"version": "0.7.0b1",
"project_urls": {
"Documentation": "https://codeberg.org/odoc/odoc/src/branch/main/examples",
"Homepage": "https://codeberg.org/odoc/odoc",
"Issues": "https://codeberg.org/odoc/odoc/issues",
"Repository": "https://codeberg.org/odoc/odoc.git"
},
"split_keywords": [
"libreoffice",
" ods",
" opendocument",
" spreadsheet"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "208bd6aa4ab03995166577d7466a19f8b410c18c65071caf3b878d9e463be787",
"md5": "cf96ece5a8319b9d69748470f13f4c8b",
"sha256": "2e51061795335478843c62a5c3aadcabdd65310eee98f65e00fa3fa9b50c07ac"
},
"downloads": -1,
"filename": "odoc-0.7.0b1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cf96ece5a8319b9d69748470f13f4c8b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 34328,
"upload_time": "2025-08-14T08:49:09",
"upload_time_iso_8601": "2025-08-14T08:49:09.783237Z",
"url": "https://files.pythonhosted.org/packages/20/8b/d6aa4ab03995166577d7466a19f8b410c18c65071caf3b878d9e463be787/odoc-0.7.0b1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "35a2790757cac499fd77890c800671c777bb022af461a37c112cf79d892728d6",
"md5": "ca1b0ee6ff56bd2fdcc93b4e3236038a",
"sha256": "bddcfcaa73bec21522575d8051d89c9138ed69c09c8d6616bfb1ed8f16eab391"
},
"downloads": -1,
"filename": "odoc-0.7.0b1.tar.gz",
"has_sig": false,
"md5_digest": "ca1b0ee6ff56bd2fdcc93b4e3236038a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 47923,
"upload_time": "2025-08-14T08:49:11",
"upload_time_iso_8601": "2025-08-14T08:49:11.904560Z",
"url": "https://files.pythonhosted.org/packages/35/a2/790757cac499fd77890c800671c777bb022af461a37c112cf79d892728d6/odoc-0.7.0b1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-14 08:49:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": true,
"codeberg_user": "odoc",
"codeberg_project": "odoc",
"lcname": "odoc"
}