gordo


Namegordo JSON
Version 6.0.4 PyPI version JSON
download
home_pagehttps://github.com/equinor/gordo
SummaryTrain and build models for Argo / Kubernetes
upload_time2024-12-13 10:13:24
maintainerNone
docs_urlNone
authorEquinor ASA
requires_pythonNone
licenseAGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">Gordo</h1>
<div align="center">
 <!-- Uncomment line below once we decided on 'logo.png' -->
 <!--<img align="center" src="logo.png" width="250" height="250">-->
 <br />
 <strong>
   Building thousands of models with timeseries data to monitor systems.
 </strong>
</div>

<br />

<div align="center">
  <a href="https://scm-compliance-api.radix.equinor.com/repos/equinor/527971a2-15b2-4466-8c4d-0e718804f93d/badge">
    <img src="https://scm-compliance-api.radix.equinor.com/repos/equinor/527971a2-15b2-4466-8c4d-0e718804f93d/badge" alt="SCM Compliance"/>
  </a>
  <a href="https://github.com/equinor/gordo/actions?query=branch=master">
    <img src="https://github.com/equinor/gordo/workflows/CI/badge.svg?branch=master" alt="Build Status"/>
  </a>
</div>

---

# Table of Contents
* [About](#About)
* [Components](#Components)
* [Install](#Install)
	* [Python package ](#Python-package)
* [Developer manual](#Developer-manual)
	* [Setup](#Setup)
		* [How to update packages](#How-to-update-packages)
	* [Examples](#Examples)
	* [How to run tests locally](#How-to-run-tests-locally)
	* [Build the documentation](#Build-the-documentation)
* [Contributing](#Contributing)

---

## About

Gordo fulfills the role of inhaling config files and supplying components to the pipeline of:

1. Fetching data
2. Training model
3. Serving model

## Components

* [gordo-controller](https://github.com/equinor/gordo-controller/) - Kubernetes controller for the Gordo CRDs.
* [gordo-core](https://github.com/equinor/gordo-core/) - Gordo core library.
* [gordo-client](https://github.com/equinor/gordo-client/) - Gordo server's client. It can make predictions from deployed models.

---

[Documentation is available on Read the Docs](https://gordo1.readthedocs.io/)

---
## Install

[gordo-helm](https://github.com/equinor/gordo-helm) - you can use [gordo](https://github.com/equinor/gordo-helm/tree/main/charts/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](https://docs.python.org/3/library/venv.html) 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:
```shell
pip-compile --upgrade --output-file=full_requirements.txt mlflow_requirements.in postgres_requirements.in requirements.in  
```

### Examples

See our [example](./examples) notebooks for how to develop with `gordo` locally.

### How to run tests locally

List of commands to run tests can be found [here](/setup.cfg).
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 to `Additional arguments:` in `pytest` 
> section following string: `--ignore benchmarks --cov-report= --no-cov ` 

### Build the documentation

This command will run the local documentation server:

```console
> cd docs/
> make watch
```

## Contributing
We welcome contributions to this project! To get started, please follow these steps:

1. 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
```

2. Create a new branch for your feature or bug fix.

```
git checkout -b your-feature-or-bugfix-branch
```

3. Make your changes and commit them with a descriptive message.

```
git commit -m "Add a new feature" -a
```

4. Push your changes to your forked repository.

```
git push origin your-feature-or-bugfix-branch
```

5. 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/equinor/gordo",
    "name": "gordo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Equinor ASA",
    "author_email": "fg_gpl@equinor.com",
    "download_url": "https://files.pythonhosted.org/packages/69/0e/fedf39ab65670d92aa17f48e7cbe227c56c17180a33ce8e2d596bab3d3c1/gordo-6.0.4.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">Gordo</h1>\n<div align=\"center\">\n <!-- Uncomment line below once we decided on 'logo.png' -->\n <!--<img align=\"center\" src=\"logo.png\" width=\"250\" height=\"250\">-->\n <br />\n <strong>\n   Building thousands of models with timeseries data to monitor systems.\n </strong>\n</div>\n\n<br />\n\n<div align=\"center\">\n  <a href=\"https://scm-compliance-api.radix.equinor.com/repos/equinor/527971a2-15b2-4466-8c4d-0e718804f93d/badge\">\n    <img src=\"https://scm-compliance-api.radix.equinor.com/repos/equinor/527971a2-15b2-4466-8c4d-0e718804f93d/badge\" alt=\"SCM Compliance\"/>\n  </a>\n  <a href=\"https://github.com/equinor/gordo/actions?query=branch=master\">\n    <img src=\"https://github.com/equinor/gordo/workflows/CI/badge.svg?branch=master\" alt=\"Build Status\"/>\n  </a>\n</div>\n\n---\n\n# Table of Contents\n* [About](#About)\n* [Components](#Components)\n* [Install](#Install)\n\t* [Python package ](#Python-package)\n* [Developer manual](#Developer-manual)\n\t* [Setup](#Setup)\n\t\t* [How to update packages](#How-to-update-packages)\n\t* [Examples](#Examples)\n\t* [How to run tests locally](#How-to-run-tests-locally)\n\t* [Build the documentation](#Build-the-documentation)\n* [Contributing](#Contributing)\n\n---\n\n## About\n\nGordo fulfills the role of inhaling config files and supplying components to the pipeline of:\n\n1. Fetching data\n2. Training model\n3. Serving model\n\n## Components\n\n* [gordo-controller](https://github.com/equinor/gordo-controller/) - Kubernetes controller for the Gordo CRDs.\n* [gordo-core](https://github.com/equinor/gordo-core/) - Gordo core library.\n* [gordo-client](https://github.com/equinor/gordo-client/) - Gordo server's client. It can make predictions from deployed models.\n\n---\n\n[Documentation is available on Read the Docs](https://gordo1.readthedocs.io/)\n\n---\n## Install\n\n[gordo-helm](https://github.com/equinor/gordo-helm) - you can use [gordo](https://github.com/equinor/gordo-helm/tree/main/charts/gordo) helm chart from this repository to deploy gordo infrastructure to your Kubernetes cluster. \n\n### Python package \n\n`pip install --upgrade gordo`  \n\nWith additional extras:\n`pip install gordo[postgres,mlflow]`  \n\nBleeding edge:  \n`pip install git+https://github.com/equinor/gordo.git`\n\n\n## Developer manual\n\nThis section will explain how to start development of Gordo.\n\n### Setup\n\nCreate and activate a virtual environment first. As a default option, it can be [venv](https://docs.python.org/3/library/venv.html) module.\n\nInstall pip-tools\n```\npip install --upgrade pip\npip install --upgrade pip-tools\n```\n\nInstall requirements\n```\npip install -r requirements/full_requirements.txt\npip install -r requirements/test_requirements.txt\n```\n\nInstall package:\n```\npython3 setup.py install\n```\n\n#### How to update packages\n\nNote: you have to install `pip-tools` version higher then `6` for requirements to have same multi-line output format.\n\nTo update some package in `full_requirements.txt`:\n- Change its version in `requirements.in` file;\n- Compile and upgrade requirements:\n```shell\npip-compile --upgrade --output-file=full_requirements.txt mlflow_requirements.in postgres_requirements.in requirements.in  \n```\n\n### Examples\n\nSee our [example](./examples) notebooks for how to develop with `gordo` locally.\n\n### How to run tests locally\n\nList of commands to run tests can be found [here](/setup.cfg).\nRunning of tests takes some time, so it's faster to run tests in parallel:\n```\npytest -n auto -m 'not dockertest' --ignore benchmarks\n```\nRun docker-related tests:\n```\npytest -m 'dockertest'\n```\n\n> **_NOTE:_**  To run tests it's required for your system to has (note: commands might differ from your OS):\n> - Running docker daemon.\n> - Available 5432 port for `postgres` container.\n\n> **_NOTE:_** this example is for Pycharm IDE to use `breakpoints` in the code of the tests.  \n> On the configuration setup for test running add to `Additional arguments:` in `pytest` \n> section following string: `--ignore benchmarks --cov-report= --no-cov ` \n\n### Build the documentation\n\nThis command will run the local documentation server:\n\n```console\n> cd docs/\n> make watch\n```\n\n## Contributing\nWe welcome contributions to this project! To get started, please follow these steps:\n\n1. Fork this repository to your own GitHub account and then clone it to your local device.\n\n```\ngit clone https://github.com/your-account/your-project.git\n```\n\n2. Create a new branch for your feature or bug fix.\n\n```\ngit checkout -b your-feature-or-bugfix-branch\n```\n\n3. Make your changes and commit them with a descriptive message.\n\n```\ngit commit -m \"Add a new feature\" -a\n```\n\n4. Push your changes to your forked repository.\n\n```\ngit push origin your-feature-or-bugfix-branch\n```\n\n5. Open a pull request in this repository and describe the changes you made.\n\nWe'll review your changes and work with you to get them merged into the main branch of the project.\n",
    "bugtrack_url": null,
    "license": "AGPLv3",
    "summary": "Train and build models for Argo / Kubernetes",
    "version": "6.0.4",
    "project_urls": {
        "Homepage": "https://github.com/equinor/gordo"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e77088a2cfca8428805253aea4758f2433ea59e851bc320aad4efc0da3743725",
                "md5": "05930914f7b822bab31ace0c97fc028a",
                "sha256": "6a99ae509e967d7d9860a2576a8a35eff0a0fa932d086bcbb103edb9f7ddb669"
            },
            "downloads": -1,
            "filename": "gordo-6.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "05930914f7b822bab31ace0c97fc028a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 218670,
            "upload_time": "2024-12-13T10:13:20",
            "upload_time_iso_8601": "2024-12-13T10:13:20.359407Z",
            "url": "https://files.pythonhosted.org/packages/e7/70/88a2cfca8428805253aea4758f2433ea59e851bc320aad4efc0da3743725/gordo-6.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "690efedf39ab65670d92aa17f48e7cbe227c56c17180a33ce8e2d596bab3d3c1",
                "md5": "394dfca14624d8c2bd8fc73350170cd6",
                "sha256": "db9d07a26e9c042dae1e6c00fd457f8bec31f3eaa7b57ded4771fa84096876ea"
            },
            "downloads": -1,
            "filename": "gordo-6.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "394dfca14624d8c2bd8fc73350170cd6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 497215,
            "upload_time": "2024-12-13T10:13:24",
            "upload_time_iso_8601": "2024-12-13T10:13:24.584573Z",
            "url": "https://files.pythonhosted.org/packages/69/0e/fedf39ab65670d92aa17f48e7cbe227c56c17180a33ce8e2d596bab3d3c1/gordo-6.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-13 10:13:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "equinor",
    "github_project": "gordo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gordo"
}
        
Elapsed time: 0.41130s