RoboCon2025

Let’s finally use PythonLibCore with plugins and LibToc documentation
2025-03-05 , RoboCon Online

Have you ever wanted to create a testing library that can be extended with plugins? Have you stumbled upon PythonLibCore, but were overwhelmed by its complexity of HybridCore and DynamicCore? Were you unsure how to generate documentation for the plugins? If you answered yes to any of these questions, then this talk is just for you.


Maybe you have a similar background to mine. You started as a manual tester, discovered Python, wrote a few scripts, and wanted to automate. Then you found RobotFramework and decided to become an automation engineer. At first, you had everything in one file for one test. Then you created more complex keywords and moved them to separate resource files. Your team grew, and you started making your first libraries in Python, but then you hit a wall. You knew SeleniumLibrary and Browser Library used PythonLibCore. Maybe you even watched some videos by Tatu Aalto but felt overwhelmed by its complexity.

Let's see how we created a testing library with plugins and documentation.

We needed to create a module with basic functions like opening a file, writing text, and saving the file. Then, we added plugins to work with CSV and Excel files.

Each plugin has its own specific options. For example, the CSV module can be set to use a comma or semicolon as a delimiter. The Excel module allows you to choose which sheet to write to and can also add new sheets.

If we are working with CSV, we don't want our editor (VSCode with RobotCode) to suggest keywords for adding and removing sheets.

As a cherry on top, you'll want generated documentation that includes general keywords but also shows those specific to each plugin.

We will show you in a simple and accessible way how to build such a library.


Categorize / Tags:

library, module, plugin, PythonLibCore, LibDoc, LibToc

Describe your intended audience:

Intermediate RF users who are creating their own testing modules

Is this suitable for ..?:

Intermediate RF User, Advanced RF User