skillfed

streamlit-javascript

component to run javascript code in streamlit application

streamlit-javascript v0.1.5 295.5K downloads/30d#7,921 on PyPI134
Permissive license AGING released

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

Executes arbitrary JavaScript code from within a Streamlit application and returns the result to Python, enabling browser-side operations like API calls and DOM manipulation.

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

pip

pip install streamlit-javascript

uv

uv add streamlit-javascript

poetry

poetry add streamlit-javascript

Installing streamlit-javascript

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.

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)

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.

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 not declared (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 1 — streamlit
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)

Evidence: streamlit_javascript-0.1.5-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

streamlit javascript executionrun js in streamlitbrowser api calls from streamlitstreamlit client-side scriptingjavascript component streamlitfetch api streamlitstreamlit browser automation
streamlit-componentbrowser-automationjavascript-bridge

More Application Frameworks packages