Newer
Older
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
David Hendriks
committed
Requirements
---------------------
- Python3
- binary_c version 2.1+
- requirements.txt (no?)
Environment variables
---------------------
Before compilation you should set the following environment variables:
David Hendriks
committed
- 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
---------------------
David Hendriks
committed
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
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).
David Hendriks
committed
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