Skip to main content

RNIT Vanna - Enhanced SQL Generation (v2.0)

Python 3.7+ License: MIT

RNIT Vanna is an enhanced wrapper around the official Vanna library with custom utilities and smart dependency management.

🚀 New in v2.0: Choose Your Dependencies!

Minimal Installation (50 packages only!)

pip install rnit-vanna

✅ Core Vanna functionality ✅ Basic SQL generation ✅ All RNIT utilities ❌ No heavy ML dependencies unless you need them

Install What You Need

Use Case Installation Packages Added
OpenAI GPT pip install rnit-vanna[openai] +60 packages
Anthropic Claude pip install rnit-vanna[anthropic] +40 packages
Local LLMs pip install rnit-vanna[local] +30 packages
Just ChromaDB pip install rnit-vanna[chromadb] +50 packages
PostgreSQL pip install rnit-vanna[postgres] +5 packages
MySQL pip install rnit-vanna[mysql] +3 packages
Everything pip install rnit-vanna[all] +110 packages

💡 Why This Matters

Before (v1.0): Everyone downloads 110+ packages even if they only need basic features Now (v2.0): Download only what you need!

📦 Quick Start

For OpenAI Users

pip install rnit-vanna[openai]
from rnit_vanna import RNITVanna

vn = RNITVanna()  # Auto-detects OPENAI_API_KEY from environment
vn.connect_to_sqlite('my_database.sqlite')
sql = vn.generate_sql("Show all users")

For Anthropic Users

pip install rnit-vanna[anthropic]
from rnit_vanna import RNITVanna

vn = RNITVanna(config={'api_key': 'your-anthropic-key'})

For Local LLM Users (No API Key!)

pip install rnit-vanna[local]
from rnit_vanna import RNITVanna

vn = RNITVanna(config={'model': 'llama2'})

🎯 Enhanced Features

RNITVanna Class

  • Auto-detects API keys from environment
  • Optimized defaults for SQL generation
  • Batch training support
  • Training history tracking

VannaQuickStart

from rnit_vanna import VannaQuickStart

# Auto-setup and train from SQLite
vn = VannaQuickStart.for_sqlite('database.sqlite', auto_train=True)

# Create a sample project
VannaQuickStart.create_sample_project('my_sql_assistant')

DatabaseInspector

from rnit_vanna import DatabaseInspector

inspector = DatabaseInspector()
db_info = inspector.inspect_sqlite('database.sqlite')
print(inspector.generate_summary(db_info))

TrainingGenerator

from rnit_vanna import TrainingGenerator

generator = TrainingGenerator()
queries = generator.generate_basic_queries(table_name, columns)

🔄 Upgrading from v1.0

If you're upgrading from v1.0:

# Uninstall old version
pip uninstall rnit-vanna

# Install new version with the features you need
pip install rnit-vanna[openai]  # or [anthropic], [local], etc.

📊 Dependency Comparison

Installation v1.0 v2.0 (minimal) v2.0 [openai] v2.0 [all]
Packages 110+ 50 110 110+
Size ~200MB ~50MB ~150MB ~200MB
ChromaDB ✅ Always ❌ Optional ✅ Included ✅ Included
OpenAI ✅ Always ❌ Optional ✅ Included ✅ Included
Anthropic ❌ Never ❌ Optional ❌ Not included ✅ Included

🛠️ Development

# Clone the repo
git clone https://github.com/rnit/rnit-vanna
cd rnit-vanna

# Install in development mode with dev tools
pip install -e .[dev]

# Run tests
pytest

📝 Examples

Basic Usage (Works with minimal install!)

from rnit_vanna import DatabaseInspector, TrainingGenerator

# These utilities work even without OpenAI/ChromaDB!
inspector = DatabaseInspector()
db_info = inspector.inspect_sqlite('my_db.sqlite')

generator = TrainingGenerator()
queries = generator.generate_basic_queries('users', db_info['tables']['users']['columns'])
from rnit_vanna import RNITVanna, VannaQuickStart

vn = VannaQuickStart.for_sqlite('database.sqlite', auto_train=True)
sql = vn.generate_sql("Complex question about your data")
df = vn.run_sql(sql)

🤝 Contributing

Contributions welcome! Please feel free to submit a Pull Request.

📄 License

MIT License - see LICENSE file

🙏 Acknowledgments

Built on top of the excellent Vanna.AI library.


Note: This is a wrapper that enhances Vanna. For core Vanna documentation, visit vanna.ai

Metadata

Release files for rnit-vanna 2.0.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 rnit-vanna 2.0.0
File Size Uploaded
rnit_vanna-2.0.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rnit-vanna 2.0.0
File Interpreter ABI Platform
rnit_vanna-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.6 kB

Release files / rnit_vanna-2.0.0.tar.gz

Download URL rnit_vanna-2.0.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b94dad77bd4c836e19738c57c3bbdeaee253dc52693e69b0b48fce025ffaa725
BLAKE2b-256 checksum
How to use checksums
2f1be255cf3565bfaebe0d186d8e7c21454b34270d432f0b5ef58ca72224cedf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release files / rnit_vanna-2.0.0-py3-none-any.whl

Download URL rnit_vanna-2.0.0-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
774d21adc77b0dbc7cd87776a51a33d2593f5d63e91a245fcc6d9235b105036f
BLAKE2b-256 checksum
How to use checksums
7017068d216a77cae613db59eb6adaae1a4cdf71c61e3608f17489013d3639cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

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