{"number":"latest","published_at":"2023-05-10T06:27:45.364Z","last_synced_at":"2023-11-11T09:21:22.557Z","created_at":"2023-11-11T09:00:35.361Z","updated_at":"2025-11-08T20:41:54.429Z","distro":"Ubuntu 22.04.3 LTS","version_url":"https://docker.ecosyste.ms/api/v1/packages/bobuhiro11%2Fcontainerized-devstack-controller/versions/latest","package":{"name":"bobuhiro11/containerized-devstack-controller","package_url":"https://docker.ecosyste.ms/api/v1/packages/bobuhiro11%2Fcontainerized-devstack-controller"},"dependencies":[{"ecosystem":"generic","package_name":"bash","requirements":"5.1.16","purl":"pkg:generic/bash@5.1.16"},{"ecosystem":"generic","package_name":"memcached","requirements":"1.6.14","purl":"pkg:generic/memcached@1.6.14"},{"ecosystem":"generic","package_name":"python","requirements":"3.10.12","purl":"pkg:generic/python@3.10.12"},{"ecosystem":"github","package_name":"actions/checkout","requirements":"v2","purl":"pkg:github/actions/checkout@v2"},{"ecosystem":"github","package_name":"actions/setup-node","requirements":"v1","purl":"pkg:github/actions/setup-node@v1"},{"ecosystem":"github","package_name":"actions/upload-artifact","requirements":"v2","purl":"pkg:github/actions/upload-artifact@v2"},{"ecosystem":"github","package_name":"snapcore/action-build","requirements":"v1","purl":"pkg:github/snapcore/action-build@v1"},{"ecosystem":"github","package_name":"snapcore/action-publish","requirements":"v1","purl":"pkg:github/snapcore/action-publish@v1"},{"ecosystem":"maven","package_name":"gettext:gettext","requirements":"*","purl":"pkg:maven/gettext/gettext"},{"ecosystem":"maven","package_name":"libintl:libintl","requirements":"0.21","purl":"pkg:maven/libintl/libintl@0.21"},{"ecosystem":"npm","package_name":"@novnc/novnc","requirements":"1.3.0","purl":"pkg:npm/%40novnc/novnc@1.3.0"},{"ecosystem":"npm","package_name":"horizon","requirements":"0.0.0","purl":"pkg:npm/horizon@0.0.0"},{"ecosystem":"pypi","package_name":"Babel","requirements":"2.12.1","purl":"pkg:pypi/Babel@2.12.1"},{"ecosystem":"pypi","package_name":"Deprecated","requirements":"1.2.14","purl":"pkg:pypi/Deprecated@1.2.14"},{"ecosystem":"pypi","package_name":"Django","requirements":"3.2.21","purl":"pkg:pypi/Django@3.2.21"},{"ecosystem":"pypi","package_name":"Flask-RESTful","requirements":"0.3.10","purl":"pkg:pypi/Flask-RESTful@0.3.10"},{"ecosystem":"pypi","package_name":"Flask","requirements":"2.2.3","purl":"pkg:pypi/Flask@2.2.3"},{"ecosystem":"pypi","package_name":"Jinja2","requirements":"3.1.2","purl":"pkg:pypi/Jinja2@3.1.2"},{"ecosystem":"pypi","package_name":"Mako","requirements":"1.2.4","purl":"pkg:pypi/Mako@1.2.4"},{"ecosystem":"pypi","package_name":"MarkupSafe","requirements":"2.1.3","purl":"pkg:pypi/MarkupSafe@2.1.3"},{"ecosystem":"pypi","package_name":"Parsley","requirements":"1.3","purl":"pkg:pypi/Parsley@1.3"},{"ecosystem":"pypi","package_name":"Paste","requirements":"3.5.3","purl":"pkg:pypi/Paste@3.5.3"},{"ecosystem":"pypi","package_name":"PasteDeploy","requirements":"3.0.1","purl":"pkg:pypi/PasteDeploy@3.0.1"},{"ecosystem":"pypi","package_name":"PyJWT","requirements":"2.8.0","purl":"pkg:pypi/PyJWT@2.8.0"},{"ecosystem":"pypi","package_name":"PyMySQL","requirements":"1.1.0","purl":"pkg:pypi/PyMySQL@1.1.0"},{"ecosystem":"pypi","package_name":"PyNaCl","requirements":"1.5.0","purl":"pkg:pypi/PyNaCl@1.5.0"},{"ecosystem":"pypi","package_name":"PyYAML","requirements":"6.0.1","purl":"pkg:pypi/PyYAML@6.0.1"},{"ecosystem":"pypi","package_name":"Pygments","requirements":"2.11.2","purl":"pkg:pypi/Pygments@2.11.2"},{"ecosystem":"pypi","package_name":"Routes","requirements":"2.5.1","purl":"pkg:pypi/Routes@2.5.1"},{"ecosystem":"pypi","package_name":"SQLAlchemy","requirements":"1.4.41","purl":"pkg:pypi/SQLAlchemy@1.4.41"},{"ecosystem":"pypi","package_name":"WSME","requirements":"0.12.1","purl":"pkg:pypi/WSME@0.12.1"},{"ecosystem":"pypi","package_name":"WebOb","requirements":"1.8.7","purl":"pkg:pypi/WebOb@1.8.7"},{"ecosystem":"pypi","package_name":"Werkzeug","requirements":"2.2.3","purl":"pkg:pypi/Werkzeug@2.2.3"},{"ecosystem":"pypi","package_name":"XStatic-Angular-Bootstrap","requirements":"2.5.0.0","purl":"pkg:pypi/XStatic-Angular-Bootstrap@2.5.0.0"},{"ecosystem":"pypi","package_name":"XStatic-Angular-FileUpload","requirements":"12.2.13.0","purl":"pkg:pypi/XStatic-Angular-FileUpload@12.2.13.0"},{"ecosystem":"pypi","package_name":"XStatic-Angular-Gettext","requirements":"2.4.1.0","purl":"pkg:pypi/XStatic-Angular-Gettext@2.4.1.0"},{"ecosystem":"pypi","package_name":"XStatic-Angular-Schema-Form","requirements":"0.8.13.0","purl":"pkg:pypi/XStatic-Angular-Schema-Form@0.8.13.0"},{"ecosystem":"pypi","package_name":"XStatic-Angular-lrdragndrop","requirements":"1.0.2.6","purl":"pkg:pypi/XStatic-Angular-lrdragndrop@1.0.2.6"},{"ecosystem":"pypi","package_name":"XStatic-Angular","requirements":"1.8.2.2","purl":"pkg:pypi/XStatic-Angular@1.8.2.2"},{"ecosystem":"pypi","package_name":"XStatic-Bootstrap-Datepicker","requirements":"1.4.0.0","purl":"pkg:pypi/XStatic-Bootstrap-Datepicker@1.4.0.0"},{"ecosystem":"pypi","package_name":"XStatic-Bootstrap-SCSS","requirements":"3.4.1.0","purl":"pkg:pypi/XStatic-Bootstrap-SCSS@3.4.1.0"},{"ecosystem":"pypi","package_name":"XStatic-D3","requirements":"3.5.17.0","purl":"pkg:pypi/XStatic-D3@3.5.17.0"},{"ecosystem":"pypi","package_name":"XStatic-Font-Awesome","requirements":"4.7.0.0","purl":"pkg:pypi/XStatic-Font-Awesome@4.7.0.0"},{"ecosystem":"pypi","package_name":"XStatic-Hogan","requirements":"2.0.0.3","purl":"pkg:pypi/XStatic-Hogan@2.0.0.3"},{"ecosystem":"pypi","package_name":"XStatic-JQuery-Migrate","requirements":"3.3.2.1","purl":"pkg:pypi/XStatic-JQuery-Migrate@3.3.2.1"},{"ecosystem":"pypi","package_name":"XStatic-JQuery.TableSorter","requirements":"2.14.5.2","purl":"pkg:pypi/XStatic-JQuery.TableSorter@2.14.5.2"},{"ecosystem":"pypi","package_name":"XStatic-JQuery.quicksearch","requirements":"2.0.3.2","purl":"pkg:pypi/XStatic-JQuery.quicksearch@2.0.3.2"},{"ecosystem":"pypi","package_name":"XStatic-JSEncrypt","requirements":"2.3.1.1","purl":"pkg:pypi/XStatic-JSEncrypt@2.3.1.1"},{"ecosystem":"pypi","package_name":"XStatic-Jasmine","requirements":"2.4.1.2","purl":"pkg:pypi/XStatic-Jasmine@2.4.1.2"},{"ecosystem":"pypi","package_name":"XStatic-Rickshaw","requirements":"1.5.1.0","purl":"pkg:pypi/XStatic-Rickshaw@1.5.1.0"},{"ecosystem":"pypi","package_name":"XStatic-Spin","requirements":"1.2.5.3","purl":"pkg:pypi/XStatic-Spin@1.2.5.3"},{"ecosystem":"pypi","package_name":"XStatic-bootswatch","requirements":"3.3.7.0","purl":"pkg:pypi/XStatic-bootswatch@3.3.7.0"},{"ecosystem":"pypi","package_name":"XStatic-jQuery","requirements":"3.5.1.1","purl":"pkg:pypi/XStatic-jQuery@3.5.1.1"},{"ecosystem":"pypi","package_name":"XStatic-jquery-ui","requirements":"1.13.0.1","purl":"pkg:pypi/XStatic-jquery-ui@1.13.0.1"},{"ecosystem":"pypi","package_name":"XStatic-mdi","requirements":"1.6.50.2","purl":"pkg:pypi/XStatic-mdi@1.6.50.2"},{"ecosystem":"pypi","package_name":"XStatic-objectpath","requirements":"1.2.1.0","purl":"pkg:pypi/XStatic-objectpath@1.2.1.0"},{"ecosystem":"pypi","package_name":"XStatic-roboto-fontface","requirements":"0.5.0.0","purl":"pkg:pypi/XStatic-roboto-fontface@0.5.0.0"},{"ecosystem":"pypi","package_name":"XStatic-smart-table","requirements":"1.4.13.2","purl":"pkg:pypi/XStatic-smart-table@1.4.13.2"},{"ecosystem":"pypi","package_name":"XStatic-term.js","requirements":"0.0.7.0","purl":"pkg:pypi/XStatic-term.js@0.0.7.0"},{"ecosystem":"pypi","package_name":"XStatic-tv4","requirements":"1.2.7.0","purl":"pkg:pypi/XStatic-tv4@1.2.7.0"},{"ecosystem":"pypi","package_name":"XStatic","requirements":"1.0.3","purl":"pkg:pypi/XStatic@1.0.3"},{"ecosystem":"pypi","package_name":"alembic","requirements":"1.9.4","purl":"pkg:pypi/alembic@1.9.4"},{"ecosystem":"pypi","package_name":"amqp","requirements":"5.1.1","purl":"pkg:pypi/amqp@5.1.1"},{"ecosystem":"pypi","package_name":"aniso8601","requirements":"9.0.1","purl":"pkg:pypi/aniso8601@9.0.1"},{"ecosystem":"pypi","package_name":"appdirs","requirements":"1.4.4","purl":"pkg:pypi/appdirs@1.4.4"},{"ecosystem":"pypi","package_name":"asgiref","requirements":"3.7.2","purl":"pkg:pypi/asgiref@3.7.2"},{"ecosystem":"pypi","package_name":"async-timeout","requirements":"4.0.3","purl":"pkg:pypi/async-timeout@4.0.3"},{"ecosystem":"pypi","package_name":"attrs","requirements":"23.1.0","purl":"pkg:pypi/attrs@23.1.0"},{"ecosystem":"pypi","package_name":"automaton","requirements":"3.2.0","purl":"pkg:pypi/automaton@3.2.0"},{"ecosystem":"pypi","package_name":"autopage","requirements":"0.5.1","purl":"pkg:pypi/autopage@0.5.1"},{"ecosystem":"pypi","package_name":"bcrypt","requirements":"4.0.1","purl":"pkg:pypi/bcrypt@4.0.1"},{"ecosystem":"pypi","package_name":"beagle","requirements":"0.3.0","purl":"pkg:pypi/beagle@0.3.0"},{"ecosystem":"pypi","package_name":"bindep","requirements":"2.11.0","purl":"pkg:pypi/bindep@2.11.0"},{"ecosystem":"pypi","package_name":"cachetools","requirements":"5.3.1","purl":"pkg:pypi/cachetools@5.3.1"},{"ecosystem":"pypi","package_name":"castellan","requirements":"4.3.0","purl":"pkg:pypi/castellan@4.3.0"},{"ecosystem":"pypi","package_name":"certifi","requirements":"2023.7.22","purl":"pkg:pypi/certifi@2023.7.22"},{"ecosystem":"pypi","package_name":"cffi","requirements":"1.15.1","purl":"pkg:pypi/cffi@1.15.1"},{"ecosystem":"pypi","package_name":"charset-normalizer","requirements":"3.2.0","purl":"pkg:pypi/charset-normalizer@3.2.0"},{"ecosystem":"pypi","package_name":"click","requirements":"8.1.7","purl":"pkg:pypi/click@8.1.7"},{"ecosystem":"pypi","package_name":"cliff","requirements":"4.3.0","purl":"pkg:pypi/cliff@4.3.0"},{"ecosystem":"pypi","package_name":"cmd2","requirements":"2.4.3","purl":"pkg:pypi/cmd2@2.4.3"},{"ecosystem":"pypi","package_name":"cryptography","requirements":"41.0.4","purl":"pkg:pypi/cryptography@41.0.4"},{"ecosystem":"pypi","package_name":"cursive","requirements":"0.2.3","purl":"pkg:pypi/cursive@0.2.3"},{"ecosystem":"pypi","package_name":"dbcounter","requirements":"0.1","purl":"pkg:pypi/dbcounter@0.1"},{"ecosystem":"pypi","package_name":"debtcollector","requirements":"2.5.0","purl":"pkg:pypi/debtcollector@2.5.0"},{"ecosystem":"pypi","package_name":"decorator","requirements":"5.1.1","purl":"pkg:pypi/decorator@5.1.1"},{"ecosystem":"pypi","package_name":"defusedxml","requirements":"0.7.1","purl":"pkg:pypi/defusedxml@0.7.1"},{"ecosystem":"pypi","package_name":"distro","requirements":"1.7.0","purl":"pkg:pypi/distro@1.7.0"},{"ecosystem":"pypi","package_name":"distro","requirements":"1.8.0","purl":"pkg:pypi/distro@1.8.0"},{"ecosystem":"pypi","package_name":"django-appconf","requirements":"1.0.5","purl":"pkg:pypi/django-appconf@1.0.5"},{"ecosystem":"pypi","package_name":"django-compressor","requirements":"4.4","purl":"pkg:pypi/django-compressor@4.4"},{"ecosystem":"pypi","package_name":"django-debreach","requirements":"2.1.0","purl":"pkg:pypi/django-debreach@2.1.0"},{"ecosystem":"pypi","package_name":"django-pyscss","requirements":"2.0.3","purl":"pkg:pypi/django-pyscss@2.0.3"},{"ecosystem":"pypi","package_name":"dnspython","requirements":"2.4.2","purl":"pkg:pypi/dnspython@2.4.2"},{"ecosystem":"pypi","package_name":"dogpile.cache","requirements":"1.2.2","purl":"pkg:pypi/dogpile.cache@1.2.2"},{"ecosystem":"pypi","package_name":"elementpath","requirements":"4.1.5","purl":"pkg:pypi/elementpath@4.1.5"},{"ecosystem":"pypi","package_name":"enmerkar","requirements":"0.7.1","purl":"pkg:pypi/enmerkar@0.7.1"},{"ecosystem":"pypi","package_name":"etcd3","requirements":"0.12.0","purl":"pkg:pypi/etcd3@0.12.0"},{"ecosystem":"pypi","package_name":"etcd3gw","requirements":"2.1.0","purl":"pkg:pypi/etcd3gw@2.1.0"},{"ecosystem":"pypi","package_name":"eventlet","requirements":"0.33.3","purl":"pkg:pypi/eventlet@0.33.3"},{"ecosystem":"pypi","package_name":"fasteners","requirements":"0.19","purl":"pkg:pypi/fasteners@0.19"},{"ecosystem":"pypi","package_name":"fixtures","requirements":"4.1.0","purl":"pkg:pypi/fixtures@4.1.0"},{"ecosystem":"pypi","package_name":"futurist","requirements":"2.4.1","purl":"pkg:pypi/futurist@2.4.1"},{"ecosystem":"pypi","package_name":"glance-store","requirements":"4.6.1","purl":"pkg:pypi/glance-store@4.6.1"},{"ecosystem":"pypi","package_name":"glance","requirements":"27.1.0.dev18","purl":"pkg:pypi/glance@27.1.0.dev18"},{"ecosystem":"pypi","package_name":"greenlet","requirements":"2.0.2","purl":"pkg:pypi/greenlet@2.0.2"},{"ecosystem":"pypi","package_name":"grpcio","requirements":"1.58.0","purl":"pkg:pypi/grpcio@1.58.0"},{"ecosystem":"pypi","package_name":"horizon","requirements":"23.4.0.dev20","purl":"pkg:pypi/horizon@23.4.0.dev20"},{"ecosystem":"pypi","package_name":"httplib2","requirements":"0.22.0","purl":"pkg:pypi/httplib2@0.22.0"},{"ecosystem":"pypi","package_name":"idna","requirements":"3.4","purl":"pkg:pypi/idna@3.4"},{"ecosystem":"pypi","package_name":"importlib-metadata","requirements":"6.0.1","purl":"pkg:pypi/importlib-metadata@6.0.1"},{"ecosystem":"pypi","package_name":"iso8601","requirements":"2.0.0","purl":"pkg:pypi/iso8601@2.0.0"},{"ecosystem":"pypi","package_name":"itsdangerous","requirements":"2.1.2","purl":"pkg:pypi/itsdangerous@2.1.2"},{"ecosystem":"pypi","package_name":"jmespath","requirements":"1.0.1","purl":"pkg:pypi/jmespath@1.0.1"},{"ecosystem":"pypi","package_name":"jsonpatch","requirements":"1.33","purl":"pkg:pypi/jsonpatch@1.33"},{"ecosystem":"pypi","package_name":"jsonpointer","requirements":"2.4","purl":"pkg:pypi/jsonpointer@2.4"},{"ecosystem":"pypi","package_name":"jsonschema-specifications","requirements":"2023.7.1","purl":"pkg:pypi/jsonschema-specifications@2023.7.1"},{"ecosystem":"pypi","package_name":"jsonschema","requirements":"4.19.1","purl":"pkg:pypi/jsonschema@4.19.1"},{"ecosystem":"pypi","package_name":"jwcrypto","requirements":"1.5.0","purl":"pkg:pypi/jwcrypto@1.5.0"},{"ecosystem":"pypi","package_name":"keystone","requirements":"24.0.1.dev1","purl":"pkg:pypi/keystone@24.0.1.dev1"},{"ecosystem":"pypi","package_name":"keystoneauth1","requirements":"5.3.0","purl":"pkg:pypi/keystoneauth1@5.3.0"},{"ecosystem":"pypi","package_name":"keystonemiddleware","requirements":"10.4.1","purl":"pkg:pypi/keystonemiddleware@10.4.1"},{"ecosystem":"pypi","package_name":"kombu","requirements":"5.3.2","purl":"pkg:pypi/kombu@5.3.2"},{"ecosystem":"pypi","package_name":"libvirt-python","requirements":"8.0.0","purl":"pkg:pypi/libvirt-python@8.0.0"},{"ecosystem":"pypi","package_name":"logutils","requirements":"0.3.5","purl":"pkg:pypi/logutils@0.3.5"},{"ecosystem":"pypi","package_name":"lxml","requirements":"4.9.3","purl":"pkg:pypi/lxml@4.9.3"},{"ecosystem":"pypi","package_name":"microversion-parse","requirements":"1.0.1","purl":"pkg:pypi/microversion-parse@1.0.1"},{"ecosystem":"pypi","package_name":"msgpack","requirements":"1.0.6","purl":"pkg:pypi/msgpack@1.0.6"},{"ecosystem":"pypi","package_name":"mysqlclient","requirements":"1.4.6","purl":"pkg:pypi/mysqlclient@1.4.6"},{"ecosystem":"pypi","package_name":"ncclient","requirements":"0.6.13","purl":"pkg:pypi/ncclient@0.6.13"},{"ecosystem":"pypi","package_name":"netaddr","requirements":"0.9.0","purl":"pkg:pypi/netaddr@0.9.0"},{"ecosystem":"pypi","package_name":"netifaces","requirements":"0.11.0","purl":"pkg:pypi/netifaces@0.11.0"},{"ecosystem":"pypi","package_name":"networkx","requirements":"3.1","purl":"pkg:pypi/networkx@3.1"},{"ecosystem":"pypi","package_name":"neutron-lib","requirements":"3.8.0","purl":"pkg:pypi/neutron-lib@3.8.0"},{"ecosystem":"pypi","package_name":"neutron","requirements":"23.1.0.dev32","purl":"pkg:pypi/neutron@23.1.0.dev32"},{"ecosystem":"pypi","package_name":"nova","requirements":"28.1.0.dev11","purl":"pkg:pypi/nova@28.1.0.dev11"},{"ecosystem":"pypi","package_name":"numpy","requirements":"1.24.2","purl":"pkg:pypi/numpy@1.24.2"},{"ecosystem":"pypi","package_name":"oauthlib","requirements":"3.2.2","purl":"pkg:pypi/oauthlib@3.2.2"},{"ecosystem":"pypi","package_name":"openstack-placement","requirements":"10.1.0.dev2","purl":"pkg:pypi/openstack-placement@10.1.0.dev2"},{"ecosystem":"pypi","package_name":"openstack-requirements","requirements":"1.2.1.dev6370","purl":"pkg:pypi/openstack-requirements@1.2.1.dev6370"},{"ecosystem":"pypi","package_name":"openstacksdk","requirements":"1.5.0","purl":"pkg:pypi/openstacksdk@1.5.0"},{"ecosystem":"pypi","package_name":"os-brick","requirements":"6.4.0","purl":"pkg:pypi/os-brick@6.4.0"},{"ecosystem":"pypi","package_name":"os-client-config","requirements":"2.1.0","purl":"pkg:pypi/os-client-config@2.1.0"},{"ecosystem":"pypi","package_name":"os-ken","requirements":"2.7.0","purl":"pkg:pypi/os-ken@2.7.0"},{"ecosystem":"pypi","package_name":"os-resource-classes","requirements":"1.1.0","purl":"pkg:pypi/os-resource-classes@1.1.0"},{"ecosystem":"pypi","package_name":"os-service-types","requirements":"1.7.0","purl":"pkg:pypi/os-service-types@1.7.0"},{"ecosystem":"pypi","package_name":"os-testr","requirements":"3.0.0","purl":"pkg:pypi/os-testr@3.0.0"},{"ecosystem":"pypi","package_name":"os-traits","requirements":"3.0.0","purl":"pkg:pypi/os-traits@3.0.0"},{"ecosystem":"pypi","package_name":"os-vif","requirements":"3.2.0","purl":"pkg:pypi/os-vif@3.2.0"},{"ecosystem":"pypi","package_name":"os-win","requirements":"5.9.0","purl":"pkg:pypi/os-win@5.9.0"},{"ecosystem":"pypi","package_name":"osc-lib","requirements":"2.8.1","purl":"pkg:pypi/osc-lib@2.8.1"},{"ecosystem":"pypi","package_name":"osc-placement","requirements":"4.2.0","purl":"pkg:pypi/osc-placement@4.2.0"},{"ecosystem":"pypi","package_name":"oslo.cache","requirements":"3.5.0","purl":"pkg:pypi/oslo.cache@3.5.0"},{"ecosystem":"pypi","package_name":"oslo.concurrency","requirements":"5.2.0","purl":"pkg:pypi/oslo.concurrency@5.2.0"},{"ecosystem":"pypi","package_name":"oslo.config","requirements":"9.2.0","purl":"pkg:pypi/oslo.config@9.2.0"},{"ecosystem":"pypi","package_name":"oslo.context","requirements":"5.2.0","purl":"pkg:pypi/oslo.context@5.2.0"},{"ecosystem":"pypi","package_name":"oslo.db","requirements":"14.1.0","purl":"pkg:pypi/oslo.db@14.1.0"},{"ecosystem":"pypi","package_name":"oslo.i18n","requirements":"6.1.0","purl":"pkg:pypi/oslo.i18n@6.1.0"},{"ecosystem":"pypi","package_name":"oslo.limit","requirements":"2.2.0","purl":"pkg:pypi/oslo.limit@2.2.0"},{"ecosystem":"pypi","package_name":"oslo.log","requirements":"5.3.0","purl":"pkg:pypi/oslo.log@5.3.0"},{"ecosystem":"pypi","package_name":"oslo.messaging","requirements":"14.4.1","purl":"pkg:pypi/oslo.messaging@14.4.1"},{"ecosystem":"pypi","package_name":"oslo.metrics","requirements":"0.7.0","purl":"pkg:pypi/oslo.metrics@0.7.0"},{"ecosystem":"pypi","package_name":"oslo.middleware","requirements":"5.2.0","purl":"pkg:pypi/oslo.middleware@5.2.0"},{"ecosystem":"pypi","package_name":"oslo.policy","requirements":"4.2.1","purl":"pkg:pypi/oslo.policy@4.2.1"},{"ecosystem":"pypi","package_name":"oslo.privsep","requirements":"3.2.0","purl":"pkg:pypi/oslo.privsep@3.2.0"},{"ecosystem":"pypi","package_name":"oslo.reports","requirements":"3.1.0","purl":"pkg:pypi/oslo.reports@3.1.0"},{"ecosystem":"pypi","package_name":"oslo.rootwrap","requirements":"7.1.0","purl":"pkg:pypi/oslo.rootwrap@7.1.0"},{"ecosystem":"pypi","package_name":"oslo.serialization","requirements":"5.2.0","purl":"pkg:pypi/oslo.serialization@5.2.0"},{"ecosystem":"pypi","package_name":"oslo.service","requirements":"3.2.0","purl":"pkg:pypi/oslo.service@3.2.0"},{"ecosystem":"pypi","package_name":"oslo.upgradecheck","requirements":"2.2.0","purl":"pkg:pypi/oslo.upgradecheck@2.2.0"},{"ecosystem":"pypi","package_name":"oslo.utils","requirements":"6.2.1","purl":"pkg:pypi/oslo.utils@6.2.1"},{"ecosystem":"pypi","package_name":"oslo.versionedobjects","requirements":"3.2.0","purl":"pkg:pypi/oslo.versionedobjects@3.2.0"},{"ecosystem":"pypi","package_name":"osprofiler","requirements":"4.1.0","purl":"pkg:pypi/osprofiler@4.1.0"},{"ecosystem":"pypi","package_name":"ovs","requirements":"2.17.7","purl":"pkg:pypi/ovs@2.17.7"},{"ecosystem":"pypi","package_name":"ovs","requirements":"3.1.2","purl":"pkg:pypi/ovs@3.1.2"},{"ecosystem":"pypi","package_name":"ovsdbapp","requirements":"2.4.1","purl":"pkg:pypi/ovsdbapp@2.4.1"},{"ecosystem":"pypi","package_name":"packaging","requirements":"23.1","purl":"pkg:pypi/packaging@23.1"},{"ecosystem":"pypi","package_name":"packaging","requirements":"23.2","purl":"pkg:pypi/packaging@23.2"},{"ecosystem":"pypi","package_name":"paramiko","requirements":"3.3.1","purl":"pkg:pypi/paramiko@3.3.1"},{"ecosystem":"pypi","package_name":"passlib","requirements":"1.7.4","purl":"pkg:pypi/passlib@1.7.4"},{"ecosystem":"pypi","package_name":"pbr","requirements":"5.11.1","purl":"pkg:pypi/pbr@5.11.1"},{"ecosystem":"pypi","package_name":"pecan","requirements":"1.5.1","purl":"pkg:pypi/pecan@1.5.1"},{"ecosystem":"pypi","package_name":"pip","requirements":"22.0.2","purl":"pkg:pypi/pip@22.0.2"},{"ecosystem":"pypi","package_name":"prettytable","requirements":"3.9.0","purl":"pkg:pypi/prettytable@3.9.0"},{"ecosystem":"pypi","package_name":"prometheus-client","requirements":"0.17.1","purl":"pkg:pypi/prometheus-client@0.17.1"},{"ecosystem":"pypi","package_name":"protobuf","requirements":"4.24.3","purl":"pkg:pypi/protobuf@4.24.3"},{"ecosystem":"pypi","package_name":"psutil","requirements":"5.9.5","purl":"pkg:pypi/psutil@5.9.5"},{"ecosystem":"pypi","package_name":"pyOpenSSL","requirements":"23.2.0","purl":"pkg:pypi/pyOpenSSL@23.2.0"},{"ecosystem":"pypi","package_name":"pyScss","requirements":"1.4.0","purl":"pkg:pypi/pyScss@1.4.0"},{"ecosystem":"pypi","package_name":"pycadf","requirements":"3.1.1","purl":"pkg:pypi/pycadf@3.1.1"},{"ecosystem":"pypi","package_name":"pycparser","requirements":"2.21","purl":"pkg:pypi/pycparser@2.21"},{"ecosystem":"pypi","package_name":"pydot","requirements":"1.4.2","purl":"pkg:pypi/pydot@1.4.2"},{"ecosystem":"pypi","package_name":"pyinotify","requirements":"0.9.6","purl":"pkg:pypi/pyinotify@0.9.6"},{"ecosystem":"pypi","package_name":"pymongo","requirements":"4.5.0","purl":"pkg:pypi/pymongo@4.5.0"},{"ecosystem":"pypi","package_name":"pyparsing","requirements":"3.1.1","purl":"pkg:pypi/pyparsing@3.1.1"},{"ecosystem":"pypi","package_name":"pyperclip","requirements":"1.8.2","purl":"pkg:pypi/pyperclip@1.8.2"},{"ecosystem":"pypi","package_name":"pyroute2","requirements":"0.7.9","purl":"pkg:pypi/pyroute2@0.7.9"},{"ecosystem":"pypi","package_name":"pysaml2","requirements":"7.3.1","purl":"pkg:pypi/pysaml2@7.3.1"},{"ecosystem":"pypi","package_name":"python-barbicanclient","requirements":"5.6.1","purl":"pkg:pypi/python-barbicanclient@5.6.1"},{"ecosystem":"pypi","package_name":"python-cinderclient","requirements":"9.4.0","purl":"pkg:pypi/python-cinderclient@9.4.0"},{"ecosystem":"pypi","package_name":"python-dateutil","requirements":"2.8.2","purl":"pkg:pypi/python-dateutil@2.8.2"},{"ecosystem":"pypi","package_name":"python-designateclient","requirements":"5.3.0","purl":"pkg:pypi/python-designateclient@5.3.0"},{"ecosystem":"pypi","package_name":"python-glanceclient","requirements":"4.4.0","purl":"pkg:pypi/python-glanceclient@4.4.0"},{"ecosystem":"pypi","package_name":"python-keystoneclient","requirements":"5.2.0","purl":"pkg:pypi/python-keystoneclient@5.2.0"},{"ecosystem":"pypi","package_name":"python-memcached","requirements":"1.59","purl":"pkg:pypi/python-memcached@1.59"},{"ecosystem":"pypi","package_name":"python-neutronclient","requirements":"11.0.0","purl":"pkg:pypi/python-neutronclient@11.0.0"},{"ecosystem":"pypi","package_name":"python-novaclient","requirements":"18.4.0","purl":"pkg:pypi/python-novaclient@18.4.0"},{"ecosystem":"pypi","package_name":"python-openstackclient","requirements":"6.3.0","purl":"pkg:pypi/python-openstackclient@6.3.0"},{"ecosystem":"pypi","package_name":"python-subunit","requirements":"1.4.3","purl":"pkg:pypi/python-subunit@1.4.3"},{"ecosystem":"pypi","package_name":"python-swiftclient","requirements":"4.4.0","purl":"pkg:pypi/python-swiftclient@4.4.0"},{"ecosystem":"pypi","package_name":"pytz","requirements":"2023.3.post1","purl":"pkg:pypi/pytz@2023.3.post1"},{"ecosystem":"pypi","package_name":"rcssmin","requirements":"1.1.1","purl":"pkg:pypi/rcssmin@1.1.1"},{"ecosystem":"pypi","package_name":"redis","requirements":"5.0.0","purl":"pkg:pypi/redis@5.0.0"},{"ecosystem":"pypi","package_name":"referencing","requirements":"0.30.2","purl":"pkg:pypi/referencing@0.30.2"},{"ecosystem":"pypi","package_name":"repoze.lru","requirements":"0.7","purl":"pkg:pypi/repoze.lru@0.7"},{"ecosystem":"pypi","package_name":"requests","requirements":"2.31.0","purl":"pkg:pypi/requests@2.31.0"},{"ecosystem":"pypi","package_name":"requestsexceptions","requirements":"1.4.0","purl":"pkg:pypi/requestsexceptions@1.4.0"},{"ecosystem":"pypi","package_name":"retrying","requirements":"1.3.4","purl":"pkg:pypi/retrying@1.3.4"},{"ecosystem":"pypi","package_name":"rfc3986","requirements":"2.0.0","purl":"pkg:pypi/rfc3986@2.0.0"},{"ecosystem":"pypi","package_name":"rjsmin","requirements":"1.2.1","purl":"pkg:pypi/rjsmin@1.2.1"},{"ecosystem":"pypi","package_name":"rpds-py","requirements":"0.10.3","purl":"pkg:pypi/rpds-py@0.10.3"},{"ecosystem":"pypi","package_name":"scrypt","requirements":"0.8.20","purl":"pkg:pypi/scrypt@0.8.20"},{"ecosystem":"pypi","package_name":"semantic-version","requirements":"2.10.0","purl":"pkg:pypi/semantic-version@2.10.0"},{"ecosystem":"pypi","package_name":"setproctitle","requirements":"1.3.2","purl":"pkg:pypi/setproctitle@1.3.2"},{"ecosystem":"pypi","package_name":"setuptools","requirements":"59.6.0","purl":"pkg:pypi/setuptools@59.6.0"},{"ecosystem":"pypi","package_name":"simplegeneric","requirements":"0.8.1","purl":"pkg:pypi/simplegeneric@0.8.1"},{"ecosystem":"pypi","package_name":"simplejson","requirements":"3.19.1","purl":"pkg:pypi/simplejson@3.19.1"},{"ecosystem":"pypi","package_name":"six","requirements":"1.16.0","purl":"pkg:pypi/six@1.16.0"},{"ecosystem":"pypi","package_name":"sortedcontainers","requirements":"2.1.0","purl":"pkg:pypi/sortedcontainers@2.1.0"},{"ecosystem":"pypi","package_name":"sortedcontainers","requirements":"2.4.0","purl":"pkg:pypi/sortedcontainers@2.4.0"},{"ecosystem":"pypi","package_name":"sqlparse","requirements":"0.4.4","purl":"pkg:pypi/sqlparse@0.4.4"},{"ecosystem":"pypi","package_name":"ssh-import-id","requirements":"5.11","purl":"pkg:pypi/ssh-import-id@5.11"},{"ecosystem":"pypi","package_name":"statsd","requirements":"4.0.1","purl":"pkg:pypi/statsd@4.0.1"},{"ecosystem":"pypi","package_name":"stevedore","requirements":"5.1.0","purl":"pkg:pypi/stevedore@5.1.0"},{"ecosystem":"pypi","package_name":"systemd-python","requirements":"234","purl":"pkg:pypi/systemd-python@234"},{"ecosystem":"pypi","package_name":"taskflow","requirements":"5.4.0","purl":"pkg:pypi/taskflow@5.4.0"},{"ecosystem":"pypi","package_name":"tenacity","requirements":"6.3.1","purl":"pkg:pypi/tenacity@6.3.1"},{"ecosystem":"pypi","package_name":"testresources","requirements":"2.0.1","purl":"pkg:pypi/testresources@2.0.1"},{"ecosystem":"pypi","package_name":"testscenarios","requirements":"0.5.0","purl":"pkg:pypi/testscenarios@0.5.0"},{"ecosystem":"pypi","package_name":"testtools","requirements":"2.6.0","purl":"pkg:pypi/testtools@2.6.0"},{"ecosystem":"pypi","package_name":"tooz","requirements":"4.2.0","purl":"pkg:pypi/tooz@4.2.0"},{"ecosystem":"pypi","package_name":"typing_extensions","requirements":"4.8.0","purl":"pkg:pypi/typing_extensions@4.8.0"},{"ecosystem":"pypi","package_name":"tzdata","requirements":"2023.3","purl":"pkg:pypi/tzdata@2023.3"},{"ecosystem":"pypi","package_name":"urllib3","requirements":"1.26.16","purl":"pkg:pypi/urllib3@1.26.16"},{"ecosystem":"pypi","package_name":"vine","requirements":"5.0.0","purl":"pkg:pypi/vine@5.0.0"},{"ecosystem":"pypi","package_name":"voluptuous","requirements":"0.13.1","purl":"pkg:pypi/voluptuous@0.13.1"},{"ecosystem":"pypi","package_name":"warlock","requirements":"2.0.1","purl":"pkg:pypi/warlock@2.0.1"},{"ecosystem":"pypi","package_name":"wcwidth","requirements":"0.2.6","purl":"pkg:pypi/wcwidth@0.2.6"},{"ecosystem":"pypi","package_name":"websockify","requirements":"0.11.0","purl":"pkg:pypi/websockify@0.11.0"},{"ecosystem":"pypi","package_name":"wheel","requirements":"0.37.1","purl":"pkg:pypi/wheel@0.37.1"},{"ecosystem":"pypi","package_name":"wrapt","requirements":"1.15.0","purl":"pkg:pypi/wrapt@1.15.0"},{"ecosystem":"pypi","package_name":"xmlschema","requirements":"2.5.0","purl":"pkg:pypi/xmlschema@2.5.0"},{"ecosystem":"pypi","package_name":"yappi","requirements":"1.4.0","purl":"pkg:pypi/yappi@1.4.0"},{"ecosystem":"pypi","package_name":"zipp","requirements":"3.17.0","purl":"pkg:pypi/zipp@3.17.0"}]}