Skip to main content

A Python wrapper module for OpenTrep

Project description

OpenTrepWrapper

Refefences

Configuration

Installation of OpenTREP

This module does not install OpenTREP, you have to do that. On RedHat/CentOS/Fedora, OpenTREP is packaged and can therefore easily be installed with the native packager manager (dnf or yum).

On the platforms, it can be installed by following the instructions in the README.md file.

For the remaining of this document, it assumed that OpenTREP has been installed from the sources in ${HOME}/dev/deliveries/opentrep-latest. You can easily customize the PYTHONPATH and LD_LIBRARY_PATH environment variables to suit your own settings.

  • You may put the package created by setuptools in the repository with:
$ export TREP_DIR="${HOME}/dev/deliveries/opentrep-latest"
$ export PYTHONPATH="${TREP_DIR}/lib/python3.7/site-packages/pyopentrep:${TREP_DIR}/lib"
$ export LD_LIBRARY_PATH="${TREP_DIR}/lib"
$ export PATH="${TREP_DIR}/bin:${PATH}"

Installation of pyenv and pipenv

  • Install Python:
$ pyenv install 3.7.4
$ pyenv global 3.7.4 && pip install -U pip pipenv && pyenv global system
  • Clone this Git repository:
$ mkdir -p ~/dev/geo/trep && git clone https://github.com/trep/wrapper.git ~/dev/geo/trep/wrapper
  • Install the Python virtual environment:
$ cd ~/dev/geo/trep/wrapper
$ pipenv install && pipenv install --dev

Test the wrapper application

  • In the following Python examples, it is assumed that an interactive Python Shell has been launched:
$ pipenv run python
  • Or, on MacOS:
$ ASAN_OPTIONS=detect_container_overflow=0 \
 DYLD_INSERT_LIBRARIES=/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib \
 /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python
  • Import the module:
 >>> from OpenTrepWrapper import main_trep, index_trep
 >>> from OpenTrepWrapper import DEFAULT_LOG, DEFAULT_FMT, DEFAULT_DB
  • Index the OPTD data file:
 >>> index_trep (xapianDBPath = '/tmp/opentrep/xapian_traveldb', logFilePath = '/tmp/opentrep/opeentrep-indexer.log', verbose = False)
  • Search:
 >>> main_trep (searchString = 'nce sfo', outputFormat = 'S',  xapianDBPath = '/tmp/opentrep/xapian_traveldb',  logFilePath = '/tmp/opentrep/opeentrep-searcher.log',  verbose = False)
 ([(89.8466, 'NCE'), (357.45599999999996, 'SFO')], '')
  • End the Python session:
 >>> quit()
  • On MacOS, if there is an issue with the interceptors:
$ ASAN_OPTIONS=detect_container_overflow=0 \
 DYLD_INSERT_LIBRARIES=/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib \
 /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python  test.py 
......
----------------------------------------------------------------------
Ran 6 tests in 2.832s

OK

Release OpenTrepWrapper to PyPi

  • Build the Python artifacts for OpenTrepWrapper:
$ rm -rf dist && mkdir dist
$ pipenv run python setup.py sdist bdist_wheel bdist_egg
$ ls -lFh dist
total 48
-rw-r--r--  1 user  staff   7.1K Nov 22 01:03 OpenTrepWrapper-0.7.4.post3-py3-none-any.whl
-rw-r--r--  1 user  staff   6.7K Nov 22 01:03 OpenTrepWrapper-0.7.4.post3-py3.7.egg
-rw-r--r--  1 user  staff   6.2K Nov 22 01:03 OpenTrepWrapper-0.7.4.post3.tar.gz
  • Publish to PyPi:
$ pipenv run twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for OpenTrepWrapper, version 0.7.4.post4
Filename, size File type Python version Upload date Hashes
Filename, size OpenTrepWrapper-0.7.4.post4-py3.7.egg (7.5 kB) File type Egg Python version 3.7 Upload date Hashes View hashes
Filename, size OpenTrepWrapper-0.7.4.post4-py3-none-any.whl (7.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size OpenTrepWrapper-0.7.4.post4.tar.gz (7.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page