An example multithreaded pub-sub Python program.
This is a demonstration project only. It is not ready to be used in production.
To read the code top-down from the highest entry point, please start in src/py_mp.py
.
I wanted to demonstrate that I know how to:
- Write a solution to a multithreaded problem.
- Use pub-sub architectures.
- Add in dependencies with PIP and venv.
- Write PEP8 compatible code.
- Improve code using static analysis tools like Bandit, Mypy and pycodestyle.
- Create python development environments using Docker (and podman).
- (Hopefully) write a decent README :).
You will need these installed:
- podman (optional, you'll need python3 and pip without it.) (and set up to use 'Rootless' containers).
- curl
- gpg
To install, first clone the repository and then run the build script:
git clone https://github.com/WillSkates/py-mp.git
bash ./build
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
./py3 ./check
./py3 python src/py_mp.py
./py3 python src/py_mp.py
./py3 ./check
This project is published under the MIT license.
Full details can be found in the "LICENSE" file.