streamlit-javascript
component to run javascript code in streamlit application
Decision gist · record as of 2026-08-14
Yes, if you need browser-side JavaScript execution in Streamlit and can tolerate aging maintenance. The package is simple, has no known vulnerabilities, and carries a permissive license. However, verify compatibility with your Streamlit version before relying on it in production, and be aware that browser security policies may limit what the JavaScript can do.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Streamlit to be installed and running; JavaScript execution happens in the browser, so network requests and DOM access are subject to browser security policies.
- Low friction install with a single runtime dependency on streamlit.
- Maintenance status is aging—last release was in 2022 and no commits since April 2025, though the repository remains active and the package is not archived.
License · maintenance · safety
permissive license (permissive) — MIT license permits commercial and private use with minimal restrictions, making it safe to adopt in most projects.
last release 2022-05-13 (1554 days) · last repo commit 2025-04-05 · 134 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 295,501 downloads/mo, #7,921 on PyPI
Alternatives
Verify before relying
pip install streamlit-javascript
import streamlit as st
from streamlit_javascript import st_javascript
return_value = st_javascript("""await fetch("https://example.com/api").then(r => r.json())""")
st.write(return_value)- Whether the package works reliably with current versions of Streamlit (last release predates many recent Streamlit updates).
- Whether browser security policies (CORS, CSP) may block the JavaScript execution in production deployments.
- Performance and latency characteristics when executing complex JavaScript or making multiple API calls.
What it is and what it does
Streamlit-javascript is a Streamlit component that bridges Python and browser-side JavaScript execution. It lets you run arbitrary JavaScript code in the user's browser from within a Streamlit app and capture the result back in Python. This is useful when you need to perform operations that only the browser can do—like making cross-origin API calls, accessing browser APIs, or manipulating the DOM—without leaving your Streamlit application.
The package wraps a single function, `st_javascript()`, that takes a JavaScript code string and executes it in the browser session. The return value flows back to Python as a variable you can use in your app logic. It depends only on Streamlit itself, so installation is straightforward. However, the package has not been updated since May 2022, and the last commit was in April 2025, which means it may not be fully tested against recent Streamlit versions.
Use it for
- Make browser-based API calls (e.g., fetch from external services) that would otherwise be blocked by CORS in a pure Python backend.
- Access browser-specific data like geolocation, local storage, or device information and pass it back to your Streamlit app.
- Execute client-side validation or transformation logic without a round-trip to the server.
- Integrate third-party JavaScript libraries that need to run in the browser context within your Streamlit UI.
- Prototype or debug JavaScript behavior directly within a Streamlit application without building a separate frontend.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need browser-side JavaScript execution in Streamlit and can tolerate aging maintenance.
The package is simple, has no known vulnerabilities, and carries a permissive license. However, verify compatibility with your Streamlit version before relying on it in production, and be aware that browser security policies may limit what the JavaScript can do.
Install
streamlit-javascript on PyPI
Before you install
Low friction install with a single runtime dependency on streamlit. Maintenance status is aging—last release was in 2022 and no commits since April 2025, though the repository remains active and the package is not archived.
Requires Streamlit to be installed and running; JavaScript execution happens in the browser, so network requests and DOM access are subject to browser security policies.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it safe to adopt in most projects.
Quickstart
pip install streamlit-javascript
import streamlit as st
from streamlit_javascript import st_javascript
return_value = st_javascript("""await fetch("https://example.com/api").then(r => r.json())""")
st.write(return_value)
Verify before relying
- Whether the package works reliably with current versions of Streamlit (last release predates many recent Streamlit updates).
- Whether browser security policies (CORS, CSP) may block the JavaScript execution in production deployments.
- Performance and latency characteristics when executing complex JavaScript or making multiple API calls.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagestreamlit |
| Maintenance | Aging 1,554 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 295,501 / month, #7,921 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: streamlit_javascript-0.1.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “streamlit javascript execution”
- streamlit-javascriptExecutes arbitrary JavaScript code from within a Streamlit…
- streamlit-js-evalStreamlit-js-eval lets you run arbitrary JavaScript expressions from…
- streamlit-echartsRenders interactive ECharts visualizations in Streamlit apps, with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also streamlit-cookies-controller · streamlit-ace · streamlit-js-eval · streamlit-code-editor · streamlit-plotly-events · telepath · streamlit-camera-input-live · streamlit-autorefresh · streamlit-avatar · pywebview