semvec/pypi-packages huggingface dataset:
hklpy2 0.3.0
2nd generation controls for diffractometers as PseudoPositioners in the Bluesky Framework.
Requires Python: >=3.10
Keywords: bluesky, diffraction, diffractometer

# hklpy2

<!-- Badges -->
[![Release](https://img.shields.io/github/v/release/bluesky/hklpy2)](https://github.com/bluesky/hklpy2/releases)
[![Tag](https://img.shields.io/github/v/tag/bluesky/hklpy2)](https://github.com/bluesky/hklpy2/tags)
[![Docs](https://img.shields.io/badge/docs-blue)](https://blueskyproject.io/hklpy2/)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/bluesky/hklpy2)
[![Conda Package](https://img.shields.io/badge/package-hklpy2-green.svg)](https://anaconda.org/conda-forge/hklpy2)
[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/hklpy2.svg)](https://anaconda.org/conda-forge/hklpy2)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/hklpy2.svg)](https://anaconda.org/conda-forge/hklpy2)
[![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/hklpy2.svg)](https://anaconda.org/conda-forge/hklpy2)
[![PyPi](https://img.shields.io/pypi/v/hklpy2.svg)](https://pypi.python.org/pypi/hklpy2)
[![Coverage Status](https://coveralls.io/repos/github/bluesky/hklpy2/badge.svg?branch=main)](https://coveralls.io/github/bluesky/hklpy2?branch=main)

<!-- text -->
2nd generation controls for diffractometers as ophyd
[PseudoPositioners](https://blueskyproject.io/ophyd/user/how-to/pseudopositioner.html)
in the [Bluesky Framework](https://blueskyproject.io).

<!-- graphic -->
[![FCC ball&stick](/docs/source/_static/fcc-ball-and-stick.jpg)](https://worldrecord.r-krickl.com/en/)

## About

- home: https://blueskyproject.io/hklpy2/
- source: https://github.com/bluesky/hklpy2
- license: [Argonne Open Source License](/LICENSE)
- design: [API](/docs/source/api.rst), [concepts](/docs/source/concepts.rst), [checklist](/docs/source/concepts/planning/_checklist_v2.md)
- **hklpy**, v1: [docs](https://blueskyproject.io/hklpy/), [source](https://github.com/bluesky/hklpy)
- **libhkl**: [docs](https://people.debian.org/~picca/hkl/hkl.html),  [source](https://repo.or.cz/hkl.git)
- acknowledgement:
  "This product includes software produced by UChicago Argonne,
  LLC under Contract No. DE-AC02-06CH11357 with the Department of Energy."
vim_flask_tools 0.0.2
Dump code navigation information for a flask project to use in Vim
Requires Python: >=3.9

This project provides a simple function, `dump_metadata`, which takes a flask app and writes a JSON file with information about the app, including the `template_folder` and `static_folder` settings, and a dictionary of all routes defined in the application. Basic usage:

```python
from flask import Flask
from vim_flask_tools import dump_metadata

app = Flask(__name__)

dump_metadata(app, project_file='.flask_tools.json')
```

By default, the second argument is not necessary, but could be used to customize the config file's name. Ideally, the function should be called only in development mode, when it would be called every time the app is restarted.

This file is indented to be used with [flask_tools.vim](https://codeberg.org/AndrewRadev/flask_tools.vim), though technically, nothing is stopping you from using this metadata with your own custom tool if you'd like.
readQR 0.0.3
Read QR code from image using WeChat QR code reader in OpenCV
Requires Python: >=3.8

# Read QR code

## Description
This is a simple python script that reads a QR code from an image and prints the result.
It uses the WeChat QR code reader API in OpenCV to read the QR code from a CV2 image.

## Requirements
**Important:** This package requires `opencv-contrib-python`, NOT the standard `opencv-python` package.

## Installation

### Option 1: Install from pip (recommended)
```shell
pip install readQR
```

### Option 2: Install from source
```shell
# Clone the repository
git clone https://github.com/CollinsWakholi/QR_Code.git
cd QR_Code

# Uninstall any existing opencv packages to avoid conflicts
pip uninstall opencv-python opencv-contrib-python -y

# Install dependencies (opencv-contrib-python includes all standard OpenCV features)
pip install -r requirements.txt
```

**Note:** If you have `opencv-python` installed, you MUST uninstall it first:
```shell
pip uninstall opencv-python opencv-contrib-python -y
pip install opencv-contrib-python>=4.5.0
```

The WeChat QR code detector is only available in `opencv-contrib-python`, not in the standard `opencv-python` package. Having both installed can cause conflicts.

### Verify Installation
After installation, verify everything is set up correctly:
```shell
python check_installation.py
```

## Usage
```python
from readQR import ReadQR
import readQR.wechat_artefacts as artefacts
import cv2

art_dir = artefacts.__path__[0]
img = cv2.imread('test.png')
reader = ReadQR(artefact_path=art_dir)
show = None # Set to "single" or "continuous" to show the image with the QR code highlighted for single or continuous frames (video)
result = reader.decode(img, show=show)
[print(r) for r in result]
```
##  Sample input and output images

### Input images

<img src="images/single_qr.jpeg" width="400"/> <img src="images/multiple_qr.jpg" width="400"/>

### Output images
<img src="images/single_qr_det.jpg" width="400"/> <img src="images/multiple_qr_det.jpg" width="400"/>

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

## License
None

## Acknowledgemnts
I am gratefully acknowledge [Devin Rippner](mailto:devin.rippner@usda.gov), [ORISE](https://orise.orau.gov/index.html), and the [USDA](https://www.usda.gov/) for their invaluable assistance and funding support in the development of this Repo. This project would not have been possible without their guidance and opportunities provided.
smartcrop 0.4.2
smartcrop implementation in Python
Requires Python: >=3.9
Keywords: image, crop, PIL, Pillow

[![image](https://badge.fury.io/py/smartcrop.png)](https://badge.fury.io/py/smartcrop)

[![Python package](https://github.com/smartcrop/smartcrop.py/actions/workflows/python-package.yml/badge.svg)](https://github.com/smartcrop/smartcrop.py/actions/workflows/python-package.yml)

# smartcrop.py

smartcrop implementation in Python.

smartcrop finds good crops for arbitrary images and crop sizes, based on
Jonas Wagner\'s [smartcrop.js](https://github.com/jwagner/smartcrop.js).

![image](https://i.gyazo.com/c602d20e025e58f5b15180cd9a262814.jpg)
![image](https://i.gyazo.com/5fbc9026202f54b13938de621562ed3d.jpg)
![image](https://i.gyazo.com/88ee22ca9e1dd7e9eba7ea96db084e5e.jpg)

## Requirements

Python requirements are defined in [pyproject.toml](pyproject.toml).


## Installation

``` sh
pip3 install -U pip setuptools wheel # optional but recommended
pip3 install smartcrop
```

or directly from GitHub:

``` sh
pip3 install -U pip setuptools wheel # optional but recommended
pip install -e git+git://github.com/smartcrop/smartcrop.py.git@master#egg=smartcrop
```

## Usage

Use the basic command-line tool:

``` sh
$ smartcroppy --help
usage: smartcroppy [-h] [--debug-file DEBUG_FILE] [--width WIDTH] [--height HEIGHT] INPUT_FILE OUTPUT_FILE

positional arguments:
  INPUT_FILE            Input image file
  OUTPUT_FILE           Output image file

options:
  -h, --help            show this help message and exit
  --debug-file DEBUG_FILE
                        Debugging image file
  --width WIDTH         Crop width
  --height HEIGHT       Crop height
```

Processing an image:

``` sh
smartcroppy --width 300 --height 300 tests/images/business-work-1.jpg output.jpg --debug-file debug.jpg
```

Or use the module it in your code (this is a really basic example, see [examples/](examples/) and [smartcrop/cli.py](smartcrop/cli.py) for inspiration):

``` python
import json
import sys

import smartcrop
from PIL import Image

image = Image.open(sys.argv[1])
cropper = smartcrop.SmartCrop()
result = cropper.crop(image, 100, 100)
print(json.dumps(result, indent=2))
```

## Testing

Install dependencies for testing, then call `pytest`:
``` sh
pip3 install smartcrop[test]
pytest
```

## License

MIT
stream-read-xbrl 0.1.1
Python package to parse Companies House accounts data in a streaming way
Requires Python: <3.14,>=3.9.0

<!-- --8<-- [start:intro] -->
# stream-read-xbrl

[![PyPI package](https://img.shields.io/pypi/v/stream-read-xbrl?label=PyPI%20package&color=%234c1)](https://pypi.org/project/stream-read-xbrl/) [![Test suite](https://img.shields.io/github/actions/workflow/status/uktrade/stream-read-xbrl/tests.yml?label=Test%20suite)](https://github.com/uktrade/stream-read-xbrl/actions/workflows/tests.yml) [![Code coverage](https://img.shields.io/codecov/c/github/uktrade/stream-read-xbrl?label=Code%20coverage)](https://app.codecov.io/gh/uktrade/stream-read-xbrl)


Python package to parse [Companies House accounts data](http://download.companieshouse.gov.uk/en_accountsdata.html) in a streaming way. It converts the zipped XBRL format that Companies House supplies into a single data frame of 38 columns.

On a standard laptop with 8 CPU cores it takes approximately 10 seconds to convert a single day of Companies House accounts data. This does not include the time to transfer the data from Companies House.
<!-- --8<-- [end:intro] -->


<!-- --8<-- [start:features] -->
<!-- --8<-- [end:features] -->

---

Visit the [stream-read-xbrl documentation](https://stream-read-xbrl.docs.trade.gov.uk/) for usage instructions.
assert-polars 0.2
Ergonomic inline validation for Polars DataFrames with pipeable assertions and user-friendly wrappers around native Polars boolean expressions.
Requires Python: >=3.12
Keywords: polars, validation, data-quality, dataframe

# checkpl

Ergonomic inline validation for Polars DataFrames.

## Installation

```bash
pip install checkpl
```

## Quick Start

```python
import polars as pl
from assert_polars import verify, is_uniq

df = pl.DataFrame({
    "id": [1, 2, 3],
    "city": ["NYC", "LA", "NYC"],
    "year": [2020, 2020, 2021]
})

# Validate with Polars expressions
df.pipe(verify(pl.col("year") >= 2020))

# Validate uniqueness
df.pipe(verify(is_uniq("id")))

# Composite key uniqueness
df.pipe(verify(is_uniq("city", "year")))

# Chain validations
(
    df
    .pipe(verify(pl.col("year") >= 2020))
    .pipe(verify(is_uniq("id")))
    .filter(pl.col("city") == "NYC")
)
```

## Features

- **Pipeable**: Integrates with Polars' `.pipe()` for fluent data pipelines
- **Native expressions**: Use any Polars boolean expression directly
- **Predicates**: Built-in checks like `is_uniq()` for common validations
- **Clear errors**: `CheckError` with descriptive messages and failure counts
- **LazyFrame support**: Works with both `DataFrame` and `LazyFrame`

## API

### `verify(check)`

Validate a DataFrame using a Polars expression or predicate.

```python
# With Polars expression
df.pipe(verify(pl.col("price") > 0))

# With predicate
df.pipe(verify(is_uniq("id")))
```

Raises `CheckError` if validation fails, returns DataFrame unchanged if valid.

### `is_uniq(*cols)`

Check that column(s) have no duplicate values.

```python
df.pipe(verify(is_uniq("id")))           # Single column
df.pipe(verify(is_uniq("id", "year")))   # Composite key
```

## Error Handling

```python
from assert_polars import CheckError

try:
    df.pipe(verify(is_uniq("id")))
except CheckError as e:
    print(f"Check '{e.check_name}' failed: {e}")
```

## License

MIT
Scrapy 2.14.1
A high-level Web Crawling and Web Scraping framework
Requires Python: >=3.10

|logo|

.. |logo| image:: https://raw.githubusercontent.com/scrapy/scrapy/master/docs/_static/logo.svg
   :target: https://scrapy.org
   :alt: Scrapy
   :width: 480px

|version| |python_version| |ubuntu| |macos| |windows| |coverage| |conda| |deepwiki|

.. |version| image:: https://img.shields.io/pypi/v/Scrapy.svg
   :target: https://pypi.org/pypi/Scrapy
   :alt: PyPI Version

.. |python_version| image:: https://img.shields.io/pypi/pyversions/Scrapy.svg
   :target: https://pypi.org/pypi/Scrapy
   :alt: Supported Python Versions

.. |ubuntu| image:: https://github.com/scrapy/scrapy/workflows/Ubuntu/badge.svg
   :target: https://github.com/scrapy/scrapy/actions?query=workflow%3AUbuntu
   :alt: Ubuntu

.. |macos| image:: https://github.com/scrapy/scrapy/workflows/macOS/badge.svg
   :target: https://github.com/scrapy/scrapy/actions?query=workflow%3AmacOS
   :alt: macOS

.. |windows| image:: https://github.com/scrapy/scrapy/workflows/Windows/badge.svg
   :target: https://github.com/scrapy/scrapy/actions?query=workflow%3AWindows
   :alt: Windows

.. |coverage| image:: https://img.shields.io/codecov/c/github/scrapy/scrapy/master.svg
   :target: https://codecov.io/github/scrapy/scrapy?branch=master
   :alt: Coverage report

.. |conda| image:: https://anaconda.org/conda-forge/scrapy/badges/version.svg
   :target: https://anaconda.org/conda-forge/scrapy
   :alt: Conda Version

.. |deepwiki| image:: https://deepwiki.com/badge.svg
   :target: https://deepwiki.com/scrapy/scrapy
   :alt: Ask DeepWiki

Scrapy_ is a web scraping framework to extract structured data from websites.
It is cross-platform, and requires Python 3.10+. It is maintained by Zyte_
(formerly Scrapinghub) and `many other contributors`_.

.. _many other contributors: https://github.com/scrapy/scrapy/graphs/contributors
.. _Scrapy: https://scrapy.org/
.. _Zyte: https://www.zyte.com/

Install with:

.. code:: bash

    pip install scrapy

And follow the documentation_ to learn how to use it.

.. _documentation: https://docs.scrapy.org/en/latest/

If you wish to contribute, see Contributing_.

.. _Contributing: https://docs.scrapy.org/en/master/contributing.html
splank 0.1.2
CLI tool for querying Splunk logs. Search indexes, discover fields, and manage search jobs.
Requires Python: >=3.11
Keywords: splunk, cli, logs, search, observability, siem

# Splank

CLI tool for querying Splunk logs.

## Setup

```bash
splank init
```

This creates `~/.config/splank/credentials.toml` with your Splunk credentials.

### Configuration

The credentials file supports multiple profiles:

```toml
default_profile = "prod"

[profiles.prod]
host = "splunk.example.com"
port = 8089
token = "your-token-here"
verify_ssl = true

[profiles.qa]
host = "splunk-qa.example.com"
port = 8089
username = "admin"
password = "changeme"
verify_ssl = true
```

## Usage

```bash
# Search (uses default profile)
splank search 'index=main Level=ERROR' -m 10

# Search using specific profile
splank -p qa search 'index=main Level=ERROR'

# Discover indexes
splank discover 'web*'

# Discover with field info
splank discover 'app-*' --fields -o DISCOVERY.md

# Manage jobs
splank jobs
splank clear
```

## Commands

- `init` - Create credentials file
- `search` - Execute SPL query
- `discover` - Discover available indexes
- `jobs` - List search jobs
- `clear` - Clear my search jobs

## Options

- `-p, --profile` - Splunk profile to use (e.g., 'qa', 'prod')
- `-V, --version` - Show version
subtle-claude-code 0.0.2
Claude Code session log explorer
Requires Python: >=3.10
Keywords: claude, claude-code, developer-tools, session-logs

# Subtle - Claude Code session log explorer

Explore and analyze your Claude Code session logs with ease. Subtle is a local, privacy-focused web app that helps you understand your Claude Code usage patterns.

_👇 Click the image for a short video:_
<a href="./docs/subtle_recording.gif" target="_blank"><img src="./docs/screenshot.png" /></a>

## Table of Contents

- [Privacy](#privacy)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Development](#development)

## Privacy

Subtle runs entirely on your local machine:

* All data processing happens locally
* No telemetry
* Your conversations never leave your computer

## Prerequisites

- Python 3.10 or higher
- Claude Code session logs (stored in `~/.claude/projects/`)

## Installation

```bash
# uv
uv add subtle-claude-code

# Or with pip
pip install subtle-claude-code
```

## Usage

```bash
subtle start
```

Server starts at http://127.0.0.1:8000

For the list of available options, run:

```bash
subtle --help
```

### Custom Port

```bash
subtle start --port 3000
```

Or via environment variable:

```bash
PORT=3000 subtle start
```

## Development

### Setup

```bash
git clone https://github.com/itsderek23/subtle.git
cd subtle
uv sync
```

### Run locally

```bash
uv run subtle start
```

### Test

```bash
uv run pytest
```
sob 2.2.0
A type-enforced framework for serializing and deserializing JSON
Requires Python: ~=3.10
Keywords: serial

# sob

[![test](https://github.com/enorganic/sob/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/enorganic/sob/actions/workflows/test.yml)
[![PyPI version](https://badge.fury.io/py/sob.svg?icon=si%3Apython)](https://badge.fury.io/py/sob)

`sob` is an object serialization/deserialization library intended to facilitate
automated authoring of models for JSON web APIs which are readable and
introspective, and to expedite data validation and integration testing.

- [Documentation](https://sob.enorganic.org)
- [Contributing](https://sob.enorganic.org/contributing)

## Installation

You can install `sob` with pip:

```shell
pip3 install sob
```

## Background Information

This library is developed in concert with, and in support of, the
[oapi](https://enorganic.github.io/oapi/) library, which facilitates
generating client libraries ("SDKs") based on an
[Open API](https://www.openapis.org/) specification. For very niche use cases,
`sob` remains a separate library, but the development roadmap and all feature
requests should be viewed in the context of supporting the definition and
validation of data as described by an [Open API](https://www.openapis.org/)
specification.

When authoring server-side code for your web API, I recommend
[pydantic](https://docs.pydantic.dev/latest/). The `sob` library is designed
primarily to support API *client* data models, and for automated model module
creation based on metadata generated either using
[sob.thesaurus](https://sob.enorganic.org/api/thesaurus) or
[oapi](https://oapi.enorganic.org/).

The name "sob" is not a profane acronym (in this case), it is a portmanteau
of "serial" and "object". Originally, this library was named "serial",
but was renamed with version 1 due to a namespace conflict with
[pyserial](https://pyserial.readthedocs.io/en/latest/).