An open source project from Data to AI Lab at MIT.
Library for visualizing explanations.
- License: MIT
- Homepage: https://sibyl-ml.dev/
- Live Demo: https://sibylapp.streamlit.app/
Sibylapp2 generates usable interfaces to interact with ML explanations. The app reads RESTful APIs from sibyl-api
Sibylapp2 has been developed and tested on Python 3.9, and 3.10. The library uses Poetry for package management and runs on Streamlit.
If you do not have poetry installed, please head to poetry installation guide
and install poetry according to the instructions.
Run the following command to make sure poetry is activated. You may need to close and reopen the terminal.
poetry --version
Finally, you can clone this repository and install it from
source by running poetry install
, with the optional examples
extras if you'd like to run our tutorial scripts.
git clone https://github.com/sibyl-dev/sibylapp2.git
cd sibylapp2
poetry install
- First, you will need to head over to the sibyl-api repo,
and follow the instructions there to load in your database. You can run your APIs once your
database in setup from the parent
sibyl-api
folder with:
poetry run sibyl run -v
- Open
sibylapp2/config.py
, and updateBASE_URL
to the URL your APIs are running on. You can also set configurations specific to your application here. - From the root project folder, run:
poetry run streamlit run main.py
We appreciate contributions of all kinds! To contribute code to the repo please follow these steps:
- Clone and install the library following the instructions above.
- Make a new branch off of
dev
with a descriptive name describing your change. - Make changes to that branch, committing and pushing code as you go. Run the following commands to ensure your code meets style requirements:
# Fix most linting errors
poetry run invoke fix-lint
# Ensure no linting errors remain
poetry run invoke lint
- Run the app using the instructions above to confirm that all changes work as expected.
- Once you are done making and testing changes, and linting passes, push all code and make a pull request. One all checks pass and the PR has been approved, merge your code and delete the branch.