improve local development support in cookiecutter template

Merged Gmodena requested to merge cookiecutter-doc into main

_type-checking failures are a regression unrelated to this MR. They have been fixed in !80 (merged) _

A walk through of the changes introduced in this MR can be viewed at

This MR refactors the cookiecutter template to fix deprecated API use (error_sink), cleans up the test suite configuration and improves documentation. The cookiecutter template has been renamed to match terminology adopted in other parts of the documentation.

A tutorial is provided under doc/

  • The cookiecutter template now ships with a default config.yaml and stream_config.json templates, that can be used to support (local) development.
  • The test suite in cookiecutter has been update to support current error_sink APIs.
  • The cookiecutter template now ships with a Blubber file and Gitlab CI pipeline that integrate with Wikimedia's Deployment pipeline.
  • Cookiecutter should declare a dependency on a pacakge wheel file. bump2version would default to dev versions, that are not published to pypi. The template has been modified to default to the latest available wheel, unless a user specifies a version to pin.
  • Generate documentation for stream_manager config file. sphinx-argparse and similar extensions seem to conflict with our implementation of jsonargparse and/or the autodoc extension. As a workaround, a config.yaml asset is generated at (doc) build time and embedded in docs/configuration.rst.

cc / @tchin

Bug: T345193

Bug: T345390

Edited by Gmodena

Merge request reports