私が書いている新しいCライブラリをラップするPythonパッケージを書きたいのですが、正直に言うと、それはすべて少しの学習演習です。(もちろん)ライブラリと呼びたいのですがspam
、Cライブラリはこのように構成されています。
Spam/
lib/
foo.c
Makefile
libspam.a /* Generated by Makefile */
libspam.so /* Generated by Makefile */
foo.cが単一のパブリック関数foo(char * bar)
を提供するとします。同時に、Pythonパッケージを提供したいと思います。同じ名前空間の下に、ラッパーfoo
と別の関数を提供したいと思います。は、then呼び出しに対していくつかのチェックを実行するPython関数です。彼らはこのように呼ぶことができますsafe_foo
safe_foo
bar
foo
import spam
file='hello.txt'
foo(file)
safe_foo(file)
それは可能ですか?
同様の状況は、Pythonパッケージを開発してから、APIを壊さずに1つの関数をC関数として再実装したい場合です。
あなたは私がPythonパッケージングに少し慣れていないのを見ることができるかもしれません...