Quick Overview
The emre/storm
repository is a Python library that provides a simple and lightweight interface for interacting with the Storm real-time computation system. It allows developers to easily submit and monitor Storm topologies, as well as manage the Storm cluster.
Pros
- Simple and Lightweight: The library provides a straightforward and easy-to-use API, making it accessible for developers who want to integrate Storm into their projects.
- Cluster Management: The library offers functionality for managing the Storm cluster, including starting/stopping the cluster, deploying topologies, and monitoring the cluster's status.
- Asynchronous Operations: The library supports asynchronous operations, allowing for efficient and non-blocking interactions with the Storm cluster.
- Python Compatibility: The library is written in Python, making it a natural choice for developers working in the Python ecosystem.
Cons
- Limited Functionality: The library provides a basic set of features for interacting with Storm, and may not cover all the advanced use cases or functionality provided by the Storm ecosystem.
- Dependency on Storm: The library is tightly coupled with the Storm system, and its usefulness is limited to projects that are already using or planning to use Storm.
- Potential Maintenance Issues: The project has not been actively maintained for a while, which could lead to compatibility issues or lack of support for newer versions of Storm.
- Lack of Documentation: The project's documentation is relatively sparse, which may make it challenging for new users to get started or understand the library's capabilities.
Code Examples
from storm import StormClient
# Connect to the Storm cluster
client = StormClient('http://storm-cluster.example.com:8080')
# Submit a new topology
topology = client.submit_topology('my-topology', 'my-topology.py', 'MyTopology')
print(f'Topology submitted: {topology.name}')
# Monitor the topology's status
topology_status = client.get_topology_status(topology.name)
print(f'Topology status: {topology_status.status}')
# Kill the topology
client.kill_topology(topology.name)
print(f'Topology killed: {topology.name}')
This code demonstrates how to use the emre/storm
library to interact with a Storm cluster. It shows how to connect to the cluster, submit a new topology, monitor the topology's status, and kill the topology.
from storm import StormClient
# Connect to the Storm cluster
client = StormClient('http://storm-cluster.example.com:8080')
# List all running topologies
topologies = client.list_topologies()
for topology in topologies:
print(f'Topology: {topology.name} (status: {topology.status})')
# Get detailed information about a specific topology
topology = client.get_topology('my-topology')
print(f'Topology name: {topology.name}')
print(f'Topology status: {topology.status}')
print(f'Topology uptime: {topology.uptime}')
This code demonstrates how to use the emre/storm
library to list all running topologies and retrieve detailed information about a specific topology.
from storm import StormClient
# Connect to the Storm cluster
client = StormClient('http://storm-cluster.example.com:8080')
# Get the cluster's status
cluster_status = client.get_cluster_status()
print(f'Cluster status: {cluster_status.status}')
print(f'Supervisors: {cluster_status.supervisors}')
print(f'Slots: {cluster_status.slots_total} total, {cluster_status.slots_used} used')
This code demonstrates how to use the emre/storm
library to retrieve the current status of the Storm cluster, including the number of supervisors, total slots, and used slots.
Getting Started
To get started with the emre/storm
library, follow these steps:
- Install the library using pip:
pip install emre-storm
- Import the
StormClient
class from thestorm
module:
from storm import StormClient
- Create a
StormClient
instance, passing the URL of your Storm cluster's REST API:
client = Storm
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME

storm is a command line tool to manage your ssh connections.
features
- adding, editing, deleting, listing, searching across your SSHConfig.
- command alias support for your CLI preferences.
- support for custom SSH directives.
- scriptable as a python library.
- user interfaces besides cli. (web ui, wxpython, unity(ubuntu) indicator.)
dependencies
On Debian systems, install header files and a static library for Python (python3.4-dev or python2.7-dev)
On Ubuntu 16.04, you need install libssl-dev and libffi-dev (sudo apt-get install libssl-dev libffi-dev)
installation
$ [sudo] pip install stormssh
or if you like 90s:
$ [sudo] easy_install stormssh
or if you like homebrew:
$ brew install stormssh
or if prefer using a package manager in your distro:
Distro | Package |
---|---|
Archlinux | python-stormssh |
Opensuse | python-stormssh |
Void Linux | python-stormssh |
troubleshooting installation
clang: error: unknown argument: '-mno-fused-madd'
error: command 'cc' failed with exit status 1
See #73. If the issue persists, see also #76 .
usage & documentation
http://stormssh.readthedocs.org/en/master/
screens
web ui
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot