- C++ 49.2%
- C 19.3%
- Python 16.6%
- Meson 14.3%
- Shell 0.6%
Interpeer SDK for GObject
The Interpeer SDK for GObject makes interpeer technology available to the GObject ecosystem, e.g. projects built with Gtk.
The scope of the SDK will change over time - for now, it exposes an easy API for manipulating wyrd resources.
Project Info
| ChangeLog | Contributing | Code of Conduct |
|---|
💡 Usage
Being GObject based, the library exposes a C API first and foremost - but a GObject Introspection file is also generated, which means bindings to other languages are easy to create. In fact, our main test driver is the Python binding.
# Load Interpeer SDK binding
import gi
gi.require_version("interpeer", "1.0")
from gi.repository import interpeer
# Create API instance
api = interpeer.WyrdApi()
# Create resource handle
flags = interpeer.WyrdOpenFlags.OPEN_RW | interpeer.WyrdOpenFlags.OPEN_CREATE
handle = api.open_resource("testresource", flags)
# Manipulate Wyrd property
ret = handle.set_property(".foo.bar", 123)
📖 API
The API is growing as the needs of the Interpeer Project change. The full documentation provides How-Tos and an API reference.
🛠️ Installation
If you're using meson, just put this repo (at a version tag of your choice) into your subprojects as a submodule, e.g.
$ git submodule add https://codeberg.org/interpeer/gobject-sdk subprojects/gobject-sdk
$ cd subprojects/gobject-sdk
$ git checkout v0.1.0 # or whatever
$ cd ..
$ git commit -m "Added gobject-sdk at v0.1.0"
When that is done, you can just use the SDK in your own meson.build file.
# Try a system installed SDK first, fall back to subproject
interpeer_dep = dependency(
'interpeer_gobject_shared',
fallback: ['gobject-sdk']
)
# Assuming you're building a list of dependencies
deps += [interpeer_dep]
summary('Interpeer', interpeer_dep.version(), section: 'Interpeer Dependencies')
⚖️ License
This SDK is licensed under the GNU General Public License; a copy of the license is in the repository.
For other licensing options, please contact Interpeer gUG.
We're a non-profit, however, so if you like this library, please consider donating ❤️. That will make sure the code stays maintained.