lmstudio-ai / venvstacks

Virtual environment stacks for Python
https://lmstudio-ai.github.io/venvstacks/
MIT License
1 stars 0 forks source link

Implement the `sklearn_demo` from the docs #35

Open ncoghlan opened 1 week ago

ncoghlan commented 1 week ago

The sklearn_demo used as an example in the docs should actually be implemented in the repo, with demo GitHub actions for locking and building the built artifacts (with notes on how to publish them, and what metadata to cache between builds in order to enable automation version number updates as the build process inputs change).

This change will also make it feasible to include the exact expected manifest output without making that painful to maintain (it can be updated in CI the same way the expected sample_project outputs are updated).

ncoghlan commented 1 week ago

Initial thoughts for a potential layout:

.github/
    workflows/
        demo-stacks-lock.yml
        demo-stacks-build.yml
demo_stacks/
    action-config-lock.toml
    action-config-build.toml    
    sklearn/
        venvstacks.toml    # Literal include in the overview docs page
        launch_modules/
            sklearn_classification.py
            sklearn_clustering.py
        requirements/
            ...                       # Auto-generated by demo-stacks-lock.yml
        manifests/
            ...                       # Auto-generated by demo-stacks-build.yml

The workflow actions would be along similar lines to https://github.com/lmstudio-ai/venvstacks/blob/main/.github/workflows/update-expected-output.yml but aimed at updating the demo outputs rather than the expected test suite outputs.

The demo launch modules would be implementations of a pair of the existing scikit-learn example scripts: