2
1
Fork
You've already forked gobject-sdk
0
An Interpeer/Wyrd SDK for use with GLib/GObject
  • C++ 49.2%
  • C 19.3%
  • Python 16.6%
  • Meson 14.3%
  • Shell 0.6%
Jens Finkhaeuser 90aaba633a
Some checks failed
/ build-meson (arm64, map[cc:clang cxx:clang++]) (push) Successful in 10m10s
/ build-meson (arm64, map[cc:gcc cxx:g++]) (push) Successful in 7m52s
/ build-conan (arm64) (push) Failing after 1m50s
/ checks (push) Has been cancelled
/ build-meson (x86_64, map[cc:clang cxx:clang++]) (push) Has been cancelled
/ build-meson (x86_64, map[cc:gcc cxx:g++], true, true) (push) Has been cancelled
/ build-conan (x86_64) (push) Has been cancelled
Add wellknown funding url
2024年10月17日 17:15:32 +02:00
.forgejo/workflows Suppress more leaks for g-ir-scanner, also pass the suppressions on to the build 2024年01月05日 16:09:13 +01:00
.well-known Add wellknown funding url 2024年10月17日 17:15:32 +02:00
changelog.d Add changelog fragment 2024年01月04日 15:10:54 +01:00
docs Bump version: 0.0.0 → 0.1.0 2023年12月31日 12:24:37 +01:00
examples avoid naming clashes 2023年12月19日 14:34:37 +01:00
include (void) and () have different meanings in C 2024年01月09日 13:11:08 +01:00
lib GLib documentation is rather quiet on how a parent class reference is 2024年01月04日 15:00:40 +01:00
scripts WIP 2023年12月19日 10:47:15 +01:00
subprojects Happy side effect: bump gtest version 2024年01月02日 17:46:40 +01:00
support Suppress more leaks for g-ir-scanner, also pass the suppressions on to the build 2024年01月05日 16:09:13 +01:00
test We need to set both ASAN_OPTIONS and LSAN_OPTIONS, but this doesn't seem to help the python tests - skip them with address sanitiziation 2024年01月05日 15:29:47 +01:00
.bumpversion.cfg Bump version: 0.0.0 → 0.1.0 2023年12月31日 12:24:37 +01:00
.env Supposedly this may fix pygobject's dependency on pycairo 2023年12月28日 17:41:43 +01:00
.gitignore basic build and test setup 2023年05月10日 15:25:03 +02:00
.oclint basic build and test setup 2023年05月10日 15:25:03 +02:00
build-config.h.in WIP renaming 2023年06月28日 08:52:32 +02:00
CHANGES Changelog update 2023年12月31日 12:24:13 +01:00
CODE_OF_CONDUCT.md repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00
codemeta.json repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00
conandata.yml Maybe enough for conan package builds 2023年12月30日 15:08:39 +01:00
conanfile.py Maybe enough for conan package builds 2023年12月30日 15:08:39 +01:00
CONTRIBUTING.md repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00
DCO.txt repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00
LICENSE repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00
meson.build We need to set both ASAN_OPTIONS and LSAN_OPTIONS, but this doesn't seem to help the python tests - skip them with address sanitiziation 2024年01月05日 15:29:47 +01:00
meson_options.txt basic build and test setup 2023年05月10日 15:25:03 +02:00
Pipfile Updated deps 2023年12月28日 17:49:35 +01:00
Pipfile.lock Updated deps 2023年12月28日 17:49:35 +01:00
README.md Update README 2023年12月29日 15:00:31 +01:00
towncrier.toml repocheck, probably missing adjustments 2023年05月10日 15:46:43 +02:00

Interpeer SDK for GObject

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.

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.