{"id":18851911,"url":"https://github.com/danchitnis/pyglplot","last_synced_at":"2025-04-14T09:53:05.970Z","repository":{"id":65407187,"uuid":"584576012","full_name":"danchitnis/pyglplot","owner":"danchitnis","description":"A high-performance OpenGL line plotting library for Python","archived":false,"fork":false,"pushed_at":"2023-08-18T00:02:09.000Z","size":636,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-26T23:40:12.985Z","etag":null,"topics":["jupyter-notebook","line","opengl","performance","plot","python"],"latest_commit_sha":null,"homepage":"https://danchitnis.github.io/pyglplot/","language":"Python","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/danchitnis.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}},"created_at":"2023-01-03T00:50:13.000Z","updated_at":"2024-04-01T21:07:51.000Z","dependencies_parsed_at":"2023-02-12T13:16:43.315Z","dependency_job_id":"eda86046-ca44-4390-9d78-4c64fd46953a","html_url":"https://github.com/danchitnis/pyglplot","commit_stats":{"total_commits":29,"total_committers":1,"mean_commits":29.0,"dds":0.0,"last_synced_commit":"0ba0d6f0b82f5ec1d0e48e9cd3f648464f7b6ec6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danchitnis%2Fpyglplot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danchitnis%2Fpyglplot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danchitnis%2Fpyglplot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danchitnis%2Fpyglplot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danchitnis","download_url":"https://codeload.github.com/danchitnis/pyglplot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860144,"owners_count":21173339,"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":["jupyter-notebook","line","opengl","performance","plot","python"],"created_at":"2024-11-08T03:37:07.251Z","updated_at":"2025-04-14T09:53:05.942Z","avatar_url":"https://github.com/danchitnis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://badge.fury.io/py/pyglplot.svg)](https://badge.fury.io/py/pyglplot)\n\n# pyglplot\n\nA powerful Python plotting library that leverages OpenGL to provide exceptional performance and high-quality visualizations of 2D data. Based on the JavaScript library [webgl-plot](https://github.com/danchitnis/webgl-plot) this library is specifically designed for real-time plotting of line, scatter, and histogram plots. This library is cross-platform and works on Windows, Linux and Mac thanks to [GLFW](https://www.glfw.org/) windowing library. Furthermore, It is also compatible with Jupyter notebooks. This package is ideal for plotting realtime data from sensors and instruments, including streaming devices such as microphones and cameras, empowering users to analyze data as it is being generated.\n\n## Installation\n\n```bash\npython -m pip install pyglplot\n```\n\n## Getting started\n\n```python\nimport numpy as np\nfrom pyglplot import line\n\n\n# Create a Line object\nLINE_SIZE = 2000\nLINE_NUMBER = 1\n\nplot_line = line.Line(LINE_SIZE, LINE_NUMBER)\nx = np.linspace(-1, 1, LINE_SIZE)\ny = np.sin(np.pi*x)\n\n# Add data to the line\nplot_line.update_color(0, [255, 0, 255])\nplot_line.update_line_xy(0, x, y)\n\nplot_line.run()\n```\n\n## Animating a plot\n\n```python\nimport numpy as np\nfrom pyglplot import line\n\n# Create a Line object\nLINE_SIZE = 2000\nLINE_NUMBER = 1\n\nplot_line = line.Line(LINE_SIZE, LINE_NUMBER)\nx = np.linspace(-1, 1, LINE_SIZE)\ny = np.sin(np.pi*x)\n\n# Add data to the line\nplot_line.update_color(0, [255, 0, 255])\nplot_line.update_line_xy(0, x, y)\n\ndef update():\n    y = 0.5*np.sin(np.pi*x) + np.random.rand(LINE_SIZE) * 0.1\n    plot_line.update_line_y(0, y)\n\nplot_line.run(update)\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanchitnis%2Fpyglplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanchitnis%2Fpyglplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanchitnis%2Fpyglplot/lists"}