semvec/pypi-packages huggingface dataset:
rich_interactive 0.6.0
Extends the Rich library with interactive layouts and tables, allowing seamless navigation and interaction via keyboard shortcuts
License: MIT
Requires Python: <4.0,>=3.11

[![PyPI version](https://badge.fury.io/py/rich_interactive.svg)](https://badge.fury.io/py/rich_interactive)

# Rich Interactive
Extends the [Rich](https://github.com/Textualize/rich) python library with interactive layouts and tables, allowing seamless navigation and interaction via keyboard shortcuts

## Installation

```bash
pip install rich_interactive
```

or using poetry

```bash
poetry add rich_interactive
```
## Interactive Tables

You can create interactive tables that can be easily navigated, and you can switch the selection to any of the rows.

```python
from rich import print
from rich.style import Style
from rich_interactive.interactive_table import InteractiveTable as Table

table = Table(
    selected_row=2,
    rotate_selection=True,
    selected_row_style=Style(bgcolor="red"),
)
table.add_column("#")
table.add_column("Column 1")

for row in range(3):
    table.add_row(f"{row}", f"Row {row}")

print("Initial table")
print(table)

table.move_selection_down()

print("Table after moving selection down")
print(table)
```

<!-- ![](./docs/images/interactive_table.png) -->
![](https://raw.githubusercontent.com/noisy/rich_interactive/main/docs/images/interactive_table.png)

## Interactive Layouts

You can create interactive layouts that can be easily navigated, and you can switch the selection to any of the children.

```python
from rich.console import Console
from rich.text import Text

from rich_interactive.interactive_panel import InteractivePanel as Panel
from rich_interactive.interactive_layout import InteractiveLayout as Layout


console = Console(width=60, height=15)

layout = Layout()
layout.split(
    Layout(name="header", size=5),
    Layout(name="main", size=5),
    Layout(name="footer", size=5),
)

for child in layout.children:
    child.update(Panel(Text(child.name, style="yellow")))

print("Initial layout:")
print(layout)

layout.switch_selection()

print("After switching selection:")
print(layout)

```

<!-- ![](./docs/images/interactive_layout.png) -->
![](https://raw.githubusercontent.com/noisy/rich_interactive/main/docs/images/interactive_layout.png)


# Future plans

My personal goal, is to prepare a good quality package, which would enable easy navigation with keyboard, like this:

<!-- ![](./docs/images/future_plans_live_demo_poc.gif) -->
![](https://raw.githubusercontent.com/noisy/rich_interactive/main/docs/images/future_plans_live_demo_poc.gif)

(Disclaimer: functionality shown in this gif is still in PoC stage, and it is not production ready yet)
please-do 0.1.0
A Small CLI tool for running custom cli commands with shortcuts. Pythonic version of npm scripts
License: MIT
Requires Python: <4.0,>=3.8

# Python CLI Tool

A command-line interface (CLI) tool written in Python for executing commands defined in a `plz.yml` file.

## Features

- Execute commands defined in a `plz.yml` file
- Customizable command names and corresponding shell commands
- Utilizes the `rich` library for enhanced console output
- Built with `typer` for easy and intuitive CLI creation

## Installation

1. Install package:

```
pip install please-do
```

## Usage

1. Create a `plz.yml` file in the current working directory with the following format:

```yaml
commands:
  - name: dev
    command: uvicorn main:app --reload # Sample for fastapi project
  - name: test
    command: pytest tests/
```

2. Run the CLI tool with the desired command name:

```
please run dev
```

As an alias you can use `plz` command
```
plz run dev
```

This will execute the corresponding command defined in the `plz.yml` file.

## Configuration

The `plz.yml` file should be placed in the current working directory and follow this structure:

```yaml
commands:
  - name: command_name
    command: shell_command
```

- `command_name`: The name you want to use to invoke the command
- `shell_command`: The actual shell command to be executed

You can define multiple commands in the `plz.yml` file.

## Error Handling

- If the `plz.yml` file is not found, an error message will be displayed, and the program will exit with a non-zero status code.
- If a command is not found in the `plz.yml` file, an error message will be displayed, and the program will exit with a non-zero status code.
- If a command fails to execute due to a `FileNotFoundError`, an error message will be displayed, and the program will exit with a non-zero status code.

## Dependencies

- Python 3.6+
- `typer`
- `rich`
- `pyyaml`

## Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

## License

This project is licensed under the [MIT License](LICENSE).
pyrtlsdrlib 0.0.3
librtlsdr installer for use with pyrtlsdr
License: MIT

pyrtlsdrlib
===========

Description
-----------

A helper for `pyrtlsdr`_ that includes pre-built binaries of `librtlsdr`_
(which pyrtlsdr depends on).

Contains libraries build for the following systems:

- Ubuntu Linux
- Mac OSX (Intel)
- Mac OSX (M1 / arm64)
- Windows (32 and 64 bit)


Installation
------------

Install directly with ``pip``

.. code:: bash

    pip install pyrtlsdrlib


Or as an "extra" dependency of pyrtlsdr

.. code:: bash

    pip install pyrtlsdr[lib]



.. _librtlsdr: https://github.com/librtlsdr/librtlsdr
.. _pyrtlsdr: https://github.com/pyrtlsdr/pyrtlsdr