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.
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.
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)
Docker has been provided to aid developemnt and testing on non linux / non x86 systems (pyflink won't install Apple M1 chips).