{"id":13586171,"url":"https://github.com/nilmtk/nilmtk","last_synced_at":"2025-05-15T07:04:45.553Z","repository":{"id":2330830,"uuid":"14891877","full_name":"nilmtk/nilmtk","owner":"nilmtk","description":"Non-Intrusive Load Monitoring Toolkit (nilmtk)","archived":false,"fork":false,"pushed_at":"2024-04-23T06:29:51.000Z","size":53141,"stargazers_count":862,"open_issues_count":123,"forks_count":474,"subscribers_count":65,"default_branch":"master","last_synced_at":"2025-05-13T22:45:28.817Z","etag":null,"topics":["algorithms","disaggregation","energy","energy-disaggregation","forecasting","ipython-notebook","nilm","nilm-algorithms","nilmtk","python"],"latest_commit_sha":null,"homepage":"http://nilmtk.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nilmtk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-03T11:39:12.000Z","updated_at":"2025-05-12T16:13:21.000Z","dependencies_parsed_at":"2024-04-13T17:04:56.666Z","dependency_job_id":"9b99cb7f-f819-4e94-b5f6-5be5fa5f1dac","html_url":"https://github.com/nilmtk/nilmtk","commit_stats":{"total_commits":1700,"total_committers":53,"mean_commits":"32.075471698113205","dds":0.4835294117647059,"last_synced_commit":"45772301570dd6af49eab53de47ab4011b38d830"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilmtk%2Fnilmtk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilmtk%2Fnilmtk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilmtk%2Fnilmtk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilmtk%2Fnilmtk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nilmtk","download_url":"https://codeload.github.com/nilmtk/nilmtk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243358,"owners_count":22038046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["algorithms","disaggregation","energy","energy-disaggregation","forecasting","ipython-notebook","nilm","nilm-algorithms","nilmtk","python"],"created_at":"2024-08-01T15:05:22.040Z","updated_at":"2025-05-15T07:04:40.538Z","avatar_url":"https://github.com/nilmtk.png","language":"Python","readme":"[![Build Status](https://travis-ci.org/nilmtk/nilmtk.svg?branch=master)](https://travis-ci.org/nilmtk/nilmtk) [![Install with conda](https://anaconda.org/nilmtk/nilmtk/badges/installer/conda.svg)](https://anaconda.org/nilmtk/nilmtk) [![conda package version](https://anaconda.org/nilmtk/nilmtk/badges/version.svg)](https://anaconda.org/nilmtk/nilmtk)\n\n# NILMTK: Non-Intrusive Load Monitoring Toolkit\n\nNon-Intrusive Load Monitoring (NILM) is the process of estimating the\nenergy consumed by individual appliances given just a whole-house\npower meter reading.  In other words, it produces an (estimated)\nitemised energy bill from just a single, whole-house power meter.\n\nNILMTK is a toolkit designed to help **researchers** evaluate the accuracy of NILM algorithms. If you are a new Python user, it is recommended to educate yourself on [Pandas](https://pandas.pydata.org/), [Pytables](http://www.pytables.org/) and other tools from the Python ecosystem.\n\n**⚠️It may take time for the NILMTK authors to get back to you regarding queries/issues. However, you are more than welcome to propose changes, support!** Remember to check existing issue tickets, especially the open ones.\n\n# Documentation\n\n[NILMTK Documentation](https://github.com/nilmtk/nilmtk/tree/master/docs/manual)\n\nIf you are a new user, read the [install instructions here](https://github.com/nilmtk/nilmtk/blob/master/docs/manual/user_guide/install_user.md). It came to our attention that some users follow third-party tutorials to install NILMTK. Always remember to check the dates of such tutorials, many are very outdated and don't reflect NILMTK's current version or the recommended/supported setup.\n\n# Why a toolkit for NILM?\n\nWe quote our [NILMTK paper](http://arxiv.org/pdf/1404.3878v1.pdf)\nexplaining the need for a NILM toolkit:\n\n  \u003e Empirically comparing disaggregation algorithms is currently\n  \u003e virtually impossible. This is due to the different data sets used,\n  \u003e the lack of reference implementations of these algorithms and the\n  \u003e variety of accuracy metrics employed.\n\n\n# What NILMTK provides\n\nTo address this challenge, we present the Non-intrusive Load Monitoring\nToolkit (NILMTK); an open source toolkit designed specifically to enable\nthe comparison of energy disaggregation algorithms in a reproducible\nmanner. This work is the first research to compare multiple\ndisaggregation approaches across multiple publicly available data sets.\nNILMTK includes:\n\n-  parsers for a range of existing data sets (8 and counting)\n-  a collection of preprocessing algorithms\n-  a set of statistics for describing data sets\n-  a number of [reference benchmark disaggregation algorithms](https://github.com/nilmtk/nilmtk/wiki/NILM-Algorithms)\n-  a common set of accuracy metrics\n-  and much more!\n\n# Publications\n\nIf you use NILMTK in academic work then please consider citing our papers. Here are some of the publications (contributors, please update this as required):\n\n1. Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring. In: 5th International Conference on Future Energy Systems (ACM e-Energy), Cambridge, UK. 2014. DOI:[10.1145/2602044.2602051](http://dx.doi.org/10.1145/2602044.2602051). arXiv:[1404.3878](http://arxiv.org/abs/1404.3878).\n2. Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring\". In: NILM Workshop, Austin, US. 2014 \\[[pdf](http://nilmworkshop14.files.wordpress.com/2014/05/batra_nilmtk.pdf)\\]\n3. Jack Kelly, Nipun Batra, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. Demo Abstract: NILMTK v0.2: A Non-intrusive Load Monitoring Toolkit for Large Scale Data Sets. In the first ACM Workshop On Embedded Systems For Energy-Efficient Buildings, 2014. DOI:[10.1145/2674061.2675024](http://dx.doi.org/10.1145/2674061.2675024). arXiv:[1409.5908](http://arxiv.org/abs/1409.5908).\n4. Nipun Batra, Rithwik Kukunuri, Ayush Pandey, Raktim Malakar, Rajat Kumar, Odysseas Krystalakos, Mingjun Zhong, Paulo Meira, and Oliver Parson. 2019. Towards reproducible state-of-the-art energy disaggregation. In Proceedings of the 6th ACM International Conference on Systems for Energy-Efficient Buildings, Cities, and Transportation (BuildSys '19). Association for Computing Machinery, New York, NY, USA, 193–202. DOI:[10.1145/3360322.3360844](https://doi.org/10.1145/3360322.3360844)\n\nPlease note that NILMTK has evolved *a lot* since most of these papers were published! Please use the [online docs](https://github.com/nilmtk/nilmtk/tree/master/docs/manual)\nas a guide to the current API. \n\n# Brief history\n\n* August 2019: v0.4 released with the new API. See also [NILMTK-Contrib](https://github.com/nilmtk/nilmtk-contrib).\n* June 2019: v0.3.1 released on [Anaconda Cloud](https://anaconda.org/nilmtk/nilmtk/).\n* Jav 2018: Initial Python 3 support on the v0.3 branch\n* Nov 2014: NILMTK wins best demo award at [ACM BuildSys](http://www.buildsys.org/2014/)\n* July 2014: v0.2 released\n* June 2014: NILMTK presented at [ACM e-Energy](http://conferences.sigcomm.org/eenergy/2014/)\n* April 2014: v0.1 released\n\nFor more detail, please see our [changelog](https://github.com/nilmtk/nilmtk/blob/master/docs/manual/development_guide/changelog.md).\n","funding_links":[],"categories":["Python","Consumption"],"sub_categories":["Buildings and Heating"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilmtk%2Fnilmtk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnilmtk%2Fnilmtk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilmtk%2Fnilmtk/lists"}