ctypes for static libraries?
I'm attempting to write a Python wrapper for poker-eval, a c static library. All the documentation I can find on ctypes indicates that it works on shared/dynamic libraries. Is there a ctypes for static libraries?
I know about cython, but should I use that or recompile the poker-eval into a dynamic library so that I can use ctypes?
Thanks,
Mike
Asked by: Clark833 | Posted: 27-01-2022
Answer 1
The choice is really up to you. If you have the ability to recompile the library as a shared object, I would suggest that, because it will minimize the non-python code you have to maintain. Otherwise, you'll want to build a python extension module that links to the static library and wraps the functions it exposes.
You mentioned Cython; here's the relevant manual page if you go that route:
http://docs.cython.org/src/tutorial/clibraries.html
There's also SWIG and Pyrex.
Answered by: Julia986 | Posted: 28-02-2022Answer 2
I can't say for sure there are no modules out there, but the advantages of dynamic libraries (uses less space, can update without recompiling dependent programs) are such that you're probably better off doing just that.
Answered by: Daryl763 | Posted: 28-02-2022Similar questions
macos - Which paths does python ctypes module search for libraries on Mac OS?
Python documentation (I checked both 2.7 and 3.4) states that:
On OS X, find_library() tries several predefined naming schemes and paths to locate the library, and returns a full pathname if successful:
Then gives examples coming from two folders: /usr/lib and /System/Library. I suppose this is not full list, as I have experience with python finding lib...
using C++ libraries in python using ctypes
I have a C++ library that provides various classes for managing data. I have the source code for the library.
I am trying to call a function of lda.cpp of this library from python using ctypes. This function in turn uses function from all other .cpp files in the library.
//lda.cpp
#include "model.h"
#include <stdio.h>
#include "lda.h"
int lda_est(double alpha, double beta) {
model lda;
if (ld...
How to find all built in libraries in Python
I've recently started with Python, and am enjoying the "batteries included" design. I'e already found out I can import time, math, re, urllib, but don't know how to know that something is builtin rather than writing it from scratch.
What's included, and where can I get other good quality libraries from?
OCSP libraries for python / java / c?
Going back to my previous question on OCSP, does anybody know of "reliable" OCSP libraries for Python, Java and C?
I need "client" OCSP functionality, as I'll be checking the status of Certs against an OCSP responder, so responder functionality is not that important.
Thanks
how do i use python libraries in C++?
I want to use the nltk libraries in c++.
Is there a glue language/mechanism I can use to do this?
Reason:
I havent done any serious programming in c++ for a while and want to revise NLP concepts at the same time.
Thanks
How can I use Perl libraries from Python?
I have written a bunch of Perl libraries (actually Perl classes) and I want to use some of them in my Python application. Is there a natural way to do this without using SWIG or writing Perl API for Python. I am asking for a similar way of PHP's Perl interface. If there is no such kind of work for Perl in Python. What is the easiest way to use Perl cl...
macos - Mac Based Python GUI Libraries
I am currently building a GUI based Python application on my mac and was wondering could anyone suggest a good GUI library to use?
I was looking at python's gui programming faq and there was a lot of options making it hard to choose.
I am developing on snow leopard and cross-platform is not essential (if it makes a differenc...
Tree libraries in python
Closed. This question does not meet Stack Overflow guid...
Are there any libraries to allow Python or Ruby to get info from SVN?
I'm looking for plugins that will allow my codebase to interact with, browse, and poll an SVN server for information about a repository.
Trac can do this, but I was hoping there was an easy-to-use library available to accomplish the task, rather than trolling through the Trac codebase. Googling for this returns mostly vague results about storing you...
Does python import all the listed libraries?
I'm just wondering, I often have really long python files and imports tend to stack quite quickly.
PEP8 says that the imports should always be written at the beginning of the file.
Do all the imported libraries get imported when calling a function coded in the file? Or do only the necessary libraries get called?
Does it make sense to worry about this? Is there no reason to import libraries wit...
Ruby Vs Python - Socket Libraries
I have a concept I'd like to work on that requires the use of low-level sockets (i.e.: no frameworks or wrappers, just the standard send/recv pattern included in most standard libraries.
I'm familiar with both Ruby and Python, and from my (limited) experience they seem to have similar socket libraries. What I'd like to know is if either language has any advantage, whether it be with performance, stability, ease-of...
python - Good sound libraries?
web crawler - What are the best prebuilt libraries for doing Web Crawling in Python
This question already has answers here:
How to find all built in libraries in Python
I've recently started with Python, and am enjoying the "batteries included" design. I'e already found out I can import time, math, re, urllib, but don't know how to know that something is builtin rather than writing it from scratch.
What's included, and where can I get other good quality libraries from?
OCSP libraries for python / java / c?
Going back to my previous question on OCSP, does anybody know of "reliable" OCSP libraries for Python, Java and C?
I need "client" OCSP functionality, as I'll be checking the status of Certs against an OCSP responder, so responder functionality is not that important.
Thanks
how do i use python libraries in C++?
I want to use the nltk libraries in c++.
Is there a glue language/mechanism I can use to do this?
Reason:
I havent done any serious programming in c++ for a while and want to revise NLP concepts at the same time.
Thanks
How can I use Perl libraries from Python?
I have written a bunch of Perl libraries (actually Perl classes) and I want to use some of them in my Python application. Is there a natural way to do this without using SWIG or writing Perl API for Python. I am asking for a similar way of PHP's Perl interface. If there is no such kind of work for Perl in Python. What is the easiest way to use Perl cl...
Python vs. C# Twitter API libraries
Closed. This question does not meet Stack Overflow guid...
d - Calling gdc/dmd shared libraries from Python using ctypes
I've been playing around with the rather excellent ctypes library in Python recently. What i was wondering is, is it possible to create shared D libraries and call them in the same way. I'm assuming i would compile the .so files using the -fPIC with dmd or gdc and call them the same way using the ctypes library.
Has anyone tried this ? ...
plot - Python plotting libraries
Closed. This question does not meet Stack Overflow guid...
HTML Agility Pack or HTML Screen Scraping libraries for Java, Ruby, Python?
I found the HTML Agility Pack useful and easy to use for screen scraping web sites. What's the equivalent library for HTML screen scraping in Java, Ruby, Python?
c - Building a Python shared object binding with cmake, which depends upon external libraries
We have a c file called dbookpy.c, which will provide a Python binding some C functions.
Next we decided to build a proper .so with cmake, but it seems we are doing something wrong with regards to linking the external library 'libdbook' in the binding:
The CMakeLists.txt is as follows:
PROJECT(dbookpy)
FIND_PACKAGE(PythonInterp)
FIND_PACKAGE(PythonLibs)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE...
Still can't find your answer? Check out these communities...
PySlackers | Full Stack Python | NHS Python | Pythonist Cafe | Hacker Earth | Discord Python