liblzg Homepage -> http://liblzg.bitsnbites.eu/
liblzg Sourcecode -> https://github.com/mbitsnbites/liblzg
Es gibt https://github.com/stevenvergenz/python-lzg ... ist nicht viel code. Den möchte ich um eine "setup.py" erweitern und das ganze für Py2 und Py3 nutztbar machen.
Deswegen -> https://github.com/jedie/python-lzg
Die setup.py ist noch ganz übersichtlich:
Code: Alles auswählen
from distutils.core import setup, Extension
liblzg = Extension('liblzg',
include_dirs = ['liblzg/src/include'],
sources = [
'liblzg/src/lib/checksum.c',
'liblzg/src/lib/decode.c',
'liblzg/src/lib/encode.c',
'liblzg/src/lib/version.c',
])
setup (
name = 'python-lzg',
version = '1.0',
description = 'liblzg for python',
ext_modules = [liblzg]
)
Sie landet in meinem Fall bei: /home/jens/pypyjs_env/lib/python3.4/site-packages/liblzg.cpython-34m.so
Doch das geht nicht:
ctypes.util.find_library('lzg') oder auch ctypes.util.find_library('liblzg')
beides liefert None, findet also die Datei nicht.
Mit dem Absoluten Pfad funktioniert es allerdings:
CLIB = ctypes.CDLL("/home/jens/pypyjs_env/lib/python3.4/site-packages/liblzg.cpython-34m.so")
Was mache ich falsch?!?
Als nächstes ist die Benutzung über ctypes "komisch"... Aber da hab ich keine Erfahrung. Komisch kommt mir vor, das man mit ctypes.create_string_buffer() arbeitet.
Kann man nicht direkt bytes hin und her schicken?!?
Könnt gern auch github fork/pull machen!