Teradata dialect for SQLAlchemy
SQLAlchemy is a database toolkit that provides an abstraction over databases. It allows you to interact with relational databases using an object relational mapper or through a pythonic sql rendering engine known as the core.
Read the documentation and more: http://www.sqlalchemy.org/
The Teradata Dialect is an implementation of SQLAlchemy’s Dialect System. It implements various classes that are specific to interacting with the teradata dbapi, construction of sql specific to Teradata, and more. The project is still in an incubation phase. See test/usage_test for how the dialect is used for the core expression language api.
* Have a simple setup process and a minimal learning curve * Provide a simple core that is modular and extensible * Be an easy way to interact with the database out of the box
Install the sqlalchemy-teradata library:
[sudo] pip install sqlalchemy-teradata
Setup the connect url to point to the database. See the example in the wiki.
* We welcome your contributions in: Documentation, Bug Reporting, Tests, and Code (Features & Bug Fixes) * You can contribute to our documentation by going to our github wiki. * All code submissions are done through pull requests.
We have a room in gitter. It is still based off of the old repo but it will do.
The dialect is tested using the pytest plugin. You can run pytest in the sqlalchemy-teradata directory with the py.testcommand. By default the tests are run against the database URI specified in setup.cfg under the [db] heading.
You can override the dburi you would like the tests to run against:
To view the databases aliased in setup.cfg:
py.test --dbs all
To run the tests against an aliased database URI in setup.cfg:
py.test --db default py.test --db teradata
If the –db flag nor the –dburi flag are specified when running py.test, the database uri specified as default in setup.cfg is used.
# test all the things (against default)! py.test -s test/* # run tests in this file py.test -s test/test_suite.py # run TestClass in the the file py.test -s test/test_suite.py::TestClass # just run a specific method in TestClass py.test -s test/test_suite.py::TestClass::test_func
see the pytest docs for more info