Skip to main content

This tool helps developing LibreOffice Extension. It mainly does:

  • build a LibreOffice extension from source

  • create the Addons.xcu file following a simple yaml conf file.

  • install / uninstall extension

  • create shortcut from installed extension to development files

Note that it hasn’t been tested on other system than Linux.

WHY

When developing for LibreOffice, it is common to reinstall an extension to test it, which means compiling, uninstalling, installing. These tasks are quite boring. Beside, after a reinstallation, you need to create again and again some symlinks from the installation path to your code.

This command line tool helps achieving this goal.

Installation

$ pip install lo-extension-dev

Attention: this tool needs two configuration files to work !

Create in your root directory extension.yml and addons.yml to auto generate Addons.xcu files in charge of OfficeMenuBar & OfficeToolBar.

The module holds an example of these files.

Usage

To develop a LibreOffice extension, we advocate to use the following architecture. Extension code is in src/.

─ my_extension
    │   ├── addons.yml
│   ├── Addons.xcu
│   ├── extension
│   │   ├── 0.0.1
│   │   │   ├── lo-extension-testing.oxt
│   ├── extension.yml
│   ├── README.md
│   └── src
│       ├── Accelerators.xcu
│       ├── Addons.xcu
│       ├── assets
│       │   ├── avaudiologo.svg
│       │   └── sc_underline.svg
│       ├── description
│       │   ├── descr-en.txt
│       ├── description.xml
│       ├── dialogs
│       │   ├── window.xdl
│       ├── Events.xcu
│       ├── META-INF
│       │   └── manifest.xml
│       ├── Office
│       │   └── UI
│       ├── python
│       │   ├── pythonpath
│       │   └── my_macros.py
│       ├── README.md
│       └── registration
│           ├── license_en.txt
└── README.md

Once installed, a command line manage_extension is available in your terminal.

To get help, just type:

$ manage_extension -h

options:
-h, --help

show this help message and exit

-o, --open

Open installation directory

-m, --make

Make extension

-i, --install

Install extension

-u, --uninstall

Uninstall extension

-d, --dev

Set dev shortcuts

-id, --install-dev

Install and set dev shortcuts

Configuration files

We use two configuration files, using yaml syntax. One to generate menubar menu and toolbar menu. The second one hold the extension configuration.

extension.yml

  • version : version number in format 0.0.1

  • extension_name : name of your extension (no space)

  • file_extension : zip or oxt

  • lib : com.company.my_extension

  • macros_directory : in this example, it is python. In some project, it is macros.

-addons : it shouldn’t be changed. The file holding menubar & toolbar conf.

  • menu_name : the label displayed in the menu bar.

addons.yml

This files has two main sections :

  • OfficeMenuBar

  • OfficeToolBar

You can create a submenu. Don’t forget, the keys following a submenu have to be named as the function they call. It’s the same logic for the OfficeToolBar.

Release files for lo-extension-dev 0.0.6

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

Source distribution (sdist)

Source distribution for lo-extension-dev 0.0.6
File Size Uploaded
lo_extension_dev-0.0.6.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lo-extension-dev 0.0.6
File Interpreter ABI Platform
lo_extension_dev-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 19.6 kB

Release files / lo_extension_dev-0.0.6.tar.gz

Download URL lo_extension_dev-0.0.6.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d564f7149b13e16fdf45a72c15eaf14a08effdbce37fbf752cadf13e37ef2e33
BLAKE2b-256 checksum
How to use checksums
e968646a471da1e9ffd8a1d36e74dcffd6e7405dbc78064060189b5a77ff0827
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / lo_extension_dev-0.0.6-py3-none-any.whl

Download URL lo_extension_dev-0.0.6-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a4b339531013494d2c7778f98335cf60d78bd9ddd7a336cbb4ec6f85cf96860
BLAKE2b-256 checksum
How to use checksums
178863b85ef465c3c756bf921d45a7d5b85f53b654143ab7de6340d30e7689fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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