{"id":281,"name":"NYISOToolkit","description":"A collection of modules for accessing power system data, generating statistics, and creating visualizations from the New York Independent System Operator.","url":"https://github.com/m4rz910/NYISOToolkit","last_synced_at":"2026-04-08T15:00:22.506Z","repository":{"id":40774305,"uuid":"280674642","full_name":"m4rz910/NYISOToolkit","owner":"m4rz910","description":"Access data, statistics, and visualizations for New York's electricity grid.","archived":false,"fork":false,"pushed_at":"2026-03-27T05:29:28.000Z","size":54961,"stargazers_count":67,"open_issues_count":9,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-03T00:42:02.543Z","etag":null,"topics":["analysis","clcpa","clean-energy","data","datascience","datasets","decarbonization","electricity","energy","kaggle","kaggle-competition","kaggle-dataset","machine-learning","ml","newyork","nyiso","renewable-energy","visualization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m4rz910.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-18T14:37:20.000Z","updated_at":"2026-03-27T05:28:23.000Z","dependencies_parsed_at":"2023-09-21T19:08:01.439Z","dependency_job_id":"ee2b63ca-027b-483b-93b8-3c8b8e9b872f","html_url":"https://github.com/m4rz910/NYISOToolkit","commit_stats":{"total_commits":190,"total_committers":4,"mean_commits":47.5,"dds":0.1105263157894737,"last_synced_commit":"f5b2c9214062150dca45914511251e848e513267"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/m4rz910/NYISOToolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m4rz910","download_url":"https://codeload.github.com/m4rz910/NYISOToolkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31400460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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"}},"owner":{"login":"m4rz910","name":"Zach Tzavelis","uuid":"19602273","kind":"user","description":"zt910@pm.me","email":"","website":"https://www.linkedin.com/in/zach-tzavelis-636b71106/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19602273?u=e4fbdf336ff0868af98dc7ec0afced5646345969\u0026v=4","repositories_count":1,"last_synced_at":"2024-06-11T15:33:56.726Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/m4rz910","funding_links":[],"total_stars":48,"followers":12,"following":115,"created_at":"2024-06-11T15:33:57.210Z","updated_at":"2024-06-11T15:33:57.210Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m4rz910","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m4rz910/repositories"},"packages":[],"commits":{"id":1254057,"full_name":"m4rz910/NYISOToolkit","default_branch":"master","total_commits":210,"total_committers":4,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":52.5,"dds":0.09999999999999998,"past_year_total_commits":3,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.0,"past_year_dds":0.0,"last_synced_at":"2026-04-06T14:01:04.619Z","last_synced_commit":"87d17158d0737485877e6fd14217f2a298097b93","created_at":"2023-03-27T10:57:55.769Z","updated_at":"2026-04-06T14:00:47.960Z","committers":[{"name":"m4rz910","email":"tzavelisz@gmail.com","login":"m4rz910","count":189},{"name":"the-great-shazbot","email":"wazandrew@gmail.com","login":"andrew-harding-gh","count":10},{"name":"Mike Welch","email":"michael.welch.1990@gmail.com","login":"mike-welch","count":9},{"name":"m4rz910","email":"zach.tzavelis@ethree.com","login":null,"count":2}],"past_year_committers":[{"name":"tzavelisz@gmail.com","email":"tzavelisz@gmail.com","login":"m4rz910","count":3}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-08T00:00:24.542Z","repositories_count":6212203,"commits_count":914906080,"contributors_count":35345446,"owners_count":1143114,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"m4rz910/NYISOToolkit","html_url":"https://github.com/m4rz910/NYISOToolkit","last_synced_at":"2026-03-27T09:00:46.598Z","status":"active","issues_count":20,"pull_requests_count":12,"avg_time_to_close_issue":6744531.75,"avg_time_to_close_pull_request":3209680.3636363638,"issues_closed_count":12,"pull_requests_closed_count":11,"pull_request_authors_count":4,"issue_authors_count":3,"avg_comments_per_issue":0.3,"avg_comments_per_pull_request":0.5,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":12485673.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":2,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-09T10:35:01.851Z","updated_at":"2026-03-27T09:00:46.598Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4rz910%2FNYISOToolkit/issues","issue_labels_count":{"documentation":1,"good first issue":1},"pull_request_labels_count":{"dependencies":2,"python":2},"issue_author_associations_count":{"OWNER":18,"NONE":1,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"OWNER":6,"CONTRIBUTOR":4,"NONE":2},"issue_authors":{"m4rz910":18,"andrew-harding-gh":1,"reriley":1},"pull_request_authors":{"m4rz910":6,"mike-welch":2,"andrew-harding-gh":2,"dependabot[bot]":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-29T00:00:10.666Z","repositories_count":13978370,"issues_count":34551908,"pull_requests_count":112998341,"authors_count":11211917,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":2,"python":2},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":2,"OWNER":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":2,"m4rz910":1},"maintainers":[{"login":"m4rz910","count":24,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/m4rz910"}],"active_maintainers":[{"login":"m4rz910","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/m4rz910"}]},"events":{"total":{"WatchEvent":11,"PushEvent":3,"CreateEvent":1},"last_year":{"WatchEvent":7,"PushEvent":3,"CreateEvent":1}},"keywords":["analysis","clcpa","clean-energy","data","datascience","datasets","decarbonization","electricity","energy","kaggle","kaggle-competition","kaggle-dataset","machine-learning","ml","newyork","nyiso","renewable-energy","visualization"],"dependencies":[{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-15T23:40:28.277Z","updated_at":"2022-09-15T23:40:28.277Z","repository_link":"https://github.com/m4rz910/NYISOToolkit/blob/master/setup.py","dependencies":[{"id":4992037973,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=1.0.5","direct":true,"kind":"runtime","optional":false},{"id":4992037974,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.2.2","direct":true,"kind":"runtime","optional":false},{"id":4992037975,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4992037976,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=6.0.1","direct":true,"kind":"runtime","optional":false},{"id":4992037977,"package_name":"pytz","ecosystem":"pypi","requirements":"\u003e=2020.1","direct":true,"kind":"runtime","optional":false},{"id":4992037978,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.24.0","direct":true,"kind":"runtime","optional":false},{"id":4992037979,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=5.3.1","direct":true,"kind":"runtime","optional":false}]}],"score":5.717027701406222,"created_at":"2023-09-11T11:54:34.226Z","updated_at":"2026-04-08T15:00:22.513Z","avatar_url":"https://github.com/m4rz910.png","language":"Jupyter Notebook","category":"Energy Systems","sub_category":"Energy Data Accessibility and Integration","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"## NYISOToolkit\n\nA package for accessing power system data (`NYISOData`), generating statistics (`NYISOStat`), and creating visualizations (`NYISOVis`) from the [New York Independent System Operator (NYISO)](https://www.nyiso.com/).\n\nCheck out the [NYISOToolkit Website!](http://nyisotoolkit.com/)\n\n![CLCPA](nyisotoolkit/nyisovis/visualizations/2023_carbon_free_timeseries_D.png)\n\n## How to Install\n\n```python\npip install git+https://github.com/m4rz910/NYISOToolkit#egg=nyisotoolkit\n```\n \n## NYISOData\n\n**Example:**\n```python\nfrom nyisotoolkit import NYISOData, NYISOStat, NYISOVis\ndf = NYISOData(dataset='load_h', year='2024').df # year argument in local time, but returns dataset in UTC\n\n#If you need to work with data in local time, then convert time zone\ndf = df.tz_convert('US/Eastern')\n\n#Construct datasets for certain years\nyears = range(2022,2024)\ndatasets = ['load_h','interface_flows_5m']\nNYISOData.construct_databases(years=years, datasets=datasets, redownload=True, reconstruct=True, create_csvs=False)\n```\n\nRaw Data Source: http://mis.nyiso.com/public/\n\nDataset Name | Resolution | Description\n--- | --- | --\n`load_h` | hourly | day-ahead load by NYISO region\n`load_5m` | 5-min | real-time load by NYISO region\n`load_forecast_h` | hourly | load forecast by NYISO region\n`fuel_mix_5m` | 5-min | real-time aggregated fuel mix data\n`interface_flows_5m` | 5-min | real-time flows between regions\n`lbmp_dam_h` | hourly | day-ahead zonal Locational Based Marginal Price (LBMP)\n`lbmp_rt_5m` | 5-min | real-time zonal LBMP\n`lbmp_dam_h_refbus` | hourly | day-ahead reference bus marginal cost of energy\n`lbmp_rt_h_refbus` | hourly | time weighted average rt reference bus marginal cost of energy\n`asp_rt` | 5-min | real-time zonal ancillary service prices\n`asp_dam` | hourly | day-ahead zonal ancillary service prices\n`capacity_prices` | monthly | spot, monthly, and strip capacity prices\n\nAll datasets:\n\n* Timezone: Coordinated Universal Time [UTC]\n* Frequency: Hourly or 5-mins. The raw data sometimes has higher or lower frequency than intended, but this library uses mean values to resample at the intended frequency. When interpolations are necessary, they are made. Some datasets only come in one frequency.\n* Datetime Convention: Start. The value(s)/measurement(s) associated with each timestamp occurred in the time period before the start of the next timestamp.\n\n### More Dataset Information\n\n#### Load (`load_h`)\n\n* \"Integrated Real-Time Actual Load is posted after each hour and represents the timeweighted hourly load for each zone\" (NYISO Market Participant Guide p.62)\n* Units: Power [MW]\n* Frequency: Hour\n\n#### Load (`load_5m`)\n\n* \"Real-Time Actual Load posts the actual measured load for each RTD interval (5 minutes) by zone.\nActual loads are calculated as generation plus net interchange for each zone, based on real-time telemetered data.\" (NYISO Market Participant Guide p.62)\n* Units: Power [MW]\n* Frequency: 5-min\n\n#### Load Forecast (`load_forecast_h`)\n\n* \"Weather forecast information grouped by zone is input into a neural network forecaster tool to produce a preliminary zonal load forecast for each hour of the following day. The tool makes use of historical load and weather patterns.\" (NYISO Market Participant Guide p.25)\n* Units: Power [MW]\n* Frequency: Hour\n\n#### Fuel Mix (`fuel_mix_5m`)\n\n* Units: Power [MW]\n* Frequency: 5-min\n\n#### Interface Flows (`interface_flows_5m`)\n\n* \"Internal/ External Interface Limits and Flows consist of hourly limits (for all major internal interfaces, HQ, NE, PJM, and OH) and flows (for HQ, NE, PJM, and OH) in SCUC and time-weighted average hourly flows (for the same interfaces) in RTD. The data is posted at least day-after or sooner.\" (NYISO Market Participant Guide p.59)\n* Units: Power [MW] (Note: The raw datafile column is mislabled as MWH, but it is correct on the NYISO Dashboard)\n* Frequency: 5-min\n\nInterface Name | Type | Mapping Name | Notes\n--- | --- | --- | ---\nCENTRAL EAST | Internal | `CENTRAL EAST - VC`\nDYSINGER EAST | Internal | `DYSINGER EAST`\nMOSES SOUTH | Internal | `MOSES SOUTH`\nSPR/DUN-SOUTH | Internal | `SPR/DUN-SOUTH`\nTOTAL EAST | Internal | `TOTAL EAST`\nUPNY CONED | Internal | `UPNY CONED`\nWEST CENTRAL | Internal | `WEST CENTRAL`\nHQ CHATEAUGUAY | External | `SCH - HQ - NY`\nHQ CEDARS | External | `SCH - HQ_CEDARS`\nHQ Import Export | External | `SCH - HQ_IMPORT_EXPORT` | subset of HQ CHATEAUGUAY, excludes wheel-through\nNPX NEW ENGLAND (NE) | External | `SCH - NE - NY`\nNPX 1385 NORTHPORT (NNC) | External | `SCH - NPX_1385`\nNPX CROSS SOUND CABLE (CSC) | External | `SCH - NPX_CSC`\nIESO | External | `SCH - OH - NY`\nPJM KEYSTONE | External | `SCH - PJ - NY`\nPJM HUDSON TP | External | `SCH - PJM_HTP`\nPJM NEPTUNE | External | `SCH - PJM_NEPTUNE`\nPJM LINDEN VFT | External | `SCH - PJM_VFT`\n\n#### LBMP (`lbmp_dam_h`)\n\n* NYISO Market Participant Guide\n* Units: Price [$/MWh]\n* Frequency: Hour\n\n#### LBMP (`lbmp_rt_5m`)\n\n* NYISO Market Participant Guide\n* Units: Price [$/MWh]\n* Frequency: Hour\n\n#### Ancillary Service Price (`asp_rt`)\n\n* Units: Price [$/MWh]\n* Frequency: Hour\n\n#### Ancillary Service Price (`asp_dam`)\n\n* Units: Price [$/MWh]\n* Frequency: 5-min\n\n#### Capacity Prices (`capacity_prices`)\n\n* Units: Price [$/kW-mo]\n* Frequency: monthly\n\n## NYISOVis\nThere are several visualizations currently supported - browse them on the [NYISOToolkit Web App](http://nyisotoolkit.com/) or in the nyisotoolkit/nyisovis/visualizations folder. The visualizations are focused on communicating New York's status toward achieving the power sector decarbonization goals outlined by the Climate Leadership and Community Protection Act (CLCPA). \n\n\u003e No later than [June 13, 2021], the commission shall establish a program to require that:\n\u003e\n\u003e * (A) A minimum of [70%] of the state wide electric generation secured by jurisdictional load serving entities to meet the electrical energy requirements of all end-use customers in New York State in [2030] shall  be generated by  renewable  energy  systems;\n\u003e * (B) and that by [2040] the  statewide  electrical demand system will be zero emissions.\"\n\n**Source:** [CLCPA p.17](https://www.nysenate.gov/legislation/bills/2019/s6599)\n\n**Example:**\n\n```python\nfrom nyisotoolkit import NYISOData, NYISOStat, NYISOVis\nnv = NYISOVis(year='2021') #figures saved in nyisotoolkit/nyisovis/visualization folder by default.  \nnv.fig_carbon_free_timeseries(f='D')  # daily (D) or monthy (M) frequency is recommended\nprint(f\"Figures saved by default to: {nv.out_dir} \\nYou can change this by passing a pathlib object to the out_dir parameter in the NYISOVis object initialization.\")\n```\n![CLCPA](nyisotoolkit/nyisovis/visualizations/2023_carbon_free_timeseries_D.png)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/281","html_url":"https://ost.ecosyste.ms/projects/281"}