Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "shinylive",
"version": "0.10.5",
"version": "0.10.6",
"description": "Run Shiny applications with R or Python running in the browser.",
"main": "index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/py-shiny
Submodule py-shiny updated 293 files
13 changes: 13 additions & 0 deletions scripts/pyodide_packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,14 @@
"palmerpenguins": ["setuptools"],
}

# Some packages may have a circular dependency. For example, shiny (v1.5.0) depends on
# shinychat, and shinychat depends on shiny. Python is okay with this (as long
# as the imports aren't circular at runtime), but pyodide has trouble with it.
# This hack breaks the circularity by removing shiny from shinychat's dependencies,
# which is okay since shinylive will always come with shiny already installed.
CIRCULAR_DEPENDENCIES = {
"shinychat": ["shiny"],
}

# =============================================
# Data structures used in our shinylive_requirements.json
Expand Down Expand Up @@ -638,6 +646,11 @@ def update_pyodide_pyodide_lock_json():
for name in EXTRA_DEPENDENCIES:
pyodide_packages["packages"][name]["depends"].extend(EXTRA_DEPENDENCIES[name])

print("Removing circular dependencies")
for key, val in CIRCULAR_DEPENDENCIES.items():
depends = set(pyodide_packages["packages"][key]["depends"])
pyodide_packages["packages"][key]["depends"] = list(depends.difference(val))

print("Writing pyodide/pyodide-lock.json")
with open(pyodide_lock_json_file, "w") as f:
json.dump(pyodide_packages, f)
Expand Down
25 changes: 20 additions & 5 deletions shinylive_lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
},
"shiny": {
"name": "shiny",
"version": "1.4.0",
"filename": "shiny-1.4.0-py3-none-any.whl",
"version": "1.5.0",
"filename": "shiny-1.5.0-py3-none-any.whl",
"sha256": null,
"url": null,
"depends": [
Expand All @@ -26,11 +26,12 @@
{"name": "markdown-it-py", "specs": [[">=", "1.1.0"]]},
{"name": "mdit-py-plugins", "specs": [[">=", "0.3.0"]]},
{"name": "linkify-it-py", "specs": [[">=", "1.0"]]},
{"name": "appdirs", "specs": [[">=", "1.4.4"]]},
{"name": "platformdirs", "specs": [[">=", "2.1.0"]]},
{"name": "asgiref", "specs": [[">=", "3.5.2"]]},
{"name": "packaging", "specs": [[">=", "20.9"]]},
{"name": "narwhals", "specs": [[">=", "1.10.0"]]},
{"name": "orjson", "specs": [[">=", "3.10.7"]]}
{"name": "orjson", "specs": [[">=", "3.10.7"]]},
{"name": "shinychat", "specs": [[">=", "0.1.0"]]}
],
"imports": [
"shiny"
Expand All @@ -44,7 +45,7 @@
"url": null,
"depends": [
{"name": "ipywidgets", "specs": [[">=", "7.6.5"]]},
{"name": "jupyter-core", "specs": []},
{"name": "jupyter_core", "specs": []},
{"name": "shiny", "specs": [[">=", "0.6.1.9005"]]},
{"name": "python-dateutil", "specs": [[">=", "2.8.2"]]},
{"name": "anywidget", "specs": []}
Expand Down Expand Up @@ -562,5 +563,19 @@
"imports": [
"psygnal"
]
},
"shinychat": {
"name": "shinychat",
"version": "0.2.8",
"filename": "shinychat-0.2.8-py3-none-any.whl",
"sha256": "6742a2354257280458269a8b5675f1254e5583be34b6eb1a626de44c0323286a",
"url": "https://files.pythonhosted.org/packages/16/01/8658eaffa920f4c621f05acc42ea98248147706079287b3a7ab4e47e1ece/shinychat-0.2.8-py3-none-any.whl",
"depends": [
{"name": "htmltools", "specs": [[">=", "0.6.0"]]},
{"name": "shiny", "specs": [[">=", "1.4.0"]]}
],
"imports": [
"shinychat"
]
}
}