semvec/pypi-packages huggingface dataset:
pyixx 0.1.0
Python bindings for libixx - NüschtOS search index
Requires Python: >=3.13
Keywords: nix, nixos, search, index, nuschtos

# pyixx

Python bindings for [libixx](https://github.com/NuschtOS/ixx) - NüschtOS search index.

## Usage

```python
import pyixx

# Load an index from bytes
with open("index.ixx", "rb") as f:
    index = pyixx.Index.read(f.read())

# Search for options
results = index.search("colorscheme", max_results=10)
for r in results:
    print(f"{r.name} (idx={r.idx}, scope={r.scope_id})")

# Get metadata
meta = index.meta()
print(f"Chunk size: {meta.chunk_size}")
print(f"Scopes: {meta.scopes}")

# Calculate chunk for fetching full option details
chunk, pos = index.get_chunk_for_idx(results[0].idx)
# Fetch meta/{chunk}.json and get item at position `pos`
```
assert-one-assert-per-pytest 20260104040549
CLI tool to assert that each pytest test function contains exactly one assert statement
Requires Python: >=3.10

# assert-one-assert-per-pytest

Assert that each pytest test function contains exactly one assert.

## Why One Assert Per Test?

The "one assert per test" pattern encourages writing focused,
atomic tests that verify a single behavior. Benefits include:

- **Clear failure messages**: When a test fails, you know exactly
  what behavior broke
- **Better test names**: Tests naturally describe specific behaviors
- **Easier maintenance**: Changes to one behavior don't affect
  unrelated assertions
- **Faster debugging**: No need to hunt through multiple assertions

## Installation

```bash
pip install assert-one-assert-per-pytest
```

## Usage

### Command Line

```bash
# Scan specific files
assert-one-assert-per-pytest test_example.py

# Scan directories recursively
assert-one-assert-per-pytest tests/

# Use glob patterns
assert-one-assert-per-pytest "tests/**/test_*.py"

# Exclude patterns
assert-one-assert-per-pytest tests/ --exclude "**/conftest.py"

# Verbose output
assert-one-assert-per-pytest tests/ --verbose

# Fail fast (exit on first finding)
assert-one-assert-per-pytest tests/ --fail-fast

# Warn only (always exit 0)
assert-one-assert-per-pytest tests/ --warn-only
```

### GitHub Actions

```yaml
- uses: 10U-Labs-LLC/assert-one-assert-per-pytest@v1
  with:
    files: "tests/"
    exclude: "**/conftest.py"
    verbose: "true"
```

### As a Python Module

```bash
python -m assert_one_assert_per_pytest tests/
```

## Output Format

Default output shows one finding per line:

```text
path/to/test_file.py:10:test_example:0
path/to/test_file.py:25:test_another:3
```

Format: `file_path:line_number:function_name:assert_count`

## Exit Codes

- `0`: No findings (or `--warn-only` specified)
- `1`: Findings detected
- `2`: Error (missing files, syntax errors, etc.)

## What Counts as an Assert?

This tool counts Python `assert` statements at the immediate level
of test functions. It also counts:

- `pytest.raises()` context managers
- `pytest.warns()` context managers

It does **not** count:

- Assertions in nested functions or classes
- Helper assertions in fixtures or utility functions

## Options

| Option                | Description                                |
| --------------------- | ------------------------------------------ |
| `--exclude PATTERNS`  | Glob patterns to exclude (comma-separated) |
| `--quiet`             | Suppress all output (exit code only)       |
| `--verbose`           | Show detailed processing information       |
| `--fail-fast`         | Exit after first finding                   |
| `--warn-only`         | Always exit 0, even with findings          |

## License

Apache 2.0 - See [LICENSE.txt](LICENSE.txt)
iflow-mcp_michaelayles-mcp-embedded-docs 0.1.0
MCP server for embedded systems documentation
Requires Python: <4.0,>=3.10

# bitwise-mcp

MCP server for embedded developers. Ingests PDF reference manuals (1000+ pages), extracts register definitions, and provides fast semantic search.

## Features

- **PDF Ingestion** - Parses large reference manuals preserving structure
- **Register Table Extraction** - Detects and converts register definitions to structured JSON
- **Hybrid Search** - Combines keyword matching (SQLite FTS5) with semantic similarity (FAISS)
- **Compact Output** - Formats responses to minimize token usage

## Installation

```bash
poetry install

# Add to Claude Code
claude mcp add embedded-docs --command poetry --args "run" "mcp-embedded-docs" "serve" --cwd "<path-to-this-repo>"
```

Restart Claude Code after adding the server.

## Usage

Place PDFs in a `docs/` directory, then in Claude Code:

```
What PDFs are available?
Ingest any files that haven't been ingested yet
What's the base address for FlexCAN0?
```

### Example: Checking Available PDFs

![Listing available PDFs](images/Screenshot%20(10).PNG)

### Example: Searching Documentation

The MCP server automatically queries the indexed documentation when you ask questions:

![Documentation search in action](images/Screenshot%20(11).PNG)

### CLI Usage

Or use CLI directly:

```bash
poetry run mcp-embedded-docs ingest docs/manual.pdf --title "MCU Manual"
poetry run mcp-embedded-docs list  # View indexed documents
```

## MCP Tools

- **search_docs** - Search documentation with hybrid retrieval
- **find_register** - Find specific register definitions
- **list_docs** - List all documentation files with status (indexed + available)
- **ingest_docs** - Ingest documentation files into the search index
- **remove_docs** - Remove documents from the search index by ID

## Tech Stack

Python 3.10+ • PyMuPDF • pdfplumber • sentence-transformers • FAISS • SQLite FTS5

## Performance

**Tested:** S32K144 Reference Manual (2,179 pages, 14MB)
**Results:** 3min indexing, <500ms search, ~500MB memory

## License

[MIT](LICENSE)