Skip to content
Snippets Groups Projects
README.md 1.68 KiB
Newer Older
David Hendriks's avatar
David Hendriks committed
# Python module for binary_c

Based on a original work by Jeff Andrews, updated and extended
for Python3 by Robert Izzard

David Hendriks's avatar
David Hendriks committed
**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.)
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:
David Hendriks's avatar
David Hendriks committed
```
David Hendriks's avatar
David Hendriks committed
```
Then to test the Python module:
David Hendriks's avatar
David Hendriks committed
```
David Hendriks's avatar
David Hendriks committed
```
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