Skip to main content

Query runners

Project description

Legion Query Runners

This package provides query runners for Legion, supporting various database systems and data sources. The package provides a unified interface for executing queries, retrieving schemas, and handling result sets across different database systems.

Supported Data Sources

  • PostgreSQL
  • Redshift
  • MySQL
  • Microsoft SQL Server
  • Google APIs
  • Amazon Web Services (via boto3)
  • CockroachDB
  • SQLite

Installation

pip install legion-query-runner

Basic Usage

from legion_query_runner.query_runner import QueryRunner

# Initialize with database configuration
sqlite_config = {
    "database": "/path/to/your/database.sqlite"
}

# Create a QueryRunner instance
runner = QueryRunner('sqlite', sqlite_config)

# Test connection
runner.test_connection()

# Execute a query
results = runner.run_query("SELECT * FROM users LIMIT 10")
print(f"Columns: {results['columns']}")
print(f"Row count: {len(results['rows'])}")

# Get schema
schema = runner.get_schema()
for table in schema:
    print(f"Table: {table['name']}")
    for column in table['columns']:
        print(f"  - {column['name']} ({column['type']})")

# Get columns for a specific table
columns = runner.get_table_columns("users")
print(f"Columns in users table: {columns}")

# Get column types for a specific table
column_types = runner.get_table_types("users")
print(f"Column types in users table: {column_types}")

Core Features

  • Unified Database Interface: Interact with different databases using a consistent API
  • Schema Retrieval: Get table and column information from your database
  • Type Inference: Automatic detection of column data types
  • Query Execution: Run SQL queries and process results in a standardized format
  • Connection Management: Establish, test, and maintain database connections
  • SSH Tunneling: Connect to databases through SSH tunnels
  • Authentication Support: Handle various authentication methods including IAM for AWS services

Development

To set up the development environment:

  1. Install dependencies:

    poetry install --with dev
    
  2. Run tests:

    poetry run pytest
    

License

Proprietary - All rights reserved by Legion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

legion_query_runner-0.1.2.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

legion_query_runner-0.1.2-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file legion_query_runner-0.1.2.tar.gz.

File metadata

  • Download URL: legion_query_runner-0.1.2.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.9 Darwin/24.3.0

File hashes

Hashes for legion_query_runner-0.1.2.tar.gz
Algorithm Hash digest
SHA256 774e1df552a988ee9a96fc753aa92e6c13d5616ba3c882e25fb434416e8ae3ae
MD5 2bb77842baaf849fa0a582ccce1d0327
BLAKE2b-256 8f13281b4030e8e92ac170d107f0208dd347662d861a3a01b27c491e55912d3a

See more details on using hashes here.

File details

Details for the file legion_query_runner-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for legion_query_runner-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 108c71ce09373c096ac61dab122dcaa3e3b58575664fe59a6d61d7996dd176e0
MD5 af39edfcf25a782eec1fd58f313ec573
BLAKE2b-256 e2939e72eecdf60542474ce09db39986faa9ba182d6b4d5e85396f40e5263007

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page