
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
streamlit-kepler-component
Advanced tools
Streamlit component that allows you to do bidirectional communication with Kepler
Kepler.gl is a powerful open-source geospatial visualization tool developed by Uber. It enables users to effortlessly create custom, interactive maps from large-scale location data. With its intuitive interface and extensive customization options, Kepler.gl empowers users to explore and analyze geographic patterns, trends, and relationships. Whether for urban planning, logistics optimization, or data journalism, Kepler.gl provides a user-friendly solution for visualizing complex spatial datasets. Its versatility, ease of use, and ability to handle big data make it an essential tool for anyone needing to understand and communicate insights from geospatial information effectively.
The following three libraries - geemap, leafmap, and streamlit-kepler - currently offer support for integrating Kepler.gl into Streamlit, facilitating data presentation. However, they are limited to static Kepler maps. "Static" implies that once the map is rendered, Streamlit cannot manipulate it further or retrieve its current state. To modify data, the map must be re-rendered. This restriction significantly constrains Kepler's utility in Streamlit. Many applications demand dynamic capabilities, enabling Streamlit and Kepler to communicate bidirectionally - adding or removing data at any time and responding to user interactions on the map promptly and flexibly.
We've created a Streamlit component for Kepler, enabling seamless bidirectional communication between Streamlit and Kepler. Now, Streamlit can effortlessly retrieve the map's current state and dynamically adjust the application accordingly. Additionally, Streamlit gains the ability to add data to the map on-the-fly, independent of whether the map has been previously rendered. This breakthrough empowers users to interact fluidly with the map, enhancing the application's versatility and responsiveness.
pip install streamlit-kepler-component
In the present prototype, Kepler.gl accepts the following parameters:
When there's an interaction with the map, such as a mouse movement, the Kepler streamlit component returns the current map configuration. In simpler terms, any action performed on the map will prompt the entire page to be re-rendered. To ensure smooth functioning and avoid potential bugs, it's essential to utilize session state management for your web page and execute any prolonged actions within a separate thread.
import json
import streamlit as st
import geopandas as gpd
from keplergl import keplergl
if "datasets" not in st.session_state:
st.session_state.datasets = []
sf_zip_geo_gdf = gpd.read_file("sf_zip_geo.geojson")
sf_zip_geo_gdf.label = "SF Zip Geo"
sf_zip_geo_gdf.id = "sf-zip-geo"
st.session_state.datasets.append(sf_zip_geo_gdf)
h3_hex_id_df = pd.read_csv("keplergl/h3_data.csv")
h3_hex_id_df.label = "H3 Hexagons V2"
h3_hex_id_df.id = "h3-hex-id"
st.session_state.datasets.append(h3_hex_id_df)
map_config = keplergl(st.session_state.datasets, height=400)
FAQs
Streamlit component that allows you to do bidirectional communication with Kepler
We found that streamlit-kepler-component demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.