Skip to main content

MVF is a pluggable ML/statistical modelling framework that allows for the easy comparison of regression models implemented in Python and R. Write simple wrapper classes for your models and compare their performance on a particular dataset. The framework executes incrementally by default, meaning you can easily add a new model, without refitting existing models.

Pluggable - Quickly add a new model. Easily switch-out a dataset.

Auditable - All results are archived. All processes are transparent.

Reproducible - All non-stochastic processes are reproducible. Stochastic processes are repeatable.

MVF seeks to bridge the gap between R&D and integration with production applications.

Getting started

For full documentation of the project and instructions on how to get started, visit the documentation site.

Main features

  • Automates the supervised ML workflow with simple configuration.
  • R and Python models can be plugged in easily.

For developers

Dependencies

You need Python>=3.9 and R>=4.0.

Additionally, you must have a working installation of the R6, IRkernel and arrow R packages to leverage the R/Python interoperability.

Git

This project operates using two Git branches

  • dev
  • main

All development work should be undertaken on the development branch. The dev branch should then be merged into the master branch to deploy a new version of the package.

CI/CD

This project uses GitLab CI/CD. Current jobs:

  • test_dev - Runs all tests except functional tests using pytest. Runs on commits to dev branch.
  • test_main - Runs all tests using pytest. Runs on commits to main branch.
  • build_deploy_package - Builds the Python package and deploys to PyPI. Runs on commits to main branch.
  • build_deploy_docs - Builds the documentation site and deploys to GitLab Pages. Runs on commits to main branch.

All CI/CD stages run in a Docker container. This project uses node:latest for the build_deploy_docs stage and a custom R/Python container specified by the Dockerfile for the remaining stages.

Docker

To update the container in the registry, navigate to the project root and run

sudo docker login registry.gitlab.com

Enter your GitLab username and password (only for members of the project). Then run

sudo docker build -t registry.gitlab.com/tomkimcta/model-validation-framework .
sudo docker push registry.gitlab.com/tomkimcta/model-validation-framework

PyPI

The version stored in the version file must be incremented for a deployment of the package to be successful.

Documentation

This project uses a static site generator called Docusaurus to create its documentation. The content for the documentation site is contained in documentation/docs/. Any updates to documentation can be verified in a development server by running npm i && npm start from the documentation/ directory.

Metadata

Release files for mvf 0.0.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mvf 0.0.18
File Size Uploaded Provenance Actions
mvf-0.0.18.tar.gz 22.7 kB Without provenance Details for mvf-0.0.18.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mvf 0.0.18
File Interpreter ABI Platform Actions
mvf-0.0.18-py3-none-any.whl Python 3 none any Details for mvf-0.0.18-py3-none-any.whl

Total release size: 53.7 kB

Release files / mvf-0.0.18.tar.gz

Download URL mvf-0.0.18.tar.gz
Size 22.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9e3c43fa592b4bc540531af16c3fd3cae653442c55068effe70ad5036de5637e
BLAKE2b-256 checksum
How to use checksums
a1a302826a8616a2c70bef1a3690f96ef6cd10105e988417322d73e23ebee1e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release files / mvf-0.0.18-py3-none-any.whl

Download URL mvf-0.0.18-py3-none-any.whl
Size 31.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc570a0bda3bca4e00dc4f12ca84c3989df877f9901e128fffa0b8e47f060d56
BLAKE2b-256 checksum
How to use checksums
9f4da6d00f05f2600ecf062fc753ff888a1e6fcc4ab9de65492075ec792fb6d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Security for mvf 0.0.18

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page