tessl install tessl/pypi-connectorx@0.4.0Load data from databases to dataframes, the fastest way.
Agent Success
Agent success rate when using this tile
86%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.05x
Baseline
Agent success rate without this tile
82%
Build a database connection manager that can connect to multiple types of databases, validate connections, and load data with appropriate protocol selection.
Implement a module that provides the following functionality:
Your implementation should:
Provides high-performance database connectivity and data loading capabilities.
Create a Python module with a DatabaseConnectionManager class that:
Each database configuration should include:
name: A friendly name for the database connectionconnection_string: The database connection stringprotocol: (Optional) Protocol to use for data transfer# test_connection_manager.test.py
from connection_manager import DatabaseConnectionManager
def test_sqlite_connection():
"""Test basic SQLite connection and query execution"""
config = [{
"name": "test_db",
"connection_string": "sqlite:///test.db",
}]
manager = DatabaseConnectionManager(config)
assert manager.validate_connections()["test_db"]["is_valid"] == True# test_connection_manager.test.py
def test_multiple_databases():
"""Test connecting to multiple databases"""
config = [
{"name": "db1", "connection_string": "sqlite:///db1.db"},
{"name": "db2", "connection_string": "sqlite:///db2.db"},
]
manager = DatabaseConnectionManager(config)
results = manager.validate_connections()
assert len(results) == 2
assert all(result["is_valid"] for result in results.values())# test_connection_manager.test.py
def test_protocol_specification():
"""Test that protocol can be specified for connections"""
config = [{
"name": "test_db",
"connection_string": "sqlite:///test.db",
"protocol": "binary"
}]
manager = DatabaseConnectionManager(config)
assert manager.config[0]["protocol"] == "binary"# test_connection_manager.test.py
def test_invalid_connection():
"""Test handling of invalid connection strings"""
config = [{
"name": "bad_db",
"connection_string": "invalid://connection",
}]
manager = DatabaseConnectionManager(config)
results = manager.validate_connections()
assert results["bad_db"]["is_valid"] == False
assert "error" in results["bad_db"]Your implementation should: