Building
This is a short document explaining the build pipeline I have setup for this project in case you want to build from source.
Tools Used
Required Tools
The only required tool for building is Poetry. You can technically skip this requirement, but the project is setup to use Poetry's build pipeline so you're on your own for configuring another build pipeline.
Building
Using Poetry
Clone the repository into a folder, CD into that folder and then...
poetry install --sync
poetry build
cd dist
pip install pymoe-2.2-py3-none-any.whl # Or whatever your whl ends up being named
Using Task
If you have Task installed on your machine, you can run a task to build the project. This method still requires Poetry as Task will run poetry commands to ensure a clean build environment.
This might take a bit to run as it will clean the environment, setup the cleaning environment, run Black and isort against the code, clean the environment, and finally build the sdist and wheel.
There are a few other tasks you might be interested in:
- serve-docs will build and serve the documentation locally.
- run-pytest will setup a testing environment and run through the unit tests.
You can get a full list of available tasks by running task --list
in the directory you cloned. The unittests take around five minutes because there is a forced two second waiting period between each request to lessen the impact on the API providers.