Skip to main content

storage

Version: 1.3.0

Table of Contents

wexample-storage gives an application the places it keeps contents in, behind one interface per kind of content: files written and read back by key, vectors searched by similarity, graphs queried in their own language. Each storage has a name and the capabilities it accepts (files, vectors, graph), and a registry picks the storage for a capability — so the code needing a place to write never chooses the backend itself.

Every storage is a wexample-remote remote, so it can be checked like any other service. Backends: a local directory, PostgreSQL with pgvector (the postgres extra), Neo4j (the neo4j extra).

Installation

pip install wexample-storage

Requires Python >=3.10.

Tests

This project uses pytest for testing and pytest-cov for code coverage analysis.

Installation

First, install the required testing dependencies:

.venv/bin/python -m pip install pytest pytest-cov

Basic Usage

Run all tests with coverage:

.venv/bin/python -m pytest --cov --cov-report=html

Common Commands

# Run tests with coverage for a specific module
.venv/bin/python -m pytest --cov=your_module

# Show which lines are not covered
.venv/bin/python -m pytest --cov=your_module --cov-report=term-missing

# Generate an HTML coverage report
.venv/bin/python -m pytest --cov=your_module --cov-report=html

# Combine terminal and HTML reports
.venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html

# Run specific test file with coverage
.venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing

Viewing HTML Reports

After generating an HTML report, open htmlcov/index.html in your browser to view detailed line-by-line coverage information.

Coverage Threshold

To enforce a minimum coverage percentage:

.venv/bin/python -m pytest --cov=your_module --cov-fail-under=80

This will cause the test suite to fail if coverage drops below 80%.

Known Limitations & Roadmap

Current limitations and planned features are tracked in the GitHub issues.

See the project roadmap for upcoming features and improvements.

Status & Compatibility

Maturity: Production-ready

Python Support: >=3.10

OS Support: Linux, macOS, Windows

Status: Actively maintained

Metadata

Release files for wexample-storage 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wexample-storage 1.3.0
File Size Uploaded Provenance
wexample_storage-1.3.0.tar.gz 12.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wexample-storage 1.3.0
File Interpreter ABI Platform
wexample_storage-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.8 kB

Release files / wexample_storage-1.3.0.tar.gz

Download URL wexample_storage-1.3.0.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
27dc691d31671f278cb2aef54ade1a25c15f7b9a6c14a97bebf3878e69caf41e
BLAKE2b-256 checksum
How to use checksums
62c0fc12417adee167bba420a3dc7bec13e38b5fbfbcb6845c6e354f9a91db8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64

Release files / wexample_storage-1.3.0-py3-none-any.whl

Download URL wexample_storage-1.3.0-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a928bd58140a39580b218cb189fe3e8acdc762bac192f3857e338d51ad6c9d7
BLAKE2b-256 checksum
How to use checksums
a4f2e46b75a0f7ab0a4845033890f8789e39ae9dd244ceddf4bc3968e26ba3d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64

Security for wexample-storage 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page