semvec/pypi-packages huggingface dataset:
streamlit-notify 0.3.1
A Streamlit component that provides toast notifications that persist across reruns
License: MIT
Requires Python: >=3.7

# Streamlit-Notify

A Streamlit component that provides status elements that persist across reruns.

Demo App: https://st-notify.streamlit.app/

![Demo](gif/demo.gif)


## Installation

```bash
pip install streamlit-notify
```

## Documentation

Full documentation is available at [Read the Docs](https://streamlit-notify.readthedocs.io/).

To build the documentation locally:

```bash
cd docs
pip install -r requirements.txt
make html
```

Then open `docs/build/html/index.html` in your browser.

## Supported Status Elements

- `stn.toast`: Toast notifications
- `stn.balloons`: Balloon animations
- `stn.snow`: Snow animations
- `stn.success`: Success messages
- `stn.info`: Info messages
- `stn.error`: Error messages
- `stn.warning`: Warning messages
- `stn.exception`: Exception messages

## How It Works

This package wraps standard Streamlit status element to enable queueing. Notifications are stored in Streamlit's session state and displayed during the next rerun cycle.

## Basic Usage

```python
import streamlit as st
import streamlit_notify as stn

# Display all queued notifications at the beginning of your app. This will also clear the list.
stn.notify()

# Add a notification that will be displayed on the next rerun
if st.button("Show Toast"):
    stn.toast("This is a toast message", icon="✅")
    st.rerun()

if st.button("Show Balloons"):
    stn.balloons()
    st.rerun()

if st.button("Show Success Message"):
    stn.success("Operation successful!")
    st.rerun()
```

#### Priority Support

```python
# Higher priority notifications are displayed first
stn.info("High priority message", priority=10)
stn.info("Low priority message", priority=-5)
```

#### Passing User Data

```python
# Higher priority notifications are displayed first
stn.info("High priority message", data="Hello World")
stn.info("Low priority message", data={'Hello': 'World'})
```

#### Getting all notifications

```python
# returns a dict mapping notification types to list of notifications
notifications = stn.get_notifications()
error_notifications = notifications['error']
toast_notifications = notifications['toast']

# or you can get the notifications directly from the stn widget
error_notifications = stn.error.get_notifications()
```

#### Clearing notifications

```python
# clears all notifications
stn.clear_notifications()

# clears notifications of only a specific type
stn.error.clear_notifications()
```

#### Checking if any notifications need to be shown

```python
# check if any notifications exist across all types
stn.has_notifications()

# check only specific type
stn.error.has_notifications()
```
radiochart 0.5.1
CLI tool to generate Arma 3 radio frequency hierarchy charts
License: MIT
Requires Python: >=3.7

# RadioChart CLI

Generate hierarchical radio frequency charts for your Arma 3 MILSIM unit from a JSON file.

---

## Features

- Input a nested JSON structure representing nets, squads, and fireteams  
- Automatically generates a hierarchical chart image (PNG, SVG, PDF)  
- Color-coded squads and their fireteams for easy visualization  
- Lightweight CLI tool with no external dependencies except Graphviz  
- Ready for future extension to web app or other input formats  

---

## Installation

### 1. Install [Graphviz](https://graphviz.org/download/)

Make sure the Graphviz system binaries are installed and available on your system `PATH`.

- **Windows:** Download and install from https://graphviz.org/download/  
  Check **"Add Graphviz to system PATH"** during installation.

- **macOS:**  
  ```bash
  brew install graphviz
  ```

- **Ubuntu/Debian:** 
    ```bash
    sudo apt install graphviz
    ```

### 2. Install [radiochart](https://pypi.org/project/radiochart/)

```bash
pip install radiochart
```

## Usage

```bash
radiochart --input net_structure.json --output chart.png
```

## Example JSON Input (net_structure.json)

```json
{
  "Company Net (CH 1)": {
    "Platoon Net (CH 2)": {
      "Alpha Squad (CH 3)": {
        "Alpha Squad Fireteam 1 (CH 31)": {},
        "Alpha Squad Fireteam 2 (CH 32)": {}
      },
      "Bravo Squad (CH 4)": {
        "Bravo Squad Fireteam 1 (CH 41)": {},
        "Bravo Squad Fireteam 2 (CH 42)": {}
      },
      "Charlie Squad (CH 5)": {
        "Charlie Squad Fireteam 1 (CH 51)": {},
        "Charlie Squad Fireteam 2 (CH 52)": {}
      },
      "Whiskey Squad (CH 6)": {
        "Whiskey Squad Fireteam 1 (CH 61)": {},
        "Whiskey Squad Fireteam 2 (CH 62)": {}
      }
    },
    "Enablers (CH 7)": {},
    "Aviation (CH 8)": {},
    "Tac Air (CH 9)": {},
    "Medevac (CH 10)": {}
  }
}
```

## Output

This will generate a hierarchical chart image showing the nets, squads, and fireteams, with color-coded squads and their fireteams for clarity.

## Troubleshooting

- If you see errors related to dot or graphviz executable not found, make sure Graphviz is installed and added to your system PATH.
- On Windows, restart your terminal after installing Graphviz.
- Verify installation by running:
```bash
dot -V
```

## Future Enhancements

- Support for YAML or CSV input
- Web application
- Additional styling options

## License

MIT