Weaver
Python project scaffolding tool that generates entity-resolution projects from bundled cookiecutter templates.
Features
- Generate complete entity-resolution projects with a single command
- Multiple project templates optimized for different use cases
- LLM-powered ontology generation for knowledge graphs
- Integrated support for databases, orchestrators, APIs, and search engines
- Docker and testing support out of the box
Installation
pip install weaver
Or install from source:
git clone https://github.com/yourusername/weaver.git
cd weaver
uv sync
Quick Start
Create a new project:
# Create a knowledge graph project
weaver create --template knowledge-graph --name my-project
# Create an advanced search project
weaver create --template advanced-search --name my-search-app
# List available templates
weaver list-templates
CLI Commands
create
Generate a new project from a template.
weaver create --template <template-name> --name <project-name> [options]
Options:
--name,-n- Name of your project--template,-t- Project template to use (see available templates below)--list-deps- Show dependencies without creating project
Knowledge Graph Options:
--ontology/--no-ontology- Enable/disable ontology generation (default: enabled)--llm anthropic|openai- LLM provider for ontology generation (default: anthropic)--db-host- Database host for schema inspection (default: localhost)--db-port- Database port for schema inspection (default: 5432)
Examples:
# Basic knowledge graph project
weaver create --template knowledge-graph --name company-kg
# Knowledge graph with OpenAI for ontology generation
weaver create --template knowledge-graph --name my-kg --llm openai
# Advanced search project
weaver create --template advanced-search --name search-engine
# Show dependencies without creating project
weaver create --template knowledge-graph --name test --list-deps
list-templates
List all available project templates.
weaver list-templates
templates
Show detailed information about available templates.
weaver templates
version
Show Weaver version.
weaver version
Available Templates
knowledge-graph
Build knowledge graphs with Neo4j, web scraping, and LLM-powered ontology generation.
Includes:
- Neo4j graph database
- Web scraping and API data extraction
- Prefect orchestration
- FastAPI endpoints
- NLP processing
- LLM-powered ontology designer
- Schema inspection tools
Best for: Entity resolution, knowledge graphs, relationship mapping
See the full demo: Knowledge Graph Demo Guide
advanced-search
Hybrid sparse and vector search system optimized for complex queries.
Includes:
- PostgreSQL with vector extensions
- Hybrid vector + keyword search
- Prefect orchestration
- FastAPI search endpoints
- Web scraping
Best for: Search engines, recommendation systems, semantic search
news-analyzer
News aggregation and analysis with bias detection.
Includes:
- PostgreSQL database
- NLP processing
- Vector search
- Elasticsearch
- API and web scraping
Best for: Content analysis, news aggregation, sentiment analysis
basic
Simple entity-relationship project for quick prototyping.
Includes:
- SQLite database
- Simple orchestrator
- Basic project structure
Best for: Learning, prototyping, simple data projects
Project Structure
Generated projects follow a consistent architecture:
my-project/
├── src/
│ ├── extractors/ # Data gathering (web, API, files, DB)
│ ├── storage/ # Database integration
│ ├── pipeline/ # Orchestration workflows
│ ├── api/ # REST/search endpoints (optional)
│ ├── ontology/ # Schema inspection & ontology generation (optional)
│ └── config/
│ └── settings.py # Configuration with env variables
├── tests/
├── pyproject.toml
├── README.md
├── .env.example
└── docker-compose.yml # If Docker enabled
Knowledge Graph with Ontology Generation
Weaver's knowledge graph template includes powerful LLM-based ontology generation:
# Create knowledge graph project
weaver create --template knowledge-graph --name company-kg --ontology
cd company-kg
# Set your API key
export ANTHROPIC_API_KEY=sk-ant-your-key-here
# Inspect database schema
python -m src.ontology.schema_inspector 'postgresql://user:pass@localhost/mydb'
# Generate ontology from schema using Claude
python -m src.ontology.llm_designer 'postgresql://user:pass@localhost/mydb' MyOntology
The ontology generator will:
- Analyze your database schema
- Identify entity classes and relationships
- Detect natural keys for entity resolution
- Generate properties and cardinality constraints
- Provide design explanations and improvement suggestions
- Export as JSON for implementation in Neo4j
Complete walkthrough: See DEMO_KNOWLEDGE_GRAPH.md for a full step-by-step demo with sample data.
Configuration
Each template supports different configurations:
- Databases: SQLite, PostgreSQL, Neo4j, MongoDB
- Orchestrators: Prefect, Dagster, Simple
- Search Engines: Vector Hybrid, Elasticsearch, None
- API Frameworks: FastAPI, Flask, Django, None
- Features: Vector search, NLP, web scraping, API scraping, Docker, pytest
Development
# Install dependencies
uv sync
# Run tests
pytest
# Run CLI locally
uv run weaver --help
# Build package
uv build
Requirements
- Python 3.8+
- PostgreSQL (for ontology generation and some templates)
- Neo4j (for knowledge graph template)
- LLM API key (Anthropic or OpenAI) for ontology generation
License
MIT
Contributing
Contributions welcome! Please open an issue or submit a pull request.
Resources
- Knowledge Graph Demo - Complete walkthrough with ontology generation
- Cookiecutter Documentation
- Neo4j Graph Database
- Prefect Workflows
- Anthropic API
Metadata
Release files for data-weaver-cli 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| data_weaver_cli-0.1.10.tar.gz | 42.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| data_weaver_cli-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 103.1 kB
Release files / data_weaver_cli-0.1.10.tar.gz
| Download URL | data_weaver_cli-0.1.10.tar.gz |
|---|---|
| Size | 42.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c1936cd64435d4f51e81a6c46e57bdaeb15509ac672a432b8f3208b9332aabf
|
|
BLAKE2b-256 checksum How to use checksums |
b258c936e24e2a3878722d11b594dc385feeb685a9a9483acf8504f73bec26bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logRelease files / data_weaver_cli-0.1.10-py3-none-any.whl
| Download URL | data_weaver_cli-0.1.10-py3-none-any.whl |
|---|---|
| Size | 60.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0e36c211f18a809a313c3109ba2a66ae3f862437e4c797781aae85ea9682975c
|
|
BLAKE2b-256 checksum How to use checksums |
13652bbb3a8f8e1249f2814e6d3eabdaa16da6a5dba313361db18cb0faa3741f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logSecurity for data-weaver-cli 0.1.10
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for data_weaver_cli-0.1.10.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logA 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.