Skip to content

Init project with basic CI and wheel publishing

Gmodena requested to merge init-project into main

This is an initial import of code developed for https://www.mediawiki.org/wiki/Platform_Engineering_Team/Event_Platform_Value_Stream/Evaluate_a_pyflink_version_of_Mediawiki_Stream_Enrichment.

It follows the python module template from workflow utils, and packages the library using setuptools. This MR introduces a basic set of functionalities that can be iteratively improved. CI provides:

  • linting (flake8)
  • running pyest
  • building and publishing a wheel.

mypy type checking is configured by not automated by default. Release management configs are provided, but not automated either at this stage.

There's some boilerplate that can be removed once we upstream to eventutilities, but that I find handy at the current stage.

Getting started

You can install eventutilities-python with test/dev dependencies with

pip install -e .[test]
pip install tox

CONTRIBUTING.md contains basic pointers for getting started. The project is managed by tox. Test and codes tyle checked can be harnessed in a local conda install or via Docker by setting the USE_DOCKER=true shell variable.

E.g.

make test

Will run pytest (tox -e py37) locally

USE_DOCKER=true make test

Will run pytest in a linux x86_64 container based atop Wikimedia python images (= the same we run in CI)

Why docker?

Docker has been provided to aid developemnt and testing on non linux / non x86 systems (pyflink won't install Apple M1 chips).

cc / @otto @tchin @lbowmaker

Edited by Gmodena

Merge request reports