/velocimodel

Primary LanguageGoMIT LicenseMIT

__     __   _            _ __  __           _      _
\ \   / /__| | ___   ___(_)  \/  | ___   __| | ___| |
 \ \ / / _ \ |/ _ \ / __| | |\/| |/ _ \ / _` |/ _ \ |
  \ V /  __/ | (_) | (__| | |  | | (_) | (_| |  __/ |
   \_/ \___|_|\___/ \___|_|_|  |_|\___/ \__,_|\___|_|

About

Velocimodel is a comprehensive open-source model operations solution. It allows for the management and versioning of data science models (in addition to other software projects) and will eventually allow for model automation and deployment.

Running Locally

To run VelociModel locally, clone this repo and make sure you have Python3 and docker-compose installed. After pulling down the repo, run

pip install -r requirements.txt

then

make build-docker

To build local versions of the various docker images. Finally, run

make run-docker

to bring up the services and navigate to http://localhost:9000 to view the UI.

To Do

v0.1.0

  • service-manager
    • service registry
    • config storage
    • secret storage
  • asset-manager
    • asset registry
    • local file upload
    • local file download
    • automatic git sync
    • manual git sync
    • git asset creation
    • pull config from service-manager
  • model-manager
    • model registry
    • model snapshots
    • model releases
    • pull config from service-manager
    • model download
    • snapshot download
    • release download
  • api-server
  • frontend
    • dashboard
    • model view
    • model edit
    • model creation
    • model add existing asset
    • model add new file asset
    • model add new git asset
    • model delete asset
    • model download
    • model code save
    • snapshot view
    • snapshot edit
    • snapshot creation
    • snapshot download
    • snapshot code save
    • release view
    • release creation
    • release download
    • asset view
    • asset edit
    • asset download
    • asset code save
    • file asset creation
    • git asset creation

v0.2.0

  • frontend
    • Param view/edit
    • Secret view/edit
    • User view
    • User edit view
    • User create view
    • User delete view
    • Service status badge
    • BasePath support
  • auth-manager
    • Authorization flow
    • BasePath support
  • api-server
    • All endpoints secured through api-server
  • asset-manager
    • SSH git clone support
  • service-manager
    • Automated service health pings

v0.3.0

  • velocimodel-sdk
  • frontend
    • Better error propagation
    • Add secrets view
    • Delete secrets view
    • Add params view
    • Delete params view
    • Edit embedded asset view
  • process-manager
  • auth-manager
    • password reset
    • group-based access
    • role-based access
    • API token
      • Generate
      • Revoke
      • Authenticate
  • Ticket manager
  • asset-manager
    • Convert file download to a redirect
    • Container asset type
    • Embedded asset type
      • Visible
      • Sensitive
  • service-manager
    • Convert to using IPs instead of hostnames

v0.4.0

  • asset-manager
    • S3 integration
    • Sensitive file assets cannot be downloaded
  • Runtime manager
  • Model runtime
  • auth-manager
    • API token generation and authentication
  • Whitetail integration

v0.5.0

  • asset-manager
    • Artifactory integration

v0.6.0

  • asset-manager
    • Azure Blob Store integration

v1.0.0

  • Initial Release!
  • Usage documentation
  • API documentation

Contact

This software is written by John Carter. If you have any questions or concerns feel free to create an issue on GitHub or send me an email at jfcarter2358(at)gmail.com