An API-first distributed deployment system of deep learning models using timeseries data to analyze and predict systems behaviour

Overview

Gordo


Building thousands of models with timeseries data to monitor systems.


Table of content

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

Examples

See our example notebooks for how to develop with gordo locally.


Install

pip install --upgrade gordo

Bleeding edge:
pip install git+https://github.com/equinor/gordo.git

Uninstall

pip uninstall gordo

Developer manual

This section will explain how to start development of Gordo.

How to prepare working environment

  • install requirements
# create and activate virtualenv. Note: you should use python3.7 (project's tensorflow version is not compatible with python3.8)
# then:
pip install --upgrade pip
pip install --upgrade pip-tools
pip install -r requirements/full_requirements.txt
pip install -r requirements/test_requirements.txt

How to run tests locally

Tests system requirements

To run tests it's required for your system to has (note: commands might differ from your OS):

  • running docker process;
  • available 5432 port for postgres container.

Run tests

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:

# example
pytest tests/gordo/client/test_client.py --ignore benchmarks --cov-report= --no-cov -n auto -m 'not dockertest' 
# or if you have multiple python versions and they're not resolved properly:
python3.7 -m pytest ... 

How to run tests in debug mode

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

Comments
  • Add MLflow logging to model builder

    Add MLflow logging to model builder

    Will close #441

    Problem :airplane:

    The DS team would like to have additional logging of metrics for various configuration of deployed models for post-analysis.

    Solution :rocket:

    Add MLFlow logging to the the CLI build command and gordo_components.builder.build_model::build_model.

    This includes:

    • [x] Add a method that authenticates to AzureML and sets MLFlow logging to a wokspace. The configuration is passed to the CLI build as a dict, via the env var MLFLOW_CONFIG. Default behavior is to require interactive authentication and log MLFlow locally.
    • [x] Set the workspace (with auth) at the CLI level.
    • [x] Log the model_id (changed from cache_id) at CLI level.
    • [x] Log metadata at build_model level
    • [x] Add test for set_mlflow_tracking
    • [x] Add test for build_model
    opened by ryanjdillon 15
  • Bump scikit-learn from 0.21.3 to 0.22

    Bump scikit-learn from 0.21.3 to 0.22

    Bumps scikit-learn from 0.21.3 to 0.22.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 10
  • Added optional requests.Session injection parameter

    Added optional requests.Session injection parameter

    To use gordo-client with azure authentication, we want to decorate the session with some auth headers.

    By allowing the caller to inject their own session object, this can happen without gordo-client ever having to know or care about it.

    opened by mrdeveloperdude 9
  • TimeSeriesDataset: support multiple aggregation methods

    TimeSeriesDataset: support multiple aggregation methods

    Now the TimeSeriesDataset supports an optional argument aggregation_methods with default value mean. It can be either a single aggregation method or a list of aggregation methods. Any aggregation method supported by pandas is supported. If multiple aggregation methods are provided then the resulting dataframe contains a multi-level column index with the tag-name as the top level, and the aggregation method as the second level. If a single aggregation method is provided then only the first level (tag-name) is used.

    This closes #278

    opened by epa095 8
  • Handling inf & -inf values

    Handling inf & -inf values

    How to handle inf & -inf values in data ? +-inf values are not treated as null by default in pandas, https://github.com/pandas-dev/pandas/issues/2858 Ideally inf value should be replaced by a large positive number and -inf should be replaced by negative large number, like we do in dataframe:

    df.replace([np.inf, -np.inf],[np.finfo(np.float32).max,np.finfo(np.float32).min])

    Choose np.float64 if that's the datatype.

    Would be nice to do this using a step in Pipeline or some under the hood pre-processing step like we do fillna during reading.

    opened by choukha 7
  • [WIP] New model initializers

    [WIP] New model initializers

    First try on integrating the LSTM into gordo!

    There are 2 functions for now:

    • create_lstm_model: builds the lstm autoencoder similarly to FFN, I tried to follow Miles' synthax as close as possible
    • exctract_decoder: takes the model_config from the AE and builds a model based only on the decoder part (for prediction)

    Next step will be the fit and predict functions which are a bit more complicated than the one available with keras, but I think there is enough work on those two functions already :)

    opened by Lezinou 7
  • Add assets to dataset resolvers

    Add assets to dataset resolvers

    Adds resolving of assets in tilstandomatic CSV files that are not currently supported.

    As per the issue on gordo-infrastructure: https://github.com/equinor/gordo-infrastructure/issues/508

    opened by ryanjdillon 6
  • Bump pytest-mock from 1.11.2 to 1.12.1

    Bump pytest-mock from 1.11.2 to 1.12.1

    Bumps pytest-mock from 1.11.2 to 1.12.1.

    Release notes

    Sourced from pytest-mock's releases.

    1.12.0 (2019-11-19)

    Now all patch functions also raise a ValueError when used as a context-manager. Thanks @​AlexGascon for the PR (#168).

    Changelog

    Sourced from pytest-mock's changelog.

    1.12.1 (2019-11-20)

    • Fix error if mocker.patch is used in code where the source file is not available, for example stale .pyc files (#169).

    1.12.0 (2019-11-19)

    • Now all patch functions also raise a ValueError when used as a context-manager. Thanks @​AlexGascon for the PR (#168).
    Commits
    • d3d4c4a Handle 'mocker.patch' being used without source code
    • 420fe64 Prepare release 1.12.0 (#170)
    • dc2e973 Prepare release 1.12.0
    • 845876e Raise error if any version of patch is used as a context manager (#168)
    • ed8216b Add testing for Python 3.8 (#166)
    • d3d10a5 Testing exception on patch as context manager
    • 6587f79 Raise error on every patch context manager
    • 1c5e8e9 Update CHANGELOG.rst
    • 3fb27bf Add testing for Python 3.8
    • 19a4e4d Raise an error if mocker is used in a with context (#165)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 6
  • Bump gunicorn from 19.9.0 to 20.0.0

    Bump gunicorn from 19.9.0 to 20.0.0

    Bumps gunicorn from 19.9.0 to 20.0.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @ryanjdillon.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 6
  • Bump numpy from 1.17.2 to 1.17.3

    Bump numpy from 1.17.2 to 1.17.3

    Bumps numpy from 1.17.2 to 1.17.3.

    Release notes

    Sourced from numpy's releases.

    v1.17.3

    NumPy 1.17.3 Release Notes

    This release contains fixes for bugs reported against NumPy 1.17.2 along with a some documentation improvements. The Python versions supported in this release are 3.5-3.8.

    Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

    Highlights

    • Wheels for Python 3.8
    • Boolean matmul fixed to use booleans instead of integers.

    Compatibility notes

    • The seldom used PyArray_DescrCheck macro has been changed/fixed.

    Contributors

    A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time.

    • Allan Haldane
    • Charles Harris
    • Kevin Sheppard
    • Matti Picus
    • Ralf Gommers
    • Sebastian Berg
    • Warren Weckesser

    Pull requests merged

    A total of 12 pull requests were merged for this release.

    • #14456: MAINT: clean up pocketfft modules inside numpy.fft namespace.
    • #14463: BUG: random.hypergeometic assumes npy_long is npy_int64, hung...
    • #14502: BUG: random: Revert gh-14458 and refix gh-14557.
    • #14504: BUG: add a specialized loop for boolean matmul.
    • #14506: MAINT: Update pytest version for Python 3.8
    ... (truncated)
    Commits
    • ff3df08 REL: NumPy 1.14.5 release.
    • 89208b4 Merge pull request #14704 from charris/prepare-1.17.3-release
    • f6725ad REL: Prepare for 1.17.3 release.
    • acb10b0 Merge pull request #14687 from charris/backport-14605
    • 7758dd1 BUG: properly define PyArray_DescrCheck
    • 51826db Merge pull request #14578 from charris/backport-14531
    • dc441ee BUG: random: Create a legacy implementation of random.binomial.
    • df93b2b Merge pull request #14563 from rgommers/bport-fftlicense
    • 5504e6d DOC: remove note about Pocketfft license file (non-existing here).
    • 2053327 Merge pull request #14519 from charris/backport-14498
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 6
  • Error: command 'g++' failed with exit status 1  on Mac OS Mojave

    Error: command 'g++' failed with exit status 1 on Mac OS Mojave

    When run pip install --upgrade gordo-components on Mac OS Mojave, It will have following error

    clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated] clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated] ld: library not found for -lstdc++ clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'g++' failed with exit status 1

    Mac OS Mojave version:10.14.4 to 10.14.5

    The problem is that Xcode, especially Xcode 10.x, has not installed everything, so ensure the command line tools are installed, type this in a terminal shell:

    xcode-select --install

    also start XCode and ensure all the required installation is installed ( you should get prompted if it is not.) and since XCode 10 does not install the full Mac OS SDK, run the installer at

    open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

    as this package is not installed by XCode 10.

    It is better to update this to Read.me

    opened by jieliu218 6
  • [Snyk] Security upgrade gitpython from 3.1.29 to 3.1.30

    [Snyk] Security upgrade gitpython from 3.1.29 to 3.1.30

    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/full_requirements.txt
    ⚠️ Warning
    paramiko 2.12.0 requires pynacl, which is not installed.
    ndg-httpsclient 0.5.1 requires PyOpenSSL, which is not installed.
    msrest 0.7.0 requires azure-core, which is not installed.
    msal 1.20.0 requires PyJWT, which is not installed.
    msal-extensions 1.0.0 requires portalocker, which is not installed.
    knack 0.10.1 requires pygments, which is not installed.
    knack 0.10.1 requires tabulate, which is not installed.
    Keras-Preprocessing 1.1.2 requires numpy, which is not installed.
    Jinja2 2.11.3 requires MarkupSafe, which is not installed.
    google-auth 2.15.0 requires rsa, which is not installed.
    databricks-cli 0.17.4 requires pyjwt, which is not installed.
    databricks-cli 0.17.4 requires tabulate, which is not installed.
    catboost 0.26.1 requires numpy, which is not installed.
    catboost 0.26.1 requires matplotlib, which is not installed.
    catboost 0.26.1 requires scipy, which is not installed.
    catboost 0.26.1 requires graphviz, which is not installed.
    catboost 0.26.1 requires plotly, which is not installed.
    catboost 0.26.1 requires pandas, which is not installed.
    adal 1.2.7 requires PyJWT, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- high severity | 619/1000
    Why? Has a fix available, CVSS 8.1 | Remote Code Execution (RCE)
    SNYK-PYTHON-GITPYTHON-3113858 | gitpython:
    3.1.29 -> 3.1.30
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Remote Code Execution (RCE)

    opened by snyk-bot 0
  • [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/test_requirements.txt
    ⚠️ Warning
    Jinja2 2.11.3 requires MarkupSafe, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3180412 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS)

    opened by o-fedorov 0
  • [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/full_requirements.txt
    ⚠️ Warning
    paramiko 2.12.0 requires pynacl, which is not installed.
    ndg-httpsclient 0.5.1 requires PyOpenSSL, which is not installed.
    msrest 0.7.0 requires azure-core, which is not installed.
    msal 1.20.0 requires PyJWT, which is not installed.
    msal-extensions 1.0.0 requires portalocker, which is not installed.
    knack 0.10.1 requires tabulate, which is not installed.
    knack 0.10.1 requires pygments, which is not installed.
    Keras-Preprocessing 1.1.2 requires numpy, which is not installed.
    Jinja2 2.11.3 requires MarkupSafe, which is not installed.
    google-auth 2.15.0 requires rsa, which is not installed.
    databricks-cli 0.17.4 requires pyjwt, which is not installed.
    databricks-cli 0.17.4 requires tabulate, which is not installed.
    catboost 0.26.1 requires numpy, which is not installed.
    catboost 0.26.1 requires matplotlib, which is not installed.
    catboost 0.26.1 requires scipy, which is not installed.
    catboost 0.26.1 requires graphviz, which is not installed.
    catboost 0.26.1 requires plotly, which is not installed.
    catboost 0.26.1 requires pandas, which is not installed.
    adal 1.2.7 requires PyJWT, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3180412 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS)

    opened by hholi 0
  • [Snyk] Fix for 2 vulnerabilities

    [Snyk] Fix for 2 vulnerabilities

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/test_requirements.txt
    ⚠️ Warning
    pytest-cov 2.12.1 requires coverage, which is not installed.
    Jinja2 2.11.3 requires MarkupSafe, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 479/1000
    Why? Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-MISTUNE-2940625 | mistune:
    0.8.4 -> 2.0.3
    | No | No Known Exploit low severity | 441/1000
    Why? Recently disclosed, Has a fix available, CVSS 3.1 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3113904 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS) 🦉 Regular Expression Denial of Service (ReDoS)

    opened by hholi 0
  • [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/full_requirements.txt
    ⚠️ Warning
    paramiko 2.11.0 requires pynacl, which is not installed.
    ndg-httpsclient 0.5.1 requires PyOpenSSL, which is not installed.
    msrest 0.7.0 requires azure-core, which is not installed.
    msal 1.20.0 requires PyJWT, which is not installed.
    msal-extensions 1.0.0 requires portalocker, which is not installed.
    knack 0.10.0 requires pygments, which is not installed.
    knack 0.10.0 requires tabulate, which is not installed.
    Keras-Preprocessing 1.1.2 requires numpy, which is not installed.
    Jinja2 2.11.3 requires MarkupSafe, which is not installed.
    google-auth 2.14.0 requires rsa, which is not installed.
    databricks-cli 0.17.3 requires pyjwt, which is not installed.
    databricks-cli 0.17.3 requires tabulate, which is not installed.
    azure-mgmt-authorization 2.0.0 requires azure-mgmt-core, which is not installed.
    adal 1.2.7 requires PyJWT, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- low severity | 441/1000
    Why? Recently disclosed, Has a fix available, CVSS 3.1 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3113904 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS)

    opened by o-fedorov 0
Releases(4.0.2)
  • 4.0.2(Dec 9, 2022)

    What's Changed

    • Update gordo-core and gordo-client by @koropets in https://github.com/equinor/gordo/pull/1293

    Full Changelog: https://github.com/equinor/gordo/compare/4.0.1...4.0.2

    Source code(tar.gz)
    Source code(zip)
  • 4.0.1(Nov 19, 2022)

    What's Changed

    • Fix workflow lint error: cannot unmarshal number into Go struct field (#1290)

    by @koropets Full Changelog: https://github.com/equinor/gordo/compare/4.0.0...4.0.1

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0(Nov 16, 2022)

    What's Changed

    • Migrate to gordo-core (#1266)
    • Open source docker image (#1281)
    • Machine loader. Introduction of a new config schema (#1268,#1276)
    • Remove WORKFLOW_GENERATOR_CUSTOM_MODEL_BUILDER_ENVS environment variable (#1270)
    • WORKFLOW_GENERATOR_DOCKER_REGISTRY is ghcr.io by default (#1286)
    • Remove flask-restplus (#1271)
    • Update dependencies (#1272,#1283)
    • Migrate to PyPI (#1273)
    • Argo workflow v3.0.0 (#1275)
    • Support of argo 2/3 versions (#1279,#1282)
    • Do not push PR's docker images (#1277)
    • Refactoring github_docker.py script (#1285)

    and other fixes

    by @koropets Full Changelog: https://github.com/equinor/gordo/compare/3.0.0...4.0.0

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0rc3(Nov 3, 2022)

  • 4.0.0rc2(Oct 4, 2022)

  • 4.0.0rc1(Oct 4, 2022)

  • 4.0.0rc0(Sep 21, 2022)

  • 3.1.0rc0(Aug 29, 2022)

  • 3.0.0(Aug 12, 2022)

    What's Changed

    • gordo-dataset updated up to 5.0.0.
    • Machine arguments dataset, metadata should be specified only with actual object instances. Machine.from_dict should be used for passing them as dict.
    • WORKFLOW_GENERATOR_DEFAULT_DATA_PROVIDER environment variable for gordo workflow.

    by @koropets Full Changelog: https://github.com/equinor/gordo/compare/2.2.3...3.0.0

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0rc2(Jul 29, 2022)

  • 3.0.0rc1(Jul 27, 2022)

  • 3.0.0rc0(Jun 30, 2022)

  • 2.2.3(Jun 9, 2022)

  • 2.2.2(May 20, 2022)

    What's Changed

    • Fix for the issue with ValueError in create_model_builder() #1249 by @koropets

    Full Changelog: https://github.com/equinor/gordo/compare/2.2.1...2.2.2

    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(May 19, 2022)

    What's Changed

    • Custom environment variables for run_workflow_and_argo.sh in envs.sh #1247 by @koropets

    Full Changelog: https://github.com/equinor/gordo/compare/2.2.0...2.2.1

    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(May 19, 2022)

    What's Changed

    • Refactor ModelBuilderBase.calculate_cache_key(). securityContext for Workflow #1245 by @koropets
    • Refactoring run_workflow_and_argo.sh #1244 by @koropets
    • gordo-dataset==4.2.1 #1246 by @koropets

    Full Changelog: https://github.com/equinor/gordo/compare/2.1.0...2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Apr 28, 2022)

    What's Changed

    • Python 3.9 by @koropets in #1240
    • Store "checksum" to the metadata by @koropets in #1195
    • Security dependencies update. USER 999 in Dockerfile by @koropets in #1243

    Full Changelog: https://github.com/equinor/gordo/compare/2.0.0...2.1.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.0rc0(Apr 21, 2022)

  • 2.0.0(Mar 28, 2022)

    What's Changed

    • DELETE model revisions by @koropets in #1222
    • Providing a way to customize initialDelaySeconds for livenessProbe and readinessProbe by @koropets in #1221
    • user client-5.0.0 and dataset-4.0.0 by @devProdigy in #1233
    • Update base docker image by @koropets in #1238

    Full Changelog: https://github.com/equinor/gordo/compare/1.12.0...2.0.0

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0dev(Mar 16, 2022)

    What's Changed

    • DELETE model revisions by @koropets in https://github.com/equinor/gordo/pull/1222
    • Providing a way to customize initialDelaySeconds for livenessProbe and readinessProbe by @koropets in https://github.com/equinor/gordo/pull/1221
    • user client-5.0.0 and dataset-4.0.0 by @devProdigy in https://github.com/equinor/gordo/pull/1233

    Full Changelog: https://github.com/equinor/gordo/compare/1.12.0...2.0.0dev

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0.dev0(Mar 17, 2022)

    What's Changed

    • DELETE model revisions by @koropets in https://github.com/equinor/gordo/pull/1222
    • Providing a way to customize initialDelaySeconds for livenessProbe and readinessProbe by @koropets in https://github.com/equinor/gordo/pull/1221
    • user client-5.0.0 and dataset-4.0.0 by @devProdigy in https://github.com/equinor/gordo/pull/1233

    Full Changelog: https://github.com/equinor/gordo/compare/1.12.0...2.0.0.dev0

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0.dev(Mar 17, 2022)

    What's Changed

    • DELETE model revisions by @koropets in https://github.com/equinor/gordo/pull/1222
    • Providing a way to customize initialDelaySeconds for livenessProbe and readinessProbe by @koropets in https://github.com/equinor/gordo/pull/1221
    • user client-5.0.0 and dataset-4.0.0 by @devProdigy in https://github.com/equinor/gordo/pull/1233

    Full Changelog: https://github.com/equinor/gordo/compare/1.12.0...2.0.0.dev

    Source code(tar.gz)
    Source code(zip)
  • 1.12.1.dev0(Jan 26, 2022)

  • 1.12.0(Jan 13, 2022)

    What's Changed

    • 31230 update tensorflow and numpy versions (vulnerabilities) by @devProdigy in https://github.com/equinor/gordo/pull/1214
    • update dataset to 3.3.0 by @devProdigy in https://github.com/equinor/gordo/pull/1215

    Full Changelog: https://github.com/equinor/gordo/compare/1.11.3...1.12.0

    Source code(tar.gz)
    Source code(zip)
  • 1.12.0dev0(Jan 13, 2022)

  • 1.11.3(Jan 5, 2022)

  • 1.11.2(Dec 23, 2021)

  • 1.11.1(Dec 20, 2021)

  • 1.11.0(Dec 20, 2021)

  • 1.10.5(Nov 26, 2021)

Owner
Equinor
Equinor
[ICLR 2021] Rank the Episodes: A Simple Approach for Exploration in Procedurally-Generated Environments.

[ICLR 2021] RAPID: A Simple Approach for Exploration in Reinforcement Learning This is the Tensorflow implementation of ICLR 2021 paper Rank the Episo

Daochen Zha 48 Nov 21, 2022
Implemented fully documented Particle Swarm Optimization algorithm (basic model with few advanced features) using Python programming language

Implemented fully documented Particle Swarm Optimization (PSO) algorithm in Python which includes a basic model along with few advanced features such as updating inertia weight, cognitive, social lea

9 Nov 29, 2022
MVGCN: a novel multi-view graph convolutional network (MVGCN) framework for link prediction in biomedical bipartite networks.

MVGCN MVGCN: a novel multi-view graph convolutional network (MVGCN) framework for link prediction in biomedical bipartite networks. Developer: Fu Hait

13 Dec 01, 2022
Attention for PyTorch with Linear Memory Footprint

Attention for PyTorch with Linear Memory Footprint Unofficially implements https://arxiv.org/abs/2112.05682 to get Linear Memory Cost on Attention (+

11 Jan 09, 2022
Code for ACM MM 2020 paper "NOH-NMS: Improving Pedestrian Detection by Nearby Objects Hallucination"

NOH-NMS: Improving Pedestrian Detection by Nearby Objects Hallucination The offical implementation for the "NOH-NMS: Improving Pedestrian Detection by

Tencent YouTu Research 64 Nov 11, 2022
A script that trains a model to recognize handwritten digits using the MNIST data set.

handwritten-digits-recognition A script that trains a model to recognize handwritten digits using the MNIST data set. Then it loads external files and

Hamza Sayih 1 Oct 30, 2021
A Python parser that takes the content of a text file and then reads it into variables.

Text-File-Parser A Python parser that takes the content of a text file and then reads into variables. Input.text File 1. What is your ***? 1. 18 -

Kelvin 0 Jul 26, 2021
It's a powerful version of linebot

CTPS-FINAL Linbot-sever.py 主程式 Algorithm.py 推薦演算法,媒合餐廳端資料與顧客端資料 config.ini 儲存 channel-access-token、channel-secret 資料 Preface 生活在成大將近4年,我們每天的午餐時間看著形形色色

1 Oct 17, 2022
Turning SymPy expressions into PyTorch modules.

sympytorch A micro-library as a convenience for turning SymPy expressions into PyTorch Modules. All SymPy floats become trainable parameters. All SymP

Patrick Kidger 89 Dec 13, 2022
Defocus Map Estimation and Deblurring from a Single Dual-Pixel Image

Defocus Map Estimation and Deblurring from a Single Dual-Pixel Image This repository is an implementation of the method described in the following pap

21 Dec 15, 2022
A Python library for differentiable optimal control on accelerators.

A Python library for differentiable optimal control on accelerators.

Google 80 Dec 21, 2022
An implementation of quantum convolutional neural network with MindQuantum. Huawei, classifying MNIST dataset

关于实现的一点说明 山东大学 2020级 苏博南 www.subonan.com 文件说明 tools.py 这里面主要有两个函数: resize(a, lenb) 这其实是我找同学写的一个小算法hhh。给出一个$28\times 28$的方阵a,返回一个$lenb\times lenb$的方阵。因

ぼっけなす 2 Aug 29, 2022
Mememoji - A facial expression classification system that recognizes 6 basic emotions: happy, sad, surprise, fear, anger and neutral.

a project built with deep convolutional neural network and ❤️ Table of Contents Motivation The Database The Model 3.1 Input Layer 3.2 Convolutional La

Jostine Ho 761 Dec 05, 2022
LightningFSL: Pytorch-Lightning implementations of Few-Shot Learning models.

LightningFSL: Few-Shot Learning with Pytorch-Lightning In this repo, a number of pytorch-lightning implementations of FSL algorithms are provided, inc

Xu Luo 76 Dec 11, 2022
The Official TensorFlow Implementation for SPatchGAN (ICCV2021)

SPatchGAN: Official TensorFlow Implementation Paper "SPatchGAN: A Statistical Feature Based Discriminator for Unsupervised Image-to-Image Translation"

39 Dec 30, 2022
Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-wise Distributed Data based on Pytorch Framework

VFedPCA+VFedAKPCA This is the official source code for the Paper: Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-

John 9 Sep 18, 2022
Face Detection and Alignment using Multi-task Cascaded Convolutional Networks (MTCNN)

Face-Detection-with-MTCNN Face detection is a computer vision problem that involves finding faces in photos. It is a trivial problem for humans to sol

Chetan Hirapara 3 Oct 07, 2022
Implementation for our ICCV 2021 paper: Dual-Camera Super-Resolution with Aligned Attention Modules

DCSR: Dual Camera Super-Resolution Implementation for our ICCV 2021 oral paper: Dual-Camera Super-Resolution with Aligned Attention Modules paper | pr

Tengfei Wang 110 Dec 20, 2022
implementation for paper "ShelfNet for fast semantic segmentation"

ShelfNet-lightweight for paper (ShelfNet for fast semantic segmentation) This repo contains implementation of ShelfNet-lightweight models for real-tim

Juntang Zhuang 252 Sep 16, 2022
A Real-Time-Strategy game for Deep Learning research

Description DeepRTS is a high-performance Real-TIme strategy game for Reinforcement Learning research. It is written in C++ for performance, but provi

Centre for Artificial Intelligence Research (CAIR) 156 Dec 19, 2022