Skip to main content

License Apache PyPI - Python Version PyPI - Wheel Test Badge Github

OOO Development Tools (OooDev) is intended for programmers who want to learn and use the Python version of the LibreOffice API.

This allows Python to control and manipulate LibreOffice’s text, drawing, presentation, spreadsheet, and database applications, and a lot more (e.g. its spell checker, forms designer, and charting tools).

One of the aims is to develop utility code to help flatten the steep learning curve for the API. For example, The Lo class simplifies the steps needed to initialize the API (by creating a connection to a LibreOffice process), to open/create a document, save it, and close down LibreOffice.

Currently this project has been tested on LibreOffice in Windows and Linux (Ubuntu).

Advantages of Python

Macros are pieces of programming code that runs in office suites and helps automate routine tasks. Specifically, in LibreOffice API these codes can be written with so many programming languages thanks to the Universal Network Objects (UNO).

Since LibreOffice is multi-platform we can use our documents at different platforms like Mac, Windows, and Linux. So we need a cross-platform language to run our macros at different platforms.

Python has the advantage that it is cross-platform and can run inside the office environment as macros and outside office environment on the command line.

Python has a vast set libraries that can be used in a project, including Numpy and Numexpr which are excellent and powerful at numeric computation.

This makes Python and excellent choice with maximum flexibility.

Documentation

Docs

Read documentation

Command Line Help

There are many classes and methods in this project. For this reason OooDev has a command line tool OooDev CLI Help. that can be used to search the documentation for classes and methods this project. Choosing a number from a search result opens you web browser to that class or method in the documentation.

OooDev CLI Help is built from Sphinx CLI Help, so see the Wiki Searching help and substitute cli-hlp with odh on command line instructions.

Example Usage:

odh hlp -s Write.append

Choose an option (default 1):
[0],  Cancel (or press q followed by enter)
[1],  ooodev.office.write.Write.append                                 - method     - py
[2],  ooodev.office.write.Write.append_date_time                       - method     - py
[3],  ooodev.office.write.Write.append_line                            - method     - py
[4],  ooodev.office.write.Write.append_para                            - method     - py

Note that OooDev CLI Help is a separate project and is not required to use this project. Also OooDev CLI Help use python built in sqlite which is not shipped with LibreOffices’s python on Windows. This means some configurations will not allow OooDev CLI Help to run on Windows. In this case you can install OooDev CLI Help on a global scope and use it that way if needed.

See Also: LibreOffice Developer Search

Installation

EXTENSION

This project is also available as an extension for LibreOffice. The OOO Development Tools extension is available on GitHub and LibreOffice Extensions.

See the Guide for installation and usage.

PIP

ooo-dev-tools PyPI

pip install ooo-dev-tools

Note: Support for python 3.7 was dropped in version 0.10.0

Modules

Currently there are more than 4,000 classes in this framework.

Include modules:
  • Calc (Calc)

  • Write (Write)

  • Draw (LibreOffice Draw/Impress)

  • Forms (Support for building forms)

  • Dialogs (Build dialog forms)

  • GUI (Various GUI methods for manipulating LO Windows)

  • Lo (Various methods common to LO applications)

  • FileIO (File Input and Output for working with LO)

  • Format (Format Module — hundreds of classes — for Styling and modifying the many Documents and Sheets properties.)

  • Props (Various methods setting and getting the many properties of Office objects)

  • Info (Various method for getting information about LO applications)

  • Color (Various color utils)

  • DateUtil (Date Time utilities)

  • ImagesLo (Various methods for working with Images)

  • Props (Various methods for working with the many API properties)

  • Chart2 (charting)

  • Chart (charting)

  • Gallery (Methods for accessing and reporting on the Gallery)

  • Theme (Access to LibreOffice Theme Properties)

  • Units (Various unit methods and classes for passing different kinds of units in LibreOffice such as inches, millimeters, points, pixels.)

  • And more …

Future releases will add:
  • Base (LibreOffice Base)

  • Clip (clipboard support)

  • Mail (Mail service provider)

  • Print (Print service provider)

  • And more …

Inspiration

Much of this project is inspired by the work of Dr. Andrew Davison. An archive archive of the Java code is available at GitHub - LibreOffice Java Programming.

See Also:

Other

Figure 1: Calc Find and Replace Automation Example

Calc Find and Replace Automation

Metadata

Release files for ooo-dev-tools 0.53.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ooo-dev-tools 0.53.4
File Size Uploaded
ooo_dev_tools-0.53.4.tar.gz 2.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ooo-dev-tools 0.53.4
File Interpreter ABI Platform
ooo_dev_tools-0.53.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.9 MB

Release files / ooo_dev_tools-0.53.4.tar.gz

Download URL ooo_dev_tools-0.53.4.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f553625ab8df5e9c57f82cabffc1697e078dc529ba50a1230963c4ccee941a90
BLAKE2b-256 checksum
How to use checksums
91cf11ee00699da77e8739ab9f13abd41b9d8df2f10ff89a7d4a98dd0ad9e9dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.5 Linux/6.8.0-60-generic

Release files / ooo_dev_tools-0.53.4-py3-none-any.whl

Download URL ooo_dev_tools-0.53.4-py3-none-any.whl
Size 4.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
fa6e2de28dafff21aca2890413424a3fd1c4eb0fb846b2b23579f8d2e78882a9
BLAKE2b-256 checksum
How to use checksums
910cb298802ac969215cd9b36f1a28da3bc28a2dc2b3ac4d86a9a1f7fd3706e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.5 Linux/6.8.0-60-generic

Release history Release notifications | RSS feed

This release

0.53.4 This release

2 release files

0.53.3

2 release files

0.53.2

2 release files

0.53.0

2 release files

0.52.6

2 release files

0.52.5

2 release files

0.52.4

2 release files

0.52.3

2 release files

0.52.2

2 release files

0.51.1

2 release files

0.51.0

2 release files

0.50.0

2 release files

0.49.1

2 release files

0.49.0

2 release files

0.48.1

2 release files

0.48.0

2 release files

0.47.7

2 release files

0.47.6

2 release files

0.47.3

2 release files

0.47.2

2 release files

0.47.1

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.2

2 release files

0.45.1

2 release files

0.45.0

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.43.2

2 release files

0.43.1

2 release files

0.43.0

2 release files

0.41.2

2 release files

0.41.1

2 release files

0.41.0

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.4

2 release files

0.36.3

2 release files

0.36.2

2 release files

0.36.1

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.3

2 release files

0.34.2

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.32.2

2 release files

0.31.0

2 release files

0.30.4

2 release files

0.30.3

2 release files

0.30.2

2 release files

0.30.1

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.28.4

2 release files

0.28.3

2 release files

0.28.2

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.3

2 release files

0.21.2

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.17.9

2 release files

0.17.8

2 release files

0.17.7

2 release files

0.17.6

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.7

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.11.9

2 release files

0.11.8

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.21

2 release files

0.4.20

2 release files

0.4.19

2 release files

0.4.18

2 release files

0.4.17

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.11

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page