🤝 All contributions are welcome
If you encounter a bug or unexpected behavior when using this package please create an issue and prefix the issue title with bug:
and add the bug label.
Example title:
bug: lorem ipsum
The main goal of this project is to provide automatic mocking for all of the OpenAI API endpoints. If an endpoint or specific feature/behavior of an endpoint is currently not supported, chances are that it's already on the roadmap. If you don't find the feature you need already in the issues please add a new issue and prefix the title with feat:
and add the enhancement label.
Example title:
feat: lorem ipsum
The roadmap is just a ranking of the currently open issues and no hard dates are set at this point for any fix or new feature.
I have added version release milestones to some of the issues to give a sense of what is coming in what order. View milestones here.
I (Michael) am the BDFL of the project and can and will arbitrarily rank issues according to my own needs (and those of my employer) but for the most part I try to evaluate priority of issues based on a 2-dimensional system that looks at effort and impact.
- Effort is a rough estimate of whether something will take a lot of work, some work, or little work to implement
- Impact is a rough estimate of how important something is
Both are unscientific and flawed but they allow me to try to focus on what to work on when.
If you look at the project's issues, you'll see they are labeled with some non-standard issue labels.
Label | Description |
---|---|
e0 🌵 | Low effort |
e1 ⚡️ | Medium effort |
e2 🔥 | High effort |
i0 🌵 | Low impact |
i1 ⚡️ | Medium impact |
i2 🔥 | High impact |
Ranking is evaluated according to this quadrant where the priority is ordered from top to bottom and left to right.
quadrantChart
title Issue Ranking
x-axis Low Effort --> High Effort
y-axis Low Impact --> High Impact
quadrant-1 Medium Priority
quadrant-2 Highest Priority
quadrant-3 Low Priority
quadrant-4 Lowest Priority
View ranked open issues and in progress issues.
This project uses Poetry to manage the Python environment, Black to format code, and mypy to run static analysis. Please make sure your environment is setup with these enabled.
To make sure everything is working correctly, make sure you have Poetry installed, then install the dependencies, and then run tox.
pipx install poetry==1.8 # if not already installed
poetry config virtualenvs.in-project true # recommended
poetry install --with dev # install deps including development deps
poetry shell # activate venv
tox run # run lint, static analysis, unit tests, and examples