Train and build models for Argo / Kubernetes
Project description
Gordo
Building thousands of models with timeseries data to monitor systems.
Table of Contents
About
Gordo fulfills the role of inhaling config files and supplying components to the pipeline of:
- Fetching data
- Training model
- Serving model
Components
- gordo-controller - Kubernetes controller for the Gordo CRDs.
- gordo-core - Gordo core library.
- gordo-client - Gordo server's client. It can make predictions from deployed models.
Documentation is available on Read the Docs
Install
gordo-helm - you can use gordo helm chart from this repository to deploy gordo infrastructure to your Kubernetes cluster.
Python package
pip install --upgrade gordo
With additional extras:
pip install gordo[postgres,mlflow]
Bleeding edge:
pip install git+https://github.com/equinor/gordo.git
Developer manual
This section will explain how to start development of Gordo.
Setup
Create and activate a virtual environment first. As a default option, it can be venv module.
Install pip-tools
pip install --upgrade pip
pip install --upgrade pip-tools
Install requirements
pip install -r requirements/full_requirements.txt
pip install -r requirements/test_requirements.txt
Install package:
python3 setup.py install
How to update packages
Note: you have to install pip-tools
version higher then 6
for requirements to have same multi-line output format.
To update some package in full_requirements.txt
:
- Change its version in
requirements.in
file; - Compile and upgrade requirements:
pip-compile --upgrade --output-file=full_requirements.txt mlflow_requirements.in postgres_requirements.in requirements.in
Examples
See our example notebooks for how to develop with gordo
locally.
How to run tests locally
List of commands to run tests can be found here. Running of tests takes some time, so it's faster to run tests in parallel:
pytest -n auto -m 'not dockertest' --ignore benchmarks
Run docker-related tests:
pytest -m 'dockertest'
NOTE: To run tests it's required for your system to has (note: commands might differ from your OS):
- Running docker daemon.
- Available 5432 port for
postgres
container.
NOTE: this example is for Pycharm IDE to use
breakpoints
in the code of the tests.
On the configuration setup for test running add toAdditional arguments:
inpytest
section following string:--ignore benchmarks --cov-report= --no-cov
Build the documentation
This command will run the local documentation server:
> cd docs/
> make watch
Contributing
We welcome contributions to this project! To get started, please follow these steps:
- Fork this repository to your own GitHub account and then clone it to your local device.
git clone https://github.com/your-account/your-project.git
- Create a new branch for your feature or bug fix.
git checkout -b your-feature-or-bugfix-branch
- Make your changes and commit them with a descriptive message.
git commit -m "Add a new feature" -a
- Push your changes to your forked repository.
git push origin your-feature-or-bugfix-branch
- Open a pull request in this repository and describe the changes you made.
We'll review your changes and work with you to get them merged into the main branch of the project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gordo-6.0.3.tar.gz
.
File metadata
- Download URL: gordo-6.0.3.tar.gz
- Upload date:
- Size: 496.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82e35d7d90c8bed13178e893ec52cada7f14b499c2685b78f77c77888fa26946 |
|
MD5 | 914532cc8a2accd04d638adf619399af |
|
BLAKE2b-256 | 1268273876e3109f26f9b26c9d106353565ca9916565c8d0c701a66bd58f4d8e |
File details
Details for the file gordo-6.0.3-py3-none-any.whl
.
File metadata
- Download URL: gordo-6.0.3-py3-none-any.whl
- Upload date:
- Size: 218.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a95399f6502c953c3c23495ddf1e0ecdcf3779948fe7d315d10114595cb9e65 |
|
MD5 | 8aa2812e6d4f8c8efa92b6579458ee4c |
|
BLAKE2b-256 | df41141e606edd6fa2f5e13f153a9a2d092131b9a5064bb6f84e0c5f11917ae0 |