{"id":13421797,"url":"https://github.com/timkpaine/lantern","last_synced_at":"2025-04-04T17:05:21.843Z","repository":{"id":25220683,"uuid":"97290549","full_name":"timkpaine/lantern","owner":"timkpaine","description":"Data exploration glue","archived":false,"fork":false,"pushed_at":"2024-02-05T14:28:40.000Z","size":33773,"stargazers_count":350,"open_issues_count":5,"forks_count":22,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-10-17T22:10:51.168Z","etag":null,"topics":["bokeh","data-science","ipysheet","jupyter","jupyter-widgets","jupyterlab","jupyterlab-extension","matplotlib","pandas","perspective","plotly","python","python3","qgrid","visualization"],"latest_commit_sha":null,"homepage":"","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/timkpaine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2017-07-15T03:49:10.000Z","updated_at":"2024-09-11T14:44:25.000Z","dependencies_parsed_at":"2024-02-05T15:45:46.033Z","dependency_job_id":"366049c8-5224-46db-bb14-1e2e14cd245c","html_url":"https://github.com/timkpaine/lantern","commit_stats":{"total_commits":501,"total_committers":3,"mean_commits":167.0,"dds":"0.013972055888223589","last_synced_commit":"74d258ec9f72cbd75b7a01276604d912a6b132c8"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timkpaine%2Flantern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timkpaine%2Flantern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timkpaine%2Flantern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timkpaine%2Flantern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timkpaine","download_url":"https://codeload.github.com/timkpaine/lantern/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217172,"owners_count":20903008,"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":["bokeh","data-science","ipysheet","jupyter","jupyter-widgets","jupyterlab","jupyterlab-extension","matplotlib","pandas","perspective","plotly","python","python3","qgrid","visualization"],"created_at":"2024-07-30T23:00:30.154Z","updated_at":"2025-04-04T17:05:21.819Z","avatar_url":"https://github.com/timkpaine.png","language":"Python","funding_links":[],"categories":["Uncategorized","Python","data-science","JupyterLab扩展","JupyterLab Extensions"],"sub_categories":["Uncategorized"],"readme":"# \u003ca href=\"https://pylantern.readthedocs.io\"\u003e\u003cimg src=\"docs/img/logo.png\" width=\"300\"\u003e\u003c/a\u003e\nAn orchestration layer for plots and tables, dummy datasets, widgets, research, reports, and anything else a data scientist might need.\n\n[![Build Status](https://github.com/timkpaine/lantern/workflows/Build%20Status/badge.svg)](https://github.com/timkpaine/lantern/actions/)\n[![GitHub issues](https://img.shields.io/github/issues/timkpaine/lantern.svg)]()\n[![codecov](https://codecov.io/gh/timkpaine/lantern/branch/main/graph/badge.svg)](https://codecov.io/gh/timkpaine/lantern)\n[![PyPI](https://img.shields.io/pypi/l/pylantern.svg)](https://pypi.python.org/pypi/pylantern)\n[![PyPI](https://img.shields.io/pypi/v/pylantern.svg)](https://pypi.python.org/pypi/pylantern)\n\n\u003c!-- [![Beerpay](https://beerpay.io/timkpaine/lantern/badge.svg?style=flat)](https://beerpay.io/timkpaine/lantern) --\u003e\n\n\n\u003c!-- ![](https://raw.githubusercontent.com/timkpaine/lantern/main/docs/img/demo.gif) --\u003e\n\n\n## Note: Lantern Live has moved to [tributary](https://github.com/timkpaine/tributary)\n## Note: Email reports have moved to [jupyterlab_email](https://github.com/timkpaine/jupyterlab_email)\n## Note: `Publish` is removed in favor of [Voila](https://github.com/voila-dashboards/voila)\n## Note: `Export` code has has moved to [jupyterlab_commands](https://github.com/timkpaine/jupyterlab_commands/) and [jupyterlab_nbconvert_nocode](https://github.com/timkpaine/jupyterlab_nbconvert_nocode)\n\n## About\nThis library is designed to fill gaps between other libraries with the JupyterLab ecosystem. The motivation was initially to allow for plots generated with a javascript library (like `plotly` or `bokeh`) to trivially swap out for `matplotlib` in non-browser contexts such as NBConvert generation of PDFs.\n\nIt has expanded to include a variety of functions, including grids, emailing notebooks, publishing notebooks, custom nbconvert exporters for JupyterLab, variable inpection, custom streaming operations, and other helpful functions and widgets. As these functionalities mature, or as competeting libraries emerge, they are cut out into their own standalone libraries or removed from `Lantern`, respectively.\n\nThis library has produced or ceded functionality to:\n- [jupyterlab_email](https://github.com/timkpaine/jupyterlab_email)\n- [tributary](https://github.com/timkpaine/tributary)\n- [jupyterlab_commands](https://github.com/timkpaine/jupyterlab_commands/)\n- [jupyterlab_nbconvert_nocode](https://github.com/timkpaine/jupyterlab_nbconvert_nocode)\n- [Voila](https://github.com/voila-dashboards/voila)\n\n## Install\nTo install the base package from pip:\n\n`pip install pylantern`\n\nTo Install from source:\n\n`make install`\n\n\nLantern relies on JupyterLab extensions:\n\n```\njupyter labextension install @jupyter-widgets/jupyterlab-manager\njupyter labextension install plotlywidget\njupyter labextension install @jupyterlab/plotly-extension\njupyter labextension install jupyterlab_bokeh\njupyter labextension install qgrid\njupyter labextension install @finos/perspective-jupyterlab\njupyter labextension install ipysheet\njupyter labextension install lineup_widget\n```\n\nThe following are for work in-progress on main:\n\n```\njupyter labextension install bqplot\n```\n\n\n## Data\n![](https://raw.githubusercontent.com/timkpaine/lantern/main/docs/img/data.gif)\n\n## Plots\n![](https://raw.githubusercontent.com/timkpaine/lantern/main/docs/img/plot/plots.gif)\n\n## Grids\n![](https://raw.githubusercontent.com/timkpaine/lantern/main/docs/img/grids.gif)\n\n\n## Export Without Code:\nNote: this has moved to [jupyterlab_commands](https://github.com/timkpaine/jupyterlab_commands/)\n\n## Widget Tools\n![](https://raw.githubusercontent.com/timkpaine/lantern/main/docs/img/widgets/widgets.gif)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimkpaine%2Flantern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimkpaine%2Flantern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimkpaine%2Flantern/lists"}