semvec/pypi-packages huggingface dataset:
slicks 0.1.5
The home baked data pipeline for Western Formula Racing
Requires Python: >=3.11

# Slicks

[![CI](https://github.com/Western-Formula-Racing/wfr-telemetry/actions/workflows/ci.yml/badge.svg)](https://github.com/Western-Formula-Racing/wfr-telemetry/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/Western-Formula-Racing/wfr-telemetry/branch/main/graph/badge.svg)](https://codecov.io/gh/Western-Formula-Racing/wfr-telemetry)
[![interrogate](https://raw.githubusercontent.com/Western-Formula-Racing/wfr-telemetry/main/interrogate_badge.svg)](https://interrogate.readthedocs.io/)

The home baked data pipeline for **Western Formula Racing**.

This package handles:
1. **Data Ingestion:** Reliable fetching from InfluxDB 3.0.
2. **Movement Detection:** Smart filtering of "Moving" vs "Idle" car states.
3. **Sensor Discovery:** Tools to explore available sensors on any given race day.

## Documentation

- **[Full Documentation](https://western-formula-racing.github.io/wfr-telemetry/)**
- **[Getting Started](docs/getting_started.md):** Installation and your first script.
- **[API Reference](docs/api_reference.md):** Detailed function documentation.
- **[Advanced Usage](docs/advanced_usage.md):** Configuration, Discovery, and Bulk Exports.

## Installation

Now available on PyPI!

```bash
pip install slicks
```

## Quick Example

```python
import slicks
from datetime import datetime

# 1. Connect (Auto-configured or custom)
slicks.connect_influxdb3(db="WFR25")

# 2. Fetch Data (One-liner)
df = slicks.fetch_telemetry(
    datetime(2025, 9, 28), 
    datetime(2025, 9, 30), 
    "INV_Motor_Speed"
)

print(df.describe())
```

See [Getting Started](docs/getting_started.md) for more details.
sql-artifex 0.61.0
Typed Python SQLite/PostgreSQL query builder.
Requires Python: >=3.14

# Artifex

![](https://img.shields.io/badge/License-ApacheV2-blue.svg)
![](https://img.shields.io/badge/code%20style-black-000000.svg)
![](https://img.shields.io/badge/coverage-100%25-success)

Typed Python SQLite/PostgreSQL query builder.

This is in early development and may see massive refactor.

## Usage

Use `artifex` functions `delete, insert_into, select, update` to build a query. Then
call `prepare()` to get a tuple comprising a list of parameters used in the query and
the query itself. Anywhere a parameter was used in the query will be replaced with `?`,
this way the database can handle param binding.

### Black Formatted Example

```python
from sql_artifex import Column, Table, and_, join, select


class User(Table):
    id = Column()
    first = Column()
    last = Column()


class Note(Table):
    id = Column()
    user_id = Column()
    value = Column()


sql, params = (
    select(
        User.id,
        User.first,
        User.last,
        Note.id.as_("note_id"),
        Note.value,
    )
    .from_(
        User,
        join(Note).on(Note.user_id == User.id),
    )
    .where(
        User.id == 1,
        and_(Note.value == "test_note"),
    )
    .order_by(
        Note.value.desc(),
    )
).prepare()

assert params == [1, "test_note"]
expected = " ".join(
    [
        "SELECT",
        '"user".id,',
        '"user".first,',
        '"user".last,',
        '"note".id AS note_id,',
        '"note".value',
        'FROM "user"',
        'JOIN "note" ON "note".user_id = "user".id',
        'WHERE "user".id = ? AND "note".value = ?',
        'ORDER BY "note".value DESC',
    ]
)
assert sql == expected
```

### Create Table

```python
from sql_artifex import Column, Table
from sql_artifex.types import TEXT, TIMESTAMP, UUID


class User(Table):
    id = Column(UUID(), primary=True)
    email = Column(TEXT(), unique=True, index=True)
    first = Column(TEXT())
    last = Column(TEXT())
    verified_at = Column(TIMESTAMP(with_time_zone=True))


User.table_set_unique_together(User.fist, User.last)
print(User.table_get_create())
```

Prints:

```sql
CREATE TABLE IF NOT EXISTS "user" (
  "id" UUID PRIMARY KEY,
  "email" TEXT NOT NULL UNIQUE,
  "first" TEXT NOT NULL,
  "last" TEXT NOT NULL,
  "verified_at" TIMESTAMP WITH TIME ZONE NOT NULL
);
CREATE INDEX email_idx ON "user" (email);
```

## Support the Developer

<a href="https://www.buymeacoffee.com/mburkard" target="_blank">
  <img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy Me a Coffee"
       width="217"
       height="60"/>
</a>
nixl 0.10.0
NIXL Python API meta package for CUDA variants
Requires Python: >=3.10

# nixl

This is a *meta package* that declares optional dependencies on CUDA variants.

Install one of:
```bash
pip install "nixl[cu12]"   # for CUDA 12
pip install "nixl[cu13]"   # for CUDA 13
```

If both are installed, the higher version will be used.
photoclean 0.1.1
A smart tool to clean duplicate and blurry images
Requires Python: >=3.6

# PhotoClean

智能图片清理工具 - 快速扫描并清理相似或模糊的图片。
![alt text](image.png)
## 功能特点

- **Web 界面**: 简单易用的浏览器界面
- **相似图片查找**: 使用感知哈希算法 (pHash) 查找相似图片
- **模糊图片检测**: 基于拉普拉斯方差检测模糊图片
- **安全删除**: 文件被移动到垃圾桶文件夹 (`_trash_bin`)，由用户决定去留

## 安装

```bash
pip install photoclean
```

## 使用方法

安装完成后，在终端运行：

```bash
photoclean
```

浏览器将自动打开 `http://127.0.0.1:5000`。

## 开发

1. 克隆仓库
2. 安装依赖: `pip install -r requirements.txt`
3. 运行: `python -m photoclean.main`

## License

MIT