-
David Hendriks authoredDavid Hendriks authored
Python module for binary_c
Based on a original work by Jeff Andrews, updated and extended for Python3 by Robert Izzard
THIS CODE IS VERY EXPERIMENTAL AND PROBABLY WILL NOT WORK
r.izzard@surrey.ac.uk http://personal.ph.surrey.ac.uk/~ri0005/binary_c.html 09/06/2019
Requirements
- Python3
- binary_c version 2.1+
- requirements.txt (no?)
Environment variables
Before compilation you should set the following environment variables:
- required:
BINARY_C
should point to the root directory of your binary_c installation - recommended:
LD_LIBRARY_PATH
should include $BINARY_C/src and whatever directories are required to run binary_c (e.g. locations of libgsl, libmemoize, librinterpolate, etc.) - recommended:
LIBRARY_PATH
should include whatever directories are required to build binary_c (e.g. locations of libgsl, libmemoize, librinterpolate, etc.)
Build instructions
To build the module, make sure you have built binary_c (with make
in the binary_c root directory), its shared library (with make libbinary_c.so
in the binary_c root directory), and set environment variables as described above, then run the following code in t:
make clean
make
Then to test the Python module:
python3 ./python_API_test.py
You will require whatever libraries with which binary_c was compiled, as well as the compiler with which Python was built (usually gcc, which is easily installed on most systems).
TODO
- ?Put the header and src files in a dedicated directory
- ?Have the compiled files be written into build
- Use sphinx for auto generation of docs
- Use queueing system/asynchronous task queue