Installation Instructions¶
Beforehand¶
Python packages can specify other packages that they depend on and the installer will recursively install all of these as well. For our nexsciTAP package you will want whatever DB API 2.0 goes along with your DBMS (e.g. cx_Oracle for Oracle, sqlite for SQLite3, etc.). We can’t know which DBMS you have or which adapter you want to use so we leave it up to you to “pip install” the correct one separately.
If you forget, your Python will inform you what is missing when you try to run the code.
Quickstart¶
To just run instances of the NExScI TAP service, it is not necessary to download the source or build anything. Just install the TAP Python package and create an “nph-tap.py” executable like the one shown below or the equivalent for your specific web server.
If you are using a web server like Apache or NGINX that supports CGI programs, you can just do the following:
pip install nexsciTAP
then create a Python executable in your “/cgi-bin” directory tree (wherever you have that set up (we use …/cgi-bin/TAP/nph-tap.py under Apache). Here is a minimal but fully functional example:
#!/usr/bin/env python
from TAP import tap
tap.Tap()
You now have an operational TAP service (that can’t do anything).
Before it can do its job, you need to give it a bunch of configuration information, including:
Where to put working files,
How to connect to your DBMS, and
how you have set up your spatial indexing (if you have).
This is covered in the Configuration Instructions.
Not-so-Quick Start¶
Rather than pip install nexsciTAP (which pulls along a couple of other packages), you can build them yourself from source in GitHub.
The three GitHub packages you will need are:
ADQL, and
Once you have these downloaded, you can run the standard:
python setup.py bdist_wheel
command for each package. This builds a “wheel” (.whl) file in the package ./dist subdirectory. You then “pip install” that file and it becomes part of your Python installation. This gets us to the same place as the “pip install” in the Quickstart. We still have to add the same CGI program and configuration file.