👋🏽 We'd love for you to contribute!
If you have any questions or ideas, feel free to reach out.
💬 Come and find us in the MLOps Community Slack's #oss-modelstore channel.
If you've ever used modelstore, we've love for you to blog about your experience and link to your blog post in the repo's README.md in the "Read more about modelstore" section.
You can also contribute to the modelstore documentation, which is in a separate Github repo.
To contribute to modelstore's code base, we recommend taking the following journey:
- Get familiar with the code base
- Contribute fixes for bugs or issues
- Contribute new feature ideas from the discussions section
This library has been developed on Mac OS. To get started:
❯ make setupWill update brew, install uv and other things required by ML libraries (e.g libomp, required by xgboost).
This library uses uv for managing virtual environments, using the requirements that are in requirements.txt and requirements-dev.txt.
This project has two types of requirements files:
requirements.txtcontains any dependencies thatmodelstoreusers must have in order to usemodelstore. This should be as lightweight as possible. We do not require users to install every single machine learning library - just the ones that they want to use.requirements-dev[X].txtcontains all of the dependencies thatmodelstoredevelopers must have. These files contain all of the machine learning frameworks that are supported bymodelstore- they must be installed to enable running all of the unit tests.
Once you have uv installed, use this Makefile command that does the rest for you:
❯ make installThis will create a .venv virtual environment in the project root and install all of the dependencies in the requirements files. The Python version is specified in .python-version. Activate the environment with:
❯ source .venv/bin/activateNotes:
- I've seen trouble with installing
prophetand have sometimes had to install it manually - Even when
prophetinstalls, there are sometimes issues with runningtest_prophet? See this issue. Uninstalling and reinstalling has worked for me.
This project has a lot of dependencies. To run the tests, I'm using Docker:
❯ make testWe have two types of examples:
examples-by-ml-library, which has iterates over machine learning model library and writes to three different model stores (GCP, AWS, file system)cli-examplesshows how to use themodelstorecommand line interface
For details, head over to the README.md in the examples directory.
All of modelstore's bugs are publicly tracked via Github issues.
There are a variety of ideas that have been listed in the repo's discussions section. For example:
The list of machine learning frameworks that are supported by modelstore
are found in the modelstore/models/ directory.
For a tutorial on how to add a new framework, refer to the CONTRIBUTING.md guide in that directory.
The list of storage types that are supported by modelstore
are found in the modelstore/storage/ directory.
For a tutorial on how to add a new storage type, refer to the CONTRIBUTING.md guide in that directory.
Do you have ideas for other features that it may be useful to add to modelstore?
Please get in touch by opening a discussion or issue on Github.