semvec/pypi-packages huggingface dataset:
healthcli 2.1.0
Simple local dead man's switch for cron jobs and scheduled tasks
Requires Python: >=3.8

# health-cli
Run some checks periodically locally on your machine. Provide an interface for the status of the checks. Status inteface checks timestamps and is moderately robust.

This is AI-generated and unreviewed code... for now. Also very young so liabe to change

## Motivation
Why is there nothing that does this already? I don't want to use docker or some onine services

## Alternatives and prior work
There are tools like monit and sentry. `cron` sends emails when things fail.

## Installation
pipx install healthcli

## Usage
Set up a job
`hccli add --every 1m curl website`

In cron job or systemd job: `hccli run`

To check run: `hccli`. I have this run in a [plasma-applet-commandoutput](https://github.com/Zren/plasma-applet-commandoutput) KDE widget which I set up with my tool kde-panel.

If you have a systemd timer  you can use `hccli add --every 25h --sdtimer backup-home` to ensure that the timer runs every 25h.
diamondpack 1.5.0
A simple packager for creating distributable python applications
Keywords: package, distribute

<img src="https://github.com/alagyn/DiamondPack/blob/d847471f6e84bff69195800990b87b2d95a72342/docs/diamondPack.png?raw=true" width="256" align="right"/>

# DiamondPack
A simple packager for creating distributable Python applications

---

Used to create distributable applications in the simplest way possible.
Enables Python applications to easily run on systems that don't have Python installed, and without the need for users to know what Python even is.

## Features:
- Build Windows and Linux applications
- Minimal configuration needed
- Fast execution, no waiting for libraries to unzip

## Install:

Default install:
`pip install diamondpack`

If you don't already have a version of CMake installed, in order to use the "app" mode,
install the optional cmake package  
`pip install diamondpack[app]`
or
`pip install cmake`

## Usage:

### 1. Configure DiamondPack via your `pyproject.toml`

```toml
[project.scripts]
# Each script named here will generate a new executable
myScript = "examplePackage.myScript:main"

[project.gui-scripts]
# Each script named here will also generate a new executable
# Only makes a difference on Windows.
myGUI = "examplePackage.myGUI:main"

[tool.diamondpack]
mode = "app"

# Prevents specific installed packages from being reduced to only .pyc files
# Some packages complaing about this. This is a list of the MODULE's name, same as it is imported as
# NOT the pip package name
py-cache-blacklist = ["opencv"]

# Prevents specific stdlib packages from being copied to reduce package size
stdlib-blacklist = ["email", "turtle", "unittest"]

# Flag to copy required tk/tcl files
include-tk = false

# Additional data files can be copied into your distribution like this
# File globs are copied to the specified path in the dist.
# You can also just use MANIFEST.in to store data files in your wheel.
data-globs = [
    ["myData/img*.jpg", "destinationDir"],
    ["myData/data.dat", "data"]
]

# Enable some additional logging for the "app" mode
debug-logs = true

[tool.diamondpack.icons]
# Specify the .ico file for your execs named above
# Only works on Windows
myGUI = "path/myGUI.ico"
```

Mode can be `app` or `script`:
- `app` will generate a compiled executable (requires CMake and a compiler installed)
- `script` will generate a bash (Linux) or batch (Windows) script


### 2. Build your application into a wheel
`python -m build --wheel`  
Check out the `test` folder for an example package and its `pyproject.toml` configuration

### 3. Run diamondpack
`python -m diamondpack` or, with a venv activated, simply run `diamondpack`  

### 4. Profit
Your package will be placed in `dist/[package-name]-[version]/`

## FAQ

**Q) Do DiamondPack applications work cross-platform?**  
A) While DiamondPack itself is cross-platform, packaged applications are only usable in the OS they were packaged on

**Q) What is that cool snake doin in that there box?**  
A) His name is Henry and he protects your packages
ask-shell 0.3.2
CLIs with prompts, shell runs, and testable flows
Requires Python: >=3.13

# ask-shell

[![PyPI](https://img.shields.io/pypi/v/ask-shell)](https://pypi.org/project/ask-shell/)
[![GitHub](https://img.shields.io/github/license/EspenAlbert/ask-shell)](https://github.com/EspenAlbert/ask-shell)
[![codecov](https://codecov.io/gh/EspenAlbert/ask-shell/graph/badge.svg)](https://codecov.io/gh/EspenAlbert/ask-shell)
[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://espenalbert.github.io/ask-shell/)

Python library for CLIs that use interactive prompts, subprocess runs with [Rich](https://rich.readthedocs.io/) output, and test helpers so the same flows run in tests without a TTY.

- **Install**: `uv add ask-shell` or `pip install ask-shell` (Python 3.13+)
- **Docs**: [GitHub Pages](https://espenalbert.github.io/ask-shell/)

## What it provides

- **ask**: Prompts (confirm, text, select list/dict, single and multiple choice) built on [questionary](https://questionary.readthedocs.io/), with Rich styling
- **shell**: Run shell commands via `run`, `run_and_wait`, and `run_pool`; prefixed live output, optional log dirs, retries, and interrupt handling
- **console**: Rich console and progress utilities; `configure_logging(app)` wires a [Typer](https://typer.tiangolo.com/) app to Rich logging (handler, command decorator, optional secret hiding)
- **shell_events**: Callbacks for run lifecycle (before/after, stdout/stderr) for custom handling
- **AskShellSettings**: Paths and options (e.g. run log directory); plug into your config or env

## Quick example

```python
from ask_shell import ask, shell

if ask.confirm("Run the script?", default=True):
    name = ask.text("Name:", default="world")
    shell.run_and_wait(f"echo Hello, {name}")
```

## Testing

Use `question_patcher` to feed fixed responses to prompts, or `raise_on_question` to fail fast when a prompt is hit. Both are context managers; see the [ask API docs](https://espenalbert.github.io/ask-shell/ask/) for details.

```python
from ask_shell import ask
from ask_shell.ask import question_patcher

with question_patcher(responses=["y", "myname"]):
    assert ask.confirm("Run?")
    assert ask.text("Name:") == "myname"
```

## License

MIT. See [LICENSE](LICENSE).