Python DBAPI driver for MSSQL using pure Python TDS (Tabular Data Stream) protocol implementation
Clone or download
denisenkom logging improvement
add timestamp, to allow determining delays between events
Latest commit 7d875ca Sep 8, 2018
Permalink
Failed to load latest commit information.
docs
profiling
src/pytds
tests
.gitignore
.travis.yml
LICENSE.txt
MANIFEST.in
README.rst
RELEASE.rst
appveyor.yml
ci.bat
ci.sh
pytest.ini
requirements.txt
setup.py
shell.py
test_requirements.txt
tox.ini
version.py

README.rst

pytds

https://secure.travis-ci.org/denisenkom/pytds.png?branch=master https://ci.appveyor.com/api/projects/status/a5h4y29063crqtet?svg=true

Python DBAPI driver for MSSQL using pure Python TDS (Tabular Data Stream) protocol implementation. Doesn't depend on ADO or FreeTDS. Can be used on any platform, including Linux, MacOS, Windows.

It can be used with https://pypi.python.org/pypi/django-sqlserver as a Django database backend.

Features

  • Fully supports new MSSQL 2008 date types: datetime2, date, time, datetimeoffset
  • MARS
  • Bulk insert
  • Table-valued parameters
  • TLS connection encryption

Installation

To install run this command:

$ pip install python-tds

If you want to use TLS you should also install pyOpenSSL package:

$ pip install pyOpenSSL

For a better performance install bitarray package too:

$ pip install bitarray

Documentation

Documentation is available at https://python-tds.readthedocs.io/en/latest/.

Example

To connect to database do

import pytds
with pytds.connect('server', 'database', 'user', 'password') as conn:
    with conn.cursor() as cur:
        cur.execute("select 1")
        cur.fetchall()

To enable TLS you should also provide cafile parameter which should be a file name containing trusted CAs in PEM format.

For detailed documentation of connection parameters see: pytds.connect