semvec/pypi-packages huggingface dataset:
hac-client-cli 0.3.0
CLI for SAP Commerce HAC (Hybris Administration Console)
Requires Python: >=3.12

# HAC Client CLI

Command-line interface for the SAP Commerce HAC (Hybris Administration Console).

## Features

- **Groovy** — execute scripts inline or from files, with optional commit mode
- **FlexibleSearch** — run queries with CSV, JSON, or table output
- **Impex** — import data with configurable validation
- **System updates** — list patches, run updates, follow logs
- **Multi-environment** — manage multiple HAC instances and endpoints
- **Secure sessions** — passwords never stored; token-based session cache

---

## Installation

### Native executable (recommended)

Download the latest release for your platform from [GitHub Releases](https://github.com/SapCommerceTools/hac-client-cli/releases/latest).

| Platform | Download |
|----------|----------|
| Linux x86_64 | [`hac-linux-x86_64`](https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-linux-x86_64) |
| macOS Apple Silicon | [`hac-macos-arm64`](https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-macos-arm64) |
| macOS Intel | [`hac-macos-x86_64`](https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-macos-x86_64) |
| Windows x86_64 | [`hac-windows-x86_64.exe`](https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-windows-x86_64.exe) |

**Linux / macOS:**

```bash
curl -Lo hac https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-linux-x86_64
chmod +x hac
sudo mv hac /usr/local/bin/
```

**Windows (PowerShell):**

```powershell
Invoke-WebRequest -Uri "https://github.com/SapCommerceTools/hac-client-cli/releases/latest/download/hac-windows-x86_64.exe" -OutFile "$env:LOCALAPPDATA\hac.exe"
```

### pip (requires Python 3.12+)

```bash
pip install hac-client-cli
```

---

## Quick Start

```bash
# 1. Add an environment
hac env add local
hac endpoint add local hac --url https://localhost:9002 --ignore-ssl --set-default

# 2. Authenticate
echo "nimda" | hac session start local --username admin

# 3. Use it
hac groovy "return 'Hello World'"
hac flexsearch "SELECT {pk}, {code} FROM {Product}" --max-count 10
hac impex -f data.impex
```

---

## Security

- Passwords are **never** stored in configuration files
- Authentication requires explicit `hac session start`
- Passwords cleared from memory after use
- Supports env vars, stdin, and interactive prompt for credentials

## Architecture

This CLI is a thin adapter over [`hac-client-core`](https://github.com/SapCommerceTools/hac-client-core):

- Maps command-line arguments to core library calls
- Handles configuration loading and output formatting
- No business logic — safe for automation and scripting

## Documentation

Full documentation: [sapcommercetools.github.io/hac-client-cli](https://sapcommercetools.github.io/hac-client-cli/)

## License

[MIT](https://github.com/SapCommerceTools/hac-client-cli/blob/main/LICENSE)
nanobot-switch 0.1.0
Standalone one-click provider switch and health checker for nanobot
Requires Python: >=3.11

# nanobot-switch

一个独立于 `nanobot` 仓库的切换工具，提供：

- 一键切换 Provider / Model / BaseURL / API Key
- Profile 保存与复用
- 自动健康检查（后台守护）
- 失败阈值触发自动切换到 fallback profile
- 类似 cc-switch 的可视化交互菜单

## 安装

```bash
cd /Users/erictao/temp/nanobot-switch
uv tool install --editable .
```

## 快速开始

```bash
# 打开可视化菜单
nanobot-switch menu

# 命令式一键切换
nanobot-switch apply \
  --provider vllm \
  --model claude-sonnet-4-5-20250929 \
  --api-base https://example.com/v1 \
  --api-key sk-xxx \
  --save-as main

# 健康检查一次
nanobot-switch health once

# 启动自动健康检查（连续失败 3 次后切到 fallback）
nanobot-switch health start \
  --interval 60 \
  --fail-threshold 3 \
  --fallback-profile main
```

## 文件

工具使用以下文件：

- `~/.nanobot/config.json`
- `~/.nanobot/switch_profiles.json`
- `~/.nanobot/healthcheck_state.json`
- `~/.nanobot/healthcheck_runtime.json`
- `~/.nanobot/healthcheck.log`

## CI/CD 自动化

仓库已内置 3 个工作流：

- `.github/workflows/ci.yml`
  - `push` / `pull_request` 到 `main` 时自动执行测试与打包校验
- `.github/workflows/release.yml`
  - `push` 标签 `v*`（如 `v0.1.1`）时自动构建并发布 GitHub Release，上传 wheel/sdist
- `.github/workflows/pypi-publish.yml`
  - 当 GitHub Release `published` 时自动发布到 PyPI

## PyPI 发布配置

支持两种方式，推荐第 1 种（更安全）：

1. Trusted Publishing（推荐）
   - 在 PyPI 项目里配置 GitHub OIDC Publisher：
     - Owner: `sperictao`
     - Repository: `nanobot-switch`
     - Workflow: `pypi-publish.yml`
     - Environment: `pypi`
2. API Token（兼容方式）
   - 在 GitHub 仓库设置 Secret：`PYPI_API_TOKEN`
   - 可用命令：

```bash
gh secret set PYPI_API_TOKEN --repo sperictao/nanobot-switch
```
klondike 0.3.0
Klondike is a suite of database connectors, powered by Polars
Requires Python: ~=3.12.0
Keywords: bigquery, data engineering, data processing, elt, polars, redshift, snowflake

# Klondike

![Klondike Logo](https://raw.githubusercontent.com/IanRFerguson/klondike/main/assets/logo.png)

Klondike offers a lightweight, unified API to read and write data to and from various database and data warehouse types using Polars DataFrames.

## Installation

### Installing Klondike
Install at the command line

```
pip install klondike
```

### Installing Rust
Since Polars leverages Rust speedups, you need to have Rust installed in your environment as well. See the Rust installation guide [here](https://www.rust-lang.org/tools/install).


## Usage

In this demo we'll connect to Google BigQuery, read data, transform it, and write it back to the data warehouse.

First, connect to the BigQuery warehouse by supplying the `BigQueryConnector()` object with the relative path to your service account credentials.

```
from klondike import BigQueryConnector

# Connect Klondike to Google BigQuery
bq = BigQueryConnector(
    app_creds="dev/nba-player-service.json"
)
```

Next, supply the object with a SQL query in the `read_dataframe()` function to redner a `DataFrame` object:

```
# Write some valid SQL
sql = """
SELECT
    *
FROM nba_dbt.cln_player__averages
ORDER BY avg_points DESC
"""


# Pull BigQuery data into a Polars DataFrame
nyk = bq.read_dataframe(sql=sql)
```

Now that your data is pulled into a local instance, you can clean and transform it using standard Polars functionality - [see the docs](https://docs.pola.rs/py-polars/html/reference/dataframe/index.html) for more information.

```
# Perform some transformations
key_metrics = [
    "avg_offensive_rating",
    "avg_defensive_rating",
    "avg_effective_field_goal_percentage"
]

summary_stats = nyk[key_metrics].describe()
```

Finally, push your transformed data back to the BigQuery warehouse using the `write_dataframe()` function:

```
# Write back to BigQuery
bq.write_dataframe(
    df=summary_stats,
    table_name="nba_dbt.summary_statistics",
    if_exists="truncate"
)
```
pyinfra_incus_connector 0.0.2
A pyinfra connector for incus.
Requires Python: <4,>=3.12

# pyinfrincus

A small package linking [pyinfra](https://pyinfra.com) and [incus](https://linuxcontainers.org/incus/)

### The `incus` connector

The most useful part of this package is the connector. It is both an `inventory` and `executing` connectorl. Once you have added this package to your pyproject or requirements.txt, you may do things like `pyinfra @incus/my-instance-name-1 fact server.LinuxName` (you may also omit the container name to run against ALL containers).

For now, the available options are just as follows.

| connector string | meaning            |
| ---------------- | ------------------ |
| `@incus`         | All instances      |
| `@incus/NAME`    | Run against `NAME` |