{"schema_version":1,"metadata":{"branch":"current","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:41.004595+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/sqlports-7.55.tgz","source_sha256":"fcdbba1b9df747882aa9bab4af20ebec8dac10655069c90f1cd4145c06e1235e","package_count":12031,"source_kind":"sqlports"},"package":{"name":"py3-plugnplay-0.5.4p7","path":"devel/py-plugnplay","url":"/packages/current/devel/py-plugnplay/","comment":"a generic plug-in system for Python","homepage":"https://github.com/daltonmatos/plugnplay","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"PlugnPLay (PnP) is a generic plug-in system inspired by Trac's internal\ncomponent management. With PnP you can turn any program into a pluggable\nsoftware very easily. You just have to define the Interfaces and let others\nimplement them. When your code is running you can dynamically retrieve who are\nthe classes that implement a certain Interface, and call the specific methods.\n","package_architecture":"amd64","stem":"py3-plugnplay","readme":null,"dependencies":[{"path":"lang/python/3","type":"runtime","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"lang/python/3","type":"build","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"devel/py-build","type":"build","package_spec":"","url":"/packages/current/devel/py-build/"},{"path":"devel/py-installer","type":"build","package_spec":"","url":"/packages/current/devel/py-installer/"},{"path":"devel/py-setuptools","type":"build","package_spec":"py3-setuptools->=79v0","url":"/packages/current/devel/py-setuptools/"},{"path":"devel/py-wheel","type":"build","package_spec":"","url":"/packages/current/devel/py-wheel/"}],"reverse_dependencies":{"count":0,"url":null},"categories":["devel","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","sparc64","alpha","hppa"],"not_for_architectures":[]}}
