semvec/pypi-packages huggingface dataset:
symref 0.1.0
Forward-referencing Python objects by dotted import path with refactor safety
Requires Python: >=3.12
Keywords: celery, django, forward-reference, import-path, refactoring

# symref

Refactor-safe forward references for Python dotted import paths.

Many frameworks (Celery, Django, etc.) accept dotted string paths as configuration. These strings are invisible to refactoring tools and IDEs -- renaming a module silently breaks them. `symref` wraps these paths in a `str` subclass that registers them for later validation, catching broken references in tests instead of production.

## Installation

```bash
pip install symref
```

Requires Python 3.12+. No runtime dependencies.

## Usage

```python
from symref import ref

app.conf.task_routes = {
    ref("myapp.tasks.send_email", kind="celery_task"): {"queue": "email"},
    ref("myapp.tasks.process_order", kind="celery_task"): {"queue": "orders"},
}
```

`ref()` returns a plain `str` -- frameworks see no difference. But each call is recorded in a global registry with its source location.

### Validate in tests

```python
from symref import validate_refs

def test_all_refs_resolve():
    validate_refs()

def test_celery_task_refs():
    validate_refs(kind="celery_task")
```

If any path can't be resolved, `validate_refs()` raises `SymrefError` with all broken references and their source locations:

```
symref.SymrefError: 2 broken reference(s):
  - "myapp.tasks.send_email" (defined in config/celery.py:8)
  - "myapp.tasks.process_order" (defined in config/celery.py:9)
```

## API

### `ref(path, *, kind=None)`

Creates a forward reference. Returns a `str` subclass instance.

- **`path`** -- fully qualified dotted import path (module or attribute)
- **`kind`** *(optional)* -- arbitrary label for filtering validation (e.g. `"celery_task"`, `"django_app"`)

### `validate_refs(kind=None)`

Checks that every registered ref resolves to a real module or attribute. Raises `SymrefError` if any are broken. Pass `kind` to validate only refs with that label.

### `SymrefError`

Raised when one or more refs can't be resolved. The `.broken` attribute contains the list of broken `ref` instances.

## How it works

- `ref()` is a `str` subclass -- zero overhead after construction
- Each `ref()` call appends to `ref._registry` and captures the caller's file/line via `sys._getframe()`
- `validate_refs()` uses `importlib.util.find_spec()` to check modules. When verifying attributes, it imports the parent module via `importlib.import_module()` -- this may execute module-level code as a side effect
- No imports happen at `ref()` construction time -- validation is fully deferred

## Documentation

Build and preview the docs locally:

```bash
uv run mkdocs serve
```

Then open <http://127.0.0.1:8000>.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and PR guidelines.

## License

MIT
maplego 0.1.0
MapleStory character statistics CLI
Requires Python: >=3.10

# maplego

A beautiful CLI tool for looking up MapleStory character stats from [mapleranks.com](https://mapleranks.com).

## Usage

```
maplego <character-name>
```

**Example:**
```
maplego blzaking
```

Character names are case-insensitive.

---

## Installation

### Via uv / uvx (recommended — no Python or Go required)

```sh
uvx maplego blzaking
```

Or install permanently:
```sh
uv tool install maplego
maplego blzaking
```

### Via pip

```sh
pip install maplego
maplego blzaking
```

Supports macOS (Intel & Apple Silicon), Linux (x86_64 & arm64), and Windows (x86_64 & arm64).

> **Note:** maplego uses headless Chrome to fetch character data. Chrome or Chromium must be installed on your system.

---

## Setup & Installation (from source)

### Prerequisites

Install Go (1.21+): https://go.dev/dl/

### Build & Run

**Run directly:**
```sh
go run . blzaking
```

**Build an executable:**
```sh
go build -o maplego .
./maplego blzaking
```

**Install globally via `go install`:**
```sh
go install .
maplego blzaking
```

---

## Dependencies

- [`github.com/chromedp/chromedp`](https://pkg.go.dev/github.com/chromedp/chromedp) — Headless Chrome automation
- [`golang.org/x/net`](https://pkg.go.dev/golang.org/x/net) — HTML parser

---

## Output

```
╔════════════════════════════════════════════════════════════╗
║                         BlzaKing                          ║
║                   Blaze Wizard in Kronos                  ║
╟────────────────────────────────────────────────────────────╢
║                    Lv. 286  (46.911%)                     ║
║                     51.35T / 109.46T                      ║
║ [████████████████████████████████████████████░░░░░░░░░░░] ║
╠════════════════════════════════════════════════════════════╣
║                        RANKINGS                           ║
╟────────────────────────────────────────────────────────────╢
║ Blaze Wizard Rank in Kronos ·················· #35        ║
║ Kronos Rank ···························· #16,312          ║
║ Blaze Wizard Rank in GMS NA ················· #52         ║
║ GMS NA Rank ···························· #23,701          ║
╠════════════════════════════════════════════════════════════╣
...
```
kleo-receipts 0.3.0
Epson receipt printer based task ticket system
Requires Python: >=3.12
Keywords: cli, epson, escpos, receipt-printer, task-management

# kleo-receipts

Named for [KLEO](https://fallout.fandom.com/wiki/KL-E-0), the Assaultron shopkeeper in Fallout 4. Every good merchant needs a receipt printer.

CLI tool for printing task tickets to Epson receipt printers. Fetches tasks from [Things](https://culturedcode.com/things/) and prints them as physical tickets with QR codes for "scan to complete".

## Install

```bash
brew install yesawoo/tap/kleo-receipts
```

Or with pip:

```bash
pip install kleo-receipts
```

## Usage

```bash
# Discover network printers
kleo discover

# Print a single task ticket
kleo print-task "Fix the login bug" --auto

# Preview without printing
kleo print-task "Fix the login bug" --preview

# Server mode: periodically fetch and print tasks from Things
kleo serve --auto

# Custom schedule and tag filter
kleo serve --every "1 day at 09:00" --tag focus --auto
```

## Background Service (Homebrew)

Run kleo as a background launchd service that auto-starts on login:

```bash
# Start the service
brew services start kleo-receipts

# Check status
kleo status

# Stop the service
brew services stop kleo-receipts
```

The service runs `kleo serve` with no arguments — all configuration comes from the config file. Use `kleo config set` to customize before starting:

```bash
# Configure schedule (default: daily at 9:00 AM)
kleo config set schedule.every="1 day at 09:00"

# Configure tag filter (default: 5m)
kleo config set schedule.tag=focus

# Set Things auth token for QR codes
kleo config set things.auth_token=YOUR_TOKEN

# Disable auto-discovery if using a specific printer
kleo config set printer.printer_name=kleo
```

## Configuration

Kleo loads configuration from `~/.config/kleo/config.toml`, environment variables, and CLI flags (highest priority).

```bash
# Show current config with sources
kleo config show

# Set a value
kleo config set schedule.every="2 hours"

# Show config file path
kleo config path
```

Config file format (`~/.config/kleo/config.toml`):

```toml
[schedule]
every = "1 day at 09:00"
tag = "5m"
strategy = "random"

[printer]
auto = true
# printer_name = "kleo"
# host = "192.168.1.100"

[things]
# auth_token = "your-token-here"
```

Priority: CLI flags > config file > environment variables > defaults.

### Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `KLEO_EVERY` | "1 day at 09:00" | Schedule interval |
| `KLEO_TAG` | "5m" | Things tag to filter |
| `KLEO_STRATEGY` | "random" | Task selection strategy |
| `KLEO_PRINTER_NAME` | - | Bonjour printer name |
| `KLEO_PRINTER_HOST` | - | Network printer host |
| `KLEO_THINGS_AUTH_TOKEN` | - | Things URL auth token (required for QR codes) |

## License

MIT
irapy 0.1.1
Impact Range Assessment (IRA): An Interpretable Sensitivity Measure for Regression Modeling
Requires Python: >=3.9
Keywords: regression, model interpretability, sensitivity analysis, machine learning, explainable ai

# irapy

**irapy** is a Python library for implementing single-execution Impact Range Assessment (IRA) and repeated IRA analyses.

## Installation
```bash
pip install irapy
```

## Requirements
### irapy Requirements
irapy depends on the following Python libraries:
- NumPy
- pandas
- joblib

These dependencies are installed automatically when using pip install irapy.

**irapy was developed using Python 3.8 (NumPy 1.24, pandas 1.5) and has been tested on Python environments including Python 3.9 (NumPy 1.26, pandas 2.0) and Python 3.12 (NumPy 2.2, pandas 2.3). Compatibility issues may occur when NumPy and pandas are installed in binary-incompatible combinations.**

## Usage
### Run irapy
You can apply either a single-execution or a repeated IRA to a trained regression model using the corresponding dataset.
```python
from irapy import single_ira, repeated_ira

# single-execution IRA
single_ira_result = single_ira(input_data=X, model=trained_model)
print(single_ira_result)

# repeated IRA
repeated_ira_result = repeated_ira(input_data=X, model=trained_model, n_repeats=50)
print(repeated_ira_result)
```
### Arguments
- `input_data`: predictor pandas DataFrame (i.e., the training predictor matrix, often denoted as X_train; **use the original, unscaled predictors when a scaler is applied**); all predictors must be continuous numeric variables.
- `model`: trained model (object with '.predict()', tested with 'scikit-learn' models) or a callable function
- `scaler`: fitted scaler (**optional**, e.g., 'StandardScaler' / 'MinMaxScaler' in Python)  
- `num_interpol`: number of interpolated points (default: 100)
- `num_background_samples`: number of background observations (default: 200)
- `random_state`: seed for reproducibility  (default: 42)
- `sorted_output`: whether to sort results by IRA value   (default: False)
- `n_repeats` (repeated IRA): number of repeated times  (default: 50)
- `n_jobs` (repeated IRA): number of parallel jobs to run   (default: 1)

## Project Homepage
https://github.com/jyou2025/impact-range-assessment