The aim of this project is to create a minimalist approach to managing artifacts generated throughout the model development process.
-
Project: A Project is the single element that manages all of your tasks.
-
Store: A Store is the single element that manages all artifacts of a single type, across all projects.
The source code is currently hosted on GitHub at: https://github.com/jesse-sealand/skylite
The latest released version are available at Python Package Index (PyPI).
pip install skylitefrom skylite import Exchange
# Settings
home_directory = '~/Documents'
settings = {
"exchange_name": "Exchange",
"available_stores": ["data-store", "model-store", "result-store", "project-store"],
}
# Setup
SkyLight = Exchange(home_directory, settings)
SkyLight.open_exchange()
# Create Project
PROJECT_NAME = 'aerial-imagery5'
SkyLight.create_project(PROJECT_NAME)
sky_proj = SkyLight.open_project(PROJECT_NAME)
# Start adding model artifacts when modeling
for i in range(0,10):
# Create new instance of Trial
sky_proj.create_trial()
"""
Perform Modeling / scoring / analysis
"""
# Store artifacts for this Trial
data_dict = {'train': df,
'test': df,
'score': df}
model_dict = {'model': clf}
results_dict = {'accuracy': 0.98,
'f1-score': 0.75
}
sky_proj.store_objects('data-store', data_dict)
sky_proj.store_objects('model-store', model_dict)
sky_proj.store_objects('result-store', results_dict)
# close instance of trial and save artifacts
sky_proj.close_trial()- TinyDB A tiny, document oriented database.
See the change log for a detailed list of changes in each version.
This extension is licensed under the MIT License.
The official documentation is hosted on Read the Docs.