Obtaining the Python tdda Library
Posted on Thu 14 September 2017 in TDDA
This post is a standing post that we plan to try to keep up to date, describing options for obtaining the open-source Python TDDA library that we maintain.
Using pip from PyPI
Assuming you have a working pip setup, you should be able to install the tdda library by typing:
pip install tdda
or, if your permissions don't allow use in this mode
sudo pip install tdda
If pip
isn't working, or is associated with a different Python from the one you are using, try:
python -m pip install tdda
or
sudo python -m pip install tdda
The tdda library supports both Python 3 (tested with 3.6 and 3.7) and Python 2 (tested with 2.7). (We'll start testing against 3.8 real soon!)
Upgrading
If you have a version of the tdda
library installed and want to upgrade it with pip, add -U
to one of the command above, i.e. use whichever of the following you need for your setup:
pip install -U tdda
sudo pip install -U tdda
python -m pip install -U tdda
sudo python -m pip install -U tdda
Installing from Source
The source for the tdda library is available from Github and can be cloned with
git clone https://github.com/tdda/tdda.git
or
git clone git@github.com:tdda/tdda.git
When installing from source, if you want the command line tdda
utility
to be available, you need to run
python setup.py install
from the top-level tdda directory after downloading it.
Documentation
The main documentation for the tdda
library is available on
Read the Docs.
You can also build it youself if you have downloaded the source from Github.
In order to do this, you will need an installation of
Sphinx.
The HTML documentation is built, starting from the top-level
tdda
directory by running:
cd doc
make html
Running TDDA's tests
Once you have installed TDDA (whether using pip or from source), you can run its tests by typing
tdda test
If you have all the dependencies, including optional dependencies, installed, you should get a line of dots and the message OK at the end, something like this:
$ tdda test
........................................................................................................................
----------------------------------------------------------------------
Ran 122 tests in 3.251s
OK
If you don't have some of the optional dependencies installed, some of the dots will be replaced by the letter 's'. For example:
$ tdda test
.................................................................s.............................s........................
----------------------------------------------------------------------
Ran 120 tests in 3.221s
OK (skipped=2)
This does not indicate a problem, and simply means there will be some of the functionality unavailable (e.g. usually one or more database types).
Using the TDDA examples
The tdda library includes three sets of examples, covering reference testing, automatic constraint discovery and verification, and Rexpy (discovery of regular expressions from examples, outside the context of constraints).
The tdda command line can be used to copy the relevant files into place. To get the examples, first change to a directory where you would like them to be placed, and then use the command:
tdda examples
This should produce the following output:
Copied example files for tdda.referencetest to ./referencetest-examples
Copied example files for tdda.constraints to ./constraints-examples
Copied example files for tdda.rexpy to ./rexpy-examples
Quick Reference Guides
There is a quick reference guides available for the TDDA library. These are often a little behind the current release, but are usually still quite helpful.
These are available from here.
Tutorial from PyData London
There is a video online of a workshop at PyData London 2017. Watching a video of a workshop probably isn't ideal, but it does have a fairly detailed and gentle introduction to using the library, so if you are struggling, it might be a good place to start.