Skip to content
/ c2py Public

Sample scripts for SWIG, Cython and ctypes to use C programs as Python modules.

Notifications You must be signed in to change notification settings

stmsy/c2py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sample Python Binding Project

Requirements

Create a Python virtual environment named c2py with pyenv and pyenv-virtualenv before you start working with SWIG and Cython. For example, run the following

pyenv install 3.7.2
pyenv virtualenv 3.7.2 c2py
pyenv local c2py  # Run the command at the project root directory

and you may opt to install the packages listed in requirements.txt as follows.

pip install -U pip  # Optional
pip install -r requirements.txt

Usage

SWIG

cd swig
swig -python sample.i  # sample_wrap.c will be generated
python setup.py build_ext
python setup.py install --prefix=$PYENV_VIRTUAL_ENV

Cython

cd cython
swig -python sample.i  # fib_wrap.c will be generated
python setup.py build_ext
python setup.py install --prefix=$PYENV_VIRTUAL_ENV

ctypes

cd ctypes
gcc -shared -o libdample.so sample.c

and use the Python interactive shell like IPython

from ctypes import cdll
libc = cdll.LoadLibrary('libsample.so')

References

About

Sample scripts for SWIG, Cython and ctypes to use C programs as Python modules.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published