{"id":34200640,"url":"https://github.com/wenjiedu/tsdb","last_synced_at":"2026-03-17T20:04:11.693Z","repository":{"id":57664006,"uuid":"476661838","full_name":"WenjieDu/TSDB","owner":"WenjieDu","description":"a Python toolbox loads 172 public time series datasets for machine/deep learning with a single line of code. Datasets from multiple domains including healthcare, financial, power, traffic, weather, and etc.","archived":false,"fork":false,"pushed_at":"2026-03-10T17:41:13.000Z","size":285,"stargazers_count":231,"open_issues_count":2,"forks_count":21,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-03-10T23:19:09.468Z","etag":null,"topics":["classification","data-mining","database","deep-learning","forecasting","imputation","machine-learning","partially-observed-time-series","time-series","time-series-analysis","time-series-database","time-series-datasets"],"latest_commit_sha":null,"homepage":"https://pypots.com/ecosystem/#TSDB","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WenjieDu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["wenjiedu"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-04-01T09:44:47.000Z","updated_at":"2026-02-14T23:39:54.000Z","dependencies_parsed_at":"2024-06-19T02:48:47.149Z","dependency_job_id":"72a0df59-3096-4f4b-9a23-cbe086749158","html_url":"https://github.com/WenjieDu/TSDB","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/WenjieDu/TSDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WenjieDu%2FTSDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WenjieDu%2FTSDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WenjieDu%2FTSDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WenjieDu%2FTSDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WenjieDu","download_url":"https://codeload.github.com/WenjieDu/TSDB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WenjieDu%2FTSDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30630037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","data-mining","database","deep-learning","forecasting","imputation","machine-learning","partially-observed-time-series","time-series","time-series-analysis","time-series-database","time-series-datasets"],"created_at":"2025-12-15T18:20:32.636Z","updated_at":"2026-03-17T20:04:11.688Z","avatar_url":"https://github.com/WenjieDu.png","language":"Python","funding_links":["https://github.com/sponsors/wenjiedu"],"categories":[],"sub_categories":[],"readme":"\u003ca href='https://github.com/WenjieDu/TSDB'\u003e\u003cimg src=\"https://pypots.com/figs/pypots_logos/TSDB/logo_FFBG.svg\" align='right' width='200'/\u003e\u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eWelcome to TSDB\u003c/h3\u003e\n\n*\u003cp align='center'\u003eload 172 public time-series datasets with a single line of code ;-)\u003c/p\u003e*\n\n\u003cp align='center'\u003e\n    \u003ca href='https://github.com/WenjieDu/TSDB'\u003e\n        \u003cimg alt='Python version' src='https://img.shields.io/badge/python-v3-E97040?logo=python\u0026logoColor=white'\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/WenjieDu/TSDB/releases\"\u003e\n        \u003cimg alt=\"the latest release version\" src=\"https://img.shields.io/github/v/release/wenjiedu/tsdb?color=EE781F\u0026include_prereleases\u0026label=Release\u0026logo=github\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/WenjieDu/TSDB/blob/main/LICENSE\"\u003e\n        \u003cimg alt=\"BSD-3 license\" src=\"https://img.shields.io/badge/License-BSD--3-E9BB41?logo=opensourceinitiative\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/WenjieDu/PyPOTS/blob/main/README.md#-community\"\u003e\n        \u003cimg alt=\"Community\" src=\"https://img.shields.io/badge/join_us-community!-C8A062\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/WenjieDu/TSDB/graphs/contributors\"\u003e\n        \u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/wenjiedu/tsdb?color=D8E699\u0026label=Contributors\u0026logo=GitHub\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://star-history.com/#wenjiedu/tsdb\"\u003e\n        \u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/wenjiedu/tsdb?logo=None\u0026color=6BB392\u0026label=%E2%98%85%20Stars\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/WenjieDu/TSDB/network/members\"\u003e\n        \u003cimg alt=\"GitHub Repo forks\" src=\"https://img.shields.io/github/forks/wenjiedu/tsdb?logo=forgejo\u0026logoColor=black\u0026label=Forks\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://sonarcloud.io/component_measures?id=WenjieDu_TSDB\u0026metric=sqale_rating\u0026view=list\"\u003e\n        \u003cimg alt=\"maintainability\" src=\"https://sonarcloud.io/api/project_badges/measure?project=WenjieDu_TSDB\u0026metric=sqale_rating\"\u003e\n    \u003c/a\u003e\n    \u003ca href='https://coveralls.io/github/WenjieDu/TSDB'\u003e\n        \u003cimg alt='Coveralls report' src='https://img.shields.io/coverallsCoverage/github/WenjieDu/TSDB?branch=main\u0026logo=coveralls\u0026color=75C1C4\u0026label=Coverage'\u003e\n    \u003c/a\u003e\n    \u003ca  href='https://github.com/WenjieDu/TSDB/actions/workflows/testing_ci.yml'\u003e\n        \u003cimg alt='GitHub Testing' src='https://img.shields.io/github/actions/workflow/status/wenjiedu/tsdb/testing_ci.yml?logo=github\u0026color=C8D8E1\u0026label=CI'\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://arxiv.org/abs/2305.18811\"\u003e\n        \u003cimg alt=\"arXiv DOI\" src=\"https://img.shields.io/badge/DOI-10.48550/arXiv.2305.18811-F8F7F0\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://anaconda.org/conda-forge/tsdb\"\u003e\n        \u003cimg alt=\"Conda downloads\" src=\"https://pypots.com/figs/downloads_badges/conda_tsdb_downloads.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/project/tsdb\"\u003e\n        \u003cimg alt=\"PyPI downloads\" src=\"https://pypots.com/figs/downloads_badges/pypi_tsdb_downloads.svg\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e 📣 TSDB now supports a total of 1️⃣7️⃣2️⃣ time-series datasets ‼️\n\n\u003ca href='https://github.com/WenjieDu/PyPOTS'\u003e\u003cimg src='https://pypots.com/figs/pypots_logos/PyPOTS/logo_FFBG.svg' width='160' align='left' /\u003e\u003c/a\u003e\nTSDB is a part of\n\u003ca href=\"https://github.com/WenjieDu/PyPOTS\"\u003e\nPyPOTS \u003cimg align=\"center\" src=\"https://img.shields.io/github/stars/WenjieDu/PyPOTS?style=social\"\u003e\n\u003c/a\u003e\n(a Python toolbox for data mining on Partially-Observed Time Series), and was separated from PyPOTS for decoupling datasets from learning algorithms.\n\nTSDB is created to help researchers and engineers get rid of data collecting and downloading, and focus back on data processing details. TSDB provides all-in-one-stop convenience for downloading and loading open-source time-series datasets (available datasets listed [below](https://github.com/WenjieDu/TSDB#-list-of-available-datasets)).\n\n❗️Please note that due to people have very different requirements for data processing, data-loading functions in TSDB only contain the most general steps (e.g. removing invalid samples) and won't process the data (not even normalize it). So, no worries, TSDB won't affect your data preprocessing. If you only want the raw datasets, TSDB can help you download and save raw datasets as well (take a look at [Usage Examples](https://github.com/WenjieDu/TSDB#-usage-examples) below).\n\n🤝 If you need TSDB to integrate an open-source dataset or want to add it into TSDB yourself, please feel free to request for it by creating an issue or make a PR to merge your code.\n\n🤗 **Please** star this repo to help others notice TSDB if you think it is a useful toolkit.\n**Please** properly [cite TSDB and PyPOTS](https://github.com/WenjieDu/TSDB#-citing-tsdbpypots) in your publications\nif it helps with your research. This really means a lot to our open-source research. Thank you!\n\n\n## ❖ Usage Examples\n\u003e [!IMPORTANT]\n\u003e TSDB is available on both \u003ca alt='PyPI' href='https://pypi.python.org/pypi/tsdb'\u003e\u003cimg align='center' src='https://img.shields.io/badge/PyPI--lightgreen?style=social\u0026logo=pypi'\u003e\u003c/a\u003e\n\u003e and \u003ca alt='Anaconda' href='https://anaconda.org/conda-forge/tsdb'\u003e\u003cimg align='center' src='https://img.shields.io/badge/Anaconda--lightgreen?style=social\u0026logo=anaconda'\u003e\u003c/a\u003e❗️\n\u003e\n\u003e Install via pip:\n\u003e \u003e pip install tsdb\n\u003e\n\u003e or install from source code:\n\u003e \u003e pip install `https://github.com/WenjieDu/TSDB/archive/main.zip`\n\u003e\n\u003e or install via conda:\n\u003e \u003e conda install tsdb -c conda-forge\n\n\n```python\nimport tsdb\n\n# list all available datasets in TSDB\ntsdb.list()\n# ['physionet_2012',\n#  'physionet_2019',\n#  'electricity_load_diagrams',\n#  'beijing_multisite_air_quality',\n#  'italy_air_quality',\n#  'vessel_ais',\n#  'electricity_transformer_temperature',\n#  'pems_traffic',\n#  'solar_alabama',\n#  'ucr_uea_ACSF1',\n#  'ucr_uea_Adiac',\n#  ...\n\n# select the dataset you need and load it, TSDB will download, extract, and process it automatically\ndata = tsdb.load('physionet_2012')\n# if you need the raw data, use download_and_extract()\ntsdb.download_and_extract('physionet_2012', './save_it_here')\n# datasets you once loaded are cached, and you can check them with list_cached_data()\ntsdb.list_cache()\n# you can delete only one specific dataset's pickled cache\ntsdb.delete_cache(dataset_name='physionet_2012', only_pickle=True)\n# you can delete only one specific dataset raw files and preserve others\ntsdb.delete_cache(dataset_name='physionet_2012')\n# or you can delete all cache with delete_cached_data() to free disk space\ntsdb.delete_cache()\n\n# The default cache directory is ~/.pypots/tsdb under the user's home directory.\n# To avoid taking up too much space if downloading many datasets ,\n# TSDB cache directory can be migrated to an external disk\ntsdb.migrate_cache(\"/mnt/external_disk/TSDB_cache\")\n```\n\nThat's all. Simple and efficient. Enjoy it! 😃\n\n\n## ❖ List of Available Datasets\n\n| Name                                                                                              | Main Tasks                              |\n|---------------------------------------------------------------------------------------------------|-----------------------------------------|\n| [PhysioNet Challenge 2012](dataset_profiles/physionet_2012)                                       | Forecasting, Imputation, Classification |\n| [PhysioNet Challenge 2019](dataset_profiles/physionet_2019)                                       | Forecasting, Imputation, Classification |\n| [Beijing Multi-Site Air-Quality](dataset_profiles/beijing_multisite_air_quality)                  | Forecasting, Imputation                 |\n| [Italy Air Quality](dataset_profiles/italy_air_quality)                                           | Forecasting, Imputation                 |\n| [Electricity Load Diagrams](dataset_profiles/electricity_load_diagrams)                           | Forecasting, Imputation                 |\n| [Electricity Transformer Temperature (ETT)](dataset_profiles/electricity_transformer_temperature) | Forecasting, Imputation                 |\n| [Vessel AIS](dataset_profiles/vessel_ais)                                                         | Forecasting, Imputation, Classification |\n| [PeMS Traffic](dataset_profiles/pems_traffic)                                                     | Forecasting, Imputation                 |\n| [Solar Alabama](dataset_profiles/solar_alabama)                                                   | Forecasting, Imputation                 |\n| [UCR \u0026 UEA Datasets](dataset_profiles/ucr_uea_datasets) (all 163 datasets)                        | Classification                          |\n\n\n## ❖ Citing TSDB/PyPOTS\nThe paper introducing PyPOTS is available [on arXiv](https://arxiv.org/abs/2305.18811),\nA short version of it is accepted by the 9th SIGKDD international workshop on Mining and Learning from Time Series ([MiLeTS'23](https://kdd-milets.github.io/milets2023/))).\n**Additionally**, PyPOTS has been included as a [PyTorch Ecosystem](https://pytorch.org/ecosystem/) project.\nWe are pursuing to publish it in prestigious academic venues, e.g. JMLR (track for\n[Machine Learning Open Source Software](https://www.jmlr.org/mloss/)). If you use PyPOTS in your work,\nplease cite it as below and 🌟star this repository to make others notice this library. 🤗\n\nThere are scientific research projects using PyPOTS and referencing in their papers.\nHere is [an incomplete list of them](https://scholar.google.com/scholar?as_ylo=2022\u0026q=%E2%80%9CPyPOTS%E2%80%9D\u0026hl=en).\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/WenjieDu/PyPOTS\"\u003e\n    \u003cimg src=\"https://pypots.com/figs/pypots_logos/Ecosystem/PyPOTS_Ecosystem_Pipeline.png\" width=\"95%\"/\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n``` bibtex\n@article{du2023pypots,\ntitle={{PyPOTS: a Python toolbox for data mining on Partially-Observed Time Series}},\nauthor={Wenjie Du},\njournal={arXiv preprint arXiv:2305.18811},\nyear={2023},\n}\n```\nor\n\u003e Wenjie Du.\n\u003e PyPOTS: a Python toolbox for data mining on Partially-Observed Time Series.\n\u003e arXiv, abs/2305.18811, 2023.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenjiedu%2Ftsdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenjiedu%2Ftsdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenjiedu%2Ftsdb/lists"}