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.1.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.1-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: legion_query_runner-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 2ce4d6d44527fa260034aeb1281c41af7ba703e9070e32f084acd5787f4cd51f
MD5 a427fd4b2c80e99af98c8c0da36d1009
BLAKE2b-256 639120335f4689cf1dd9eaa309f4921ad98a826203bb416e791755756283ef6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for legion_query_runner-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de5cba9b4d7aff1ddcec087a1b49899d1351b5fc0898ffbe7135672ac4a1a86a
MD5 c57f29d9e0f2d7b559c5e065fcd56b69
BLAKE2b-256 b9d6f419e1729f6b3023b7d82a078050d38eb564a51cb1e532e1efe1ea419290

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