An Integrated Experimental Platform for time series data anomaly detection.

Overview

Curve

Sorry to tell contributors and users. We decided to archive the project temporarily due to the employee work plan of collaborators.

There are no more official support. Collaborators may offer a bit personal support.

Curve is an open-source tool to help label anomalies on time-series data. The labeled data (also known as the ground truth) is necessary for evaluating time-series anomaly detection methods. Otherwise, one can not easily choose a detection method, or say method A is better than method B. The labeled data can also be used as the training set if one wants to develop supervised learning methods for detection.

Curve is designed to support plugin, so one can equip Curve with customized and powerful functions to help label effectively. For example, a plugin to identify anomalies which are similar to the one you labeled, so you don't have to search them through all the data.

Curve is originally developed by Baidu and Tsinghua NetMan Lab.

Getting Started

Run and stop

Simply use control.sh to start or stop Curve.

./control.sh start
./control.sh stop

Server will blind 8080 by default, you can change it in ./api/uwsgi.ini.

The first start will take a while because of the compilation. If you pull updates from github, Rebuild will be triggered during start or reload.

Data format

You can load a CSV file into Curve. The CSV should have the following format

  • First column is the timestamp
  • Second column is the value
  • Third column (optional) is the label. 0 for normal and 1 for abnormal.

The header of CSV is optional, like timestamp,value,label.

Some examples of valid CSV

  • With a header and the label column
timestamp value label
1476460800 2566.35 0
1476460860 2704.65 0
1476460920 2700.05 0
  • Without the header
1476460800 2566.35 0
1476460860 2704.65 0
1476460920 2700.05 0
  • Without the header and the label column
1476460800 2566.35
1476460860 2704.65
1476460920 2700.05
  • Timestamp in human-readable format
20161015000000 2566.35
20161015000100 2704.65
20161015000200 2700.05

Additional

Recommend environments

For PC

Darwin(Mac OSX) or Linux(Ubuntu, CentOS, Arch, etc.) is Recommended

  • Dependency:
    • Python 2.7.3+/3.1.2+(Python 3 does not seem to be supported as of now.), if python is not owned by current user, virtualenv is required
    • Node.js 4.7.0+
    • gcc, pip and npm path is correctly set

Control Scripts for Windows is under development

For VPS like EC2

Minimal

  • Server: 1 CPU, 512MB RAM, 5GB Storage
  • System: Ubuntu10.04LTS or CentOS5.5

Swap is required during build

Recommend

  • Server: 1 CPU, 1GB RAM, 10GB Storage
  • System: Ubuntu16.04LTS or CentOS7

Backend Unit Test

cd api && pytest

Plugin dir

api/curve/v1/plugins

GitHub oauth

GitHub Oauth is supported, please put a configuration file into api/curve/auth/github_oauth.json like this:

{
  "id": "your github application Client ID",
  "secret": "your application Client Secret"
}

Doc:Creating-An-Github-Oauth-App

Change Log

  • 2018-08-07 [Function Optimization]: Refactoring code
Comments
  • can't load CSV file

    can't load CSV file

    i want to try your system with a labeled csv file , but it just show can't "Curve upload failed ,Please try again ", so what is the problem ? and i want to modify your system with more Input Source(like TimeSeriesDatabase , are you guys welcome on this? if we are done , we will give the PR to you ) , hope that you can reply why the problem show and how to fix it .

    opened by ray1888 8
  • [Solution] TypeError: generate() got an unexpected keyword argument 'swagger'

    [Solution] TypeError: generate() got an unexpected keyword argument 'swagger'

    When run the command "./control.sh start" to start the service, there exists the error message in the console. I want to know how to fix it or what environment should I install, thanks. Current environment is Mac OS 10.14.2, python 3.6.3, Node.js 6.4.1.

    TODO 
    opened by FudanYuan 5
  • the latest version can't compile

    the latest version can't compile

    when i compile the latest version ,i found an error

    "Module not found: Error: Can't resolve 'react-icons/lib/fa/search' in '/anaconda3/envs/python3/Curve/web/src/index/component'"

    my python version is Python 3.6.4 :: Anaconda, Inc, i don't konw what happen and can't find the log file. please help me.

    bug 
    opened by sure0000 5
  • Incompatible between conda and virtualenv

    Incompatible between conda and virtualenv

    I find that if your computer installed Anoconda, the build process will report errors. The solution is delete the Anoconda folder, when the environment build is finished, then restore the Anoconda folder.

    enhancement 
    opened by nengwenzhao 4
  • Error: Request failed with status code 500

    Error: Request failed with status code 500

    Hi - I have got the app running. But uploading a csv fails with the error Error: Request failed with status code 500

    The page shows "Uploading and pre-processing, please wait.."

    opened by navneeth 3
  • Incorrect time series naming from first dotted element of the uploaded csv file

    Incorrect time series naming from first dotted element of the uploaded csv file

    Curve seems to be naming the time series incorrectly, based on the first dotted element in the csv filename. I uploaded a csv named stats.statsd.bad_lines_seen.20161110.ts.value.csv and the Curve web app presented it as stats. I tested this further by uploading a file named stats.graphite-dev-2.vda.ioInProgress.baidu_curve.csv and was presented with the error:

    stats upload failed...Can't upload file with the same name, please try again

    I then renamed the file to stats-graphite-dev-2.vda.ioInProgress.baidu_curve.csv which did upload to Curve, but named the time series stats-graphite-dev-2

    It would probably be better if Curve just named the time series based on the filename, excluding the .csv extension.

    opened by earthgecko 3
  • Interactive Labeling

    Interactive Labeling

    Hey guys,

    May I ask whether it's possible to label on single point as an outlier? I've tried many ways like selecting relatively narrow range on the time series but it looks like minimum 2 points are labeled every time.

    Was I doing something incorrectly?

    Thanks for helping in advance.

    tmp
    opened by Dahlia7 2
  • [Solution] Left preview delete button does not work

    [Solution] Left preview delete button does not work

    Clicking triple dots at the right side of the specific data in left side-bar, then clicking 'delete'. In the pop-up window, the red 'delete' button does not work.

    Raise error : Uncaught TypeError: this.props.showLoading is not a function at e.value (dialog.js:58) at Object.i (ReactErrorUtils.js:24) at a (EventPluginUtils.js:83) at Object.s [as executeDispatchesInOrder] (EventPluginUtils.js:106) at p (EventPluginHub.js:41) at m (EventPluginHub.js:52) at Array.forEach (<anonymous>) at i (forEachAccumulated.js:22) at Object.processEventQueue (EventPluginHub.js:252) at i (ReactEventEmitterMixin.js:15)

    TODO 
    opened by zishuow 2
  • _OLD_VIRTUAL_PATH: unbound variable

    _OLD_VIRTUAL_PATH: unbound variable

    Hi all,

    When i deploy curve venv, i encounter the following problem: ppt@ppt-virtual-machine:~/jyy/Curve-master$ sudo ./control.sh start

    local Curve version: none

    ============================================================= deploy venv... New python executable in /home/ppt/jyy/Curve-master/venv/bin/python Installing setuptools, pip...done. /home/ppt/jyy/Curve-master/venv/bin/activate: 行 8: _OLD_VIRTUAL_PATH: 未绑定的变量

    How to fix it ?

    Thanks!

    opened by xiandanchaoren 2
  • Can not find ./log/uwsgi.log

    Can not find ./log/uwsgi.log

    api deployed.

    start Curve... [uWSGI] getting INI configuration from uwsgi.ini Curve started. open("./log/uwsgi.log"): No such file or directory [core/logging.c line 288]

    I am using python2.7.6 ubuntu14.04LTS

    bug good first issue 
    opened by FlowingSunshine 2
  • Bugs found during trial

    Bugs found during trial

    • Data more than I have selected is labelled as anomaly
    • Buttons cancel the label, export, delete and some non-texted interactive functions are inactive
    • Value of anomaly percent does not change according to the labelled curves
    • Some of the curves I have labelled lost after refreshing @ldp12416 Enjoy
    bug 
    opened by Forec 2
  • Bump ini from 1.3.4 to 1.3.7 in /web

    Bump ini from 1.3.4 to 1.3.7 in /web

    Bumps ini from 1.3.4 to 1.3.7.

    Commits
    Maintainer changes

    This version was pushed to npm by isaacs, a new releaser for ini since your current version.


    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

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump http-proxy from 1.16.2 to 1.18.1 in /web

    Bump http-proxy from 1.16.2 to 1.18.1 in /web

    Bumps http-proxy from 1.16.2 to 1.18.1.

    Release notes

    Sourced from http-proxy's releases.

    Long overdue maintenance

    Due to some great contributions I'm happy to announce a new release of http-proxy containing numerous bug fixes, feature additions and documentation improvements. Thanks to all who contributed for their patience and willingness to contribute despite perceived stagnation in activity in the project. I welcome all contributions and those who are interested in getting more involved with the project. Below I will highlight the changes that landed in the latest version but you can find the full diff of the changes in nodejitsu/node-http-proxy#1251

    • Add option to rewrite path of set-cookie headers. @swillis12
    • Add option for overriding http METHOD when proxying request @AydinChavez
    • Feature: selfHandleResponse for taking responsibility in returning your own response when listening on the proxyRes event. @cpd0101 @guoxiangyang
    • Add followRedirects option @n30n0v
    • Document timeout option @jlaamanen
    • Fix documentation typos @carpsareokiguess
    • Document buffer option @jonhunter1977
    • Include websocket non-upgrade response instead of just closing the socket. Allows auth schemes to be possible with websocket proxying. @Tigge
    • Stop using the writeHead method explicitly and let node handle it internally to prevent thrown errors @jakefurler
    • Be more defensive in handling of detecting response state when proxying @thiagobustamante
    Changelog

    Sourced from http-proxy's changelog.

    v1.18.1 - 2020-05-17

    Merged

    1.18.0 - 2019-09-18

    Merged

    Commits

    • [dist] New test fixtures. 7e4a0e5
    • [dist] End of an era. a9b09cc
    • [dist] Version bump. 1.18.0 9bbe486
    • [fix] Latest versions. 59c4403
    • [fix test] Update tests. dd1d08b
    • [dist] Update dependency ws to v3 [SECURITY] b00911c
    • [dist] .gitattributes all the things. fc93520
    • [dist] Regenerate package-lock.json. 16d4f8a

    1.17.0 - 2018-04-20

    Merged

    Commits
    • 9b96cd7 1.18.1
    • 335aeeb Skip sending the proxyReq event when the expect header is present (#1447)
    • dba3966 Remove node6 support, add node12 to build (#1397)
    • 9bbe486 [dist] Version bump. 1.18.0
    • 6e4bef4 Added in auto-changelog module set to keepachangelog format (#1373)
    • d056241 fix 'Modify Response' readme section to avoid unnecessary array copying (#1300)
    • 244303b Fix incorrect target name for reverse proxy example (#1135)
    • b4028ba Fix modify response middleware example (#1139)
    • 77a9815 [dist] Update dependency async to v3 (#1359)
    • c662f9e Fix path to local http-proxy in examples. (#1072)
    • 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

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump handlebars from 4.0.10 to 4.7.6 in /web

    Bump handlebars from 4.0.10 to 4.7.6 in /web

    Bumps handlebars from 4.0.10 to 4.7.6.

    Changelog

    Sourced from handlebars's changelog.

    v4.7.6 - April 3rd, 2020

    Chore/Housekeeping:

    Compatibility notes:

    • Restored Node.js compatibility

    Commits

    v4.7.5 - April 2nd, 2020

    Chore/Housekeeping:

    • Node.js version support has been changed to v6+ Reverted in 4.7.6

    Compatibility notes:

    • Node.js < v6 is no longer supported Reverted in 4.7.6

    Commits

    v4.7.4 - April 1st, 2020

    Chore/Housekeeping:

    Compatibility notes:

    • No incompatibilities are to be expected

    Commits

    v4.7.3 - February 5th, 2020

    Chore/Housekeeping:

    • #1644 - Download links to aws broken on handlebarsjs.com - access denied (@Tea56)
    • Fix spelling and punctuation in changelog - d78cc73

    Bugfixes:

    • Add Type Definition for Handlebars.VERSION, Fixes #1647 - 4de51fe
    • Include Type Definition for runtime.js in Package - a32d05f

    Compatibility notes:

    Commits
    Maintainer changes

    This version was pushed to npm by erisds, a new releaser for handlebars since your current version.


    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

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump highcharts from 5.0.13 to 7.2.2 in /web

    Bump highcharts from 5.0.13 to 7.2.2 in /web

    Bumps highcharts from 5.0.13 to 7.2.2.

    Commits
    Maintainer changes

    This version was pushed to npm by torsteinhonsi, a new releaser for highcharts since your current version.


    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

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump elliptic from 6.4.0 to 6.5.3 in /web

    Bump elliptic from 6.4.0 to 6.5.3 in /web

    Bumps elliptic from 6.4.0 to 6.5.3.

    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

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v0.2.5beta)
Owner
Baidu
Baidu Open Source Projects
Baidu
ForecastGA is a Python tool to forecast Google Analytics data using several popular time series models.

ForecastGA is a tool that combines a couple of popular libraries, Atspy and googleanalytics, with a few enhancements.

JR Oakes 36 Jan 3, 2023
PyEmits, a python package for easy manipulation in time-series data.

PyEmits, a python package for easy manipulation in time-series data. Time-series data is very common in real life. Engineering FSI industry (Financial

Thompson 5 Sep 23, 2022
A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms

MatrixProfile MatrixProfile is a Python 3 library, brought to you by the Matrix Profile Foundation, for mining time series data. The Matrix Profile is

Matrix Profile Foundation 302 Dec 29, 2022
An experimental project I'm undertaking for the sole purpose of increasing my Python knowledge

5ePy is an experimental project I'm undertaking for the sole purpose of increasing my Python knowledge. #Goals Goal: Create a working, albeit lightwei

Hayden Covington 1 Nov 24, 2021
An ETL framework + Monitoring UI/API (experimental project for learning purposes)

Fastlane An ETL framework for building pipelines, and Flask based web API/UI for monitoring pipelines. Project structure fastlane |- fastlane: (ETL fr

Dan Katz 2 Jan 6, 2022
A real-time financial data streaming pipeline and visualization platform using Apache Kafka, Cassandra, and Bokeh.

Realtime Financial Market Data Visualization and Analysis Introduction This repo shows my project about real-time stock data pipeline. All the code is

null 6 Sep 7, 2022
Weather Image Recognition - Python weather application using series of data

Weather Image Recognition - Python weather application using series of data

Kushal Shingote 1 Feb 4, 2022
First and foremost, we want dbt documentation to retain a DRY principle. Every time we repeat ourselves, we waste our time. Second, we want to understand column level lineage and automate impact analysis.

dbt-osmosis First and foremost, we want dbt documentation to retain a DRY principle. Every time we repeat ourselves, we waste our time. Second, we wan

Alexander Butler 150 Jan 6, 2023
CaterApp is a cross platform, remotely data sharing tool created for sharing files in a quick and secured manner.

CaterApp is a cross platform, remotely data sharing tool created for sharing files in a quick and secured manner. It is aimed to integrate this tool with several more features including providing a User Interface.

Ravi Prakash 3 Jun 27, 2021
Open source platform for Data Science Management automation

Hydrosphere examples This repo contains demo scenarios and pre-trained models to show Hydrosphere capabilities. Data and artifacts management Some mod

hydrosphere.io 6 Aug 10, 2021
Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data.

Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data.

Amundsen 3.7k Jan 3, 2023
Elementary is an open-source data reliability framework for modern data teams. The first module of the framework is data lineage.

Data lineage made simple, reliable, and automated. Effortlessly track the flow of data, understand dependencies and analyze impact. Features Visualiza

null 898 Jan 9, 2023
Integrate bus data from a variety of sources (batch processing and real time processing).

Purpose: This is integrate bus data from a variety of sources such as: csv, json api, sensor data ... into Relational Database (batch processing and r

null 1 Nov 25, 2021
PyStan, a Python interface to Stan, a platform for statistical modeling. Documentation: https://pystan.readthedocs.io

PyStan PyStan is a Python interface to Stan, a package for Bayesian inference. Stan® is a state-of-the-art platform for statistical modeling and high-

Stan 229 Dec 29, 2022
WaveFake: A Data Set to Facilitate Audio DeepFake Detection

WaveFake: A Data Set to Facilitate Audio DeepFake Detection This is the code repository for our NeurIPS 2021 (Track on Datasets and Benchmarks) paper

Chair for Sys­tems Se­cu­ri­ty 27 Dec 22, 2022
🧪 Panel-Chemistry - exploratory data analysis and build powerful data and viz tools within the domain of Chemistry using Python and HoloViz Panel.

???? ??. The purpose of the panel-chemistry project is to make it really easy for you to do DATA ANALYSIS and build powerful DATA AND VIZ APPLICATIONS within the domain of Chemistry using using Python and HoloViz Panel.

Marc Skov Madsen 97 Dec 8, 2022
fds is a tool for Data Scientists made by DAGsHub to version control data and code at once.

Fast Data Science, AKA fds, is a CLI for Data Scientists to version control data and code at once, by conveniently wrapping git and dvc

DAGsHub 359 Dec 22, 2022
Tuplex is a parallel big data processing framework that runs data science pipelines written in Python at the speed of compiled code

Tuplex is a parallel big data processing framework that runs data science pipelines written in Python at the speed of compiled code. Tuplex has similar Python APIs to Apache Spark or Dask, but rather than invoking the Python interpreter, Tuplex generates optimized LLVM bytecode for the given pipeline and input data set.

Tuplex 791 Jan 4, 2023
A data parser for the internal syncing data format used by Fog of World.

A data parser for the internal syncing data format used by Fog of World. The parser is not designed to be a well-coded library with good performance, it is more like a demo for showing the data structure.

Zed(Zijun) Chen 40 Dec 12, 2022