Official RF library project template(s)?

As far as I know there is no official library template available for Robot Framework libraries.

For custom keyword python libraries it seems like the current recommendation is to use poetry for dependency management and packaging.

From a long time project maintenance perspective and ease of onboarding it could be beneficial to provide some template(s). This allows scaffolding libraries easily and consistently with common community best practices. In addition code lifecycle management could ease updating older libraries.

Options for code scaffolding and code lifecycle management are:

copier is more adapted than cruft is. But cruft does support cookiecutter templates (copier does not).

For Rust-based libraries it could be helpful to turn mneiferbag/robot-rust-test-library into a template.

Adding devcontainer support (“Python” templates) + features if required would be helpful as well I guess.

What are your thoughts about this @pekkaklarck and RF core team?

Maybe a community effort could fill in the gap here ?

Absolutely. I just want to make sure that it’s in alignment with the RF core team and that the template(s) can me maintained as part of the Robot Framework · GitHub organization later on to ensure long time maintenance,

well, there is marketsquare · GitHub - while its not “core team”, plenty of prominent people are part of that.

2 Likes

Good idea. We can come up with some proposal and contact the org members later on if they can take over the repo into the marketplace org.

I‘ll open source a RF library robotframework-github I’ve worked on recently the next days to weeks. The project uses common modern tools for development (uv, marimo) and could be a good inspiration.

@daniel helped out w.r.t. devcontainer + vscode + uv + robotcode setup: Devcontainer + vscode + uv + robotcode - Tools / Visual Studio Code(ium) - Robot Framework. I’ll merge other boilerplate best practices into the forked fkromer/robotframework-xyz (PRs are welcome :wink: ).

Project issues makes it easier to communicate features and coordinate development. Feel free to create new issues (features) and reference those in PRs (feature implementation).

1 Like