{"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-duo_universal-2.0.3p6","path":"security/py-duo_universal","url":"/packages/current/security/py-duo_universal/","comment":"Duo Python two-factor authentication","homepage":"https://pypi.org/project/duo_universal","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"This SDK allows a web developer to quickly add Duo's interactive,\nself-service, two-factor authentication to any Python3 web login\nform. Only Python 3 is supported.\n","package_architecture":"amd64","stem":"py3-duo_universal","readme":null,"dependencies":[{"path":"devel/py-wheel","type":"runtime","package_spec":"","url":"/packages/current/devel/py-wheel/"},{"path":"security/py-cryptography","type":"runtime","package_spec":"","url":"/packages/current/security/py-cryptography/"},{"path":"security/py-openssl","type":"runtime","package_spec":"","url":"/packages/current/security/py-openssl/"},{"path":"www/py-jwt","type":"runtime","package_spec":"","url":"/packages/current/www/py-jwt/"},{"path":"www/py-requests","type":"runtime","package_spec":"","url":"/packages/current/www/py-requests/"},{"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/"},{"path":"devel/py-mock","type":"test","package_spec":"","url":"/packages/current/devel/py-mock/"},{"path":"devel/py-wheel","type":"test","package_spec":"","url":"/packages/current/devel/py-wheel/"},{"path":"security/py-cryptography","type":"test","package_spec":"","url":"/packages/current/security/py-cryptography/"},{"path":"security/py-openssl","type":"test","package_spec":"","url":"/packages/current/security/py-openssl/"},{"path":"www/py-jwt","type":"test","package_spec":"","url":"/packages/current/www/py-jwt/"},{"path":"www/py-requests","type":"test","package_spec":"","url":"/packages/current/www/py-requests/"},{"path":"lang/python/3","type":"test","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"devel/py-test","type":"test","package_spec":"","url":"/packages/current/devel/py-test/"}],"reverse_dependencies":{"count":0,"url":null},"categories":["security","sysutils","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","sparc64","alpha","hppa"],"not_for_architectures":[]}}
