{
  "result": {
    "4.0.5+ppc64le1": {
      "name": "patroni",
      "version": "4.0.5+ppc64le1",
      "metadata_version": "2.4",
      "summary": "PostgreSQL High-Available orchestrator and CLI",
      "home_page": "https://github.com/patroni/patroni",
      "author": "Alexander Kukushkin, Polina Bungina",
      "author_email": "akukushkin@microsoft.com, polina.bungina@zalando.de",
      "maintainer": "",
      "maintainer_email": "",
      "license": "The MIT License",
      "description": "|Tests Status| |Coverage Status|\n\nPatroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul\n--------------------------------------------------------------------\n\nYou can find a version of this documentation that is searchable and also easier to navigate at `patroni.readthedocs.io <https://patroni.readthedocs.io>`__.\n\n\nThere are many ways to run high availability with PostgreSQL; for a list, see the `PostgreSQL Documentation <https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling>`__.\n\nPatroni is a template for high availability (HA) PostgreSQL solutions using Python. For maximum accessibility, Patroni supports a variety of distributed configuration stores like `ZooKeeper <https://zookeeper.apache.org/>`__, `etcd <https://github.com/coreos/etcd>`__, `Consul <https://github.com/hashicorp/consul>`__ or `Kubernetes <https://kubernetes.io>`__. Database engineers, DBAs, DevOps engineers, and SREs who are looking to quickly deploy HA PostgreSQL in datacenters - or anywhere else - will hopefully find it useful.\n\nWe call Patroni a \"template\" because it is far from being a one-size-fits-all or plug-and-play replication system. It will have its own caveats. Use wisely.\n\nCurrently supported PostgreSQL versions: 9.3 to 17.\n\n**Note to Citus users**: Starting from 3.0 Patroni nicely integrates with the `Citus <https://github.com/citusdata/citus>`__ database extension to Postgres. Please check the `Citus support page <https://github.com/patroni/patroni/blob/master/docs/citus.rst>`__ in the Patroni documentation for more info about how to use Patroni high availability together with a Citus distributed cluster.\n\n**Note to Kubernetes users**: Patroni can run natively on top of Kubernetes. Take a look at the `Kubernetes <https://github.com/patroni/patroni/blob/master/docs/kubernetes.rst>`__ chapter of the Patroni documentation.\n\n.. contents::\n    :local:\n    :depth: 1\n    :backlinks: none\n\n=================\nHow Patroni Works\n=================\n\nPatroni (formerly known as Zalando's Patroni) originated as a fork of `Governor <https://github.com/compose/governor>`__, the project from Compose. It includes plenty of new features.\n\nFor additional background info, see:\n\n* `Elephants on Automatic: HA Clustered PostgreSQL with Helm <https://www.youtube.com/watch?v=CftcVhFMGSY>`_, talk by Josh Berkus and Oleksii Kliukin at KubeCon Berlin 2017\n* `PostgreSQL HA with Kubernetes and Patroni <https://www.youtube.com/watch?v=iruaCgeG7qs>`__, talk by Josh Berkus at KubeCon 2016 (video)\n* `Feb. 2016 Zalando Tech blog post <https://engineering.zalando.com/posts/2016/02/zalandos-patroni-a-template-for-high-availability-postgresql.html>`__\n\n==================\nDevelopment Status\n==================\n\nPatroni is in active development and accepts contributions. See our `Contributing <https://github.com/patroni/patroni/blob/master/docs/contributing_guidelines.rst>`__ section below for more details.\n\nWe report new releases information `here <https://github.com/patroni/patroni/releases>`__.\n\n=========\nCommunity\n=========\n\nThere are two places to connect with the Patroni community: `on github <https://github.com/patroni/patroni>`__, via Issues and PRs, and on channel `#patroni <https://postgresteam.slack.com/archives/C9XPYG92A>`__ in the `PostgreSQL Slack <https://pgtreats.info/slack-invite>`__.  If you're using Patroni, or just interested, please join us.\n\n===================================\nTechnical Requirements/Installation\n===================================\n\n**Pre-requirements for Mac OS**\n\nTo install requirements on a Mac, run the following:\n\n::\n\n    brew install postgresql etcd haproxy libyaml python\n\n**Psycopg**\n\nStarting from `psycopg2-2.8 <http://initd.org/psycopg/articles/2019/04/04/psycopg-28-released/>`__ the binary version of psycopg2 will no longer be installed by default. Installing it from the source code requires C compiler and postgres+python dev packages.\nSince in the python world it is not possible to specify dependency as ``psycopg2 OR psycopg2-binary`` you will have to decide how to install it.\n\nThere are a few options available:\n\n1. Use the package manager from your distro\n\n::\n\n    sudo apt-get install python3-psycopg2  # install psycopg2 module on Debian/Ubuntu\n    sudo yum install python3-psycopg2      # install psycopg2 on RedHat/Fedora/CentOS\n\n2. Specify one of `psycopg`, `psycopg2`, or `psycopg2-binary` in the list of dependencies when installing Patroni with pip (see below).\n\n\n**General installation for pip**\n\nPatroni can be installed with pip:\n\n::\n\n    pip install patroni[dependencies]\n\nwhere dependencies can be either empty, or consist of one or more of the following:\n\netcd or etcd3\n    `python-etcd` module in order to use Etcd as DCS\nconsul\n    `py-consul` module in order to use Consul as DCS\nzookeeper\n    `kazoo` module in order to use Zookeeper as DCS\nexhibitor\n    `kazoo` module in order to use Exhibitor as DCS (same dependencies as for Zookeeper)\nkubernetes\n    `kubernetes` module in order to use Kubernetes as DCS in Patroni\nraft\n    `pysyncobj` module in order to use python Raft implementation as DCS\naws\n    `boto3` in order to use AWS callbacks\nall\n    all of the above (except psycopg family)\npsycopg3\n    `psycopg[binary]>=3.0.0` module\npsycopg2\n    `psycopg2>=2.5.4` module\npsycopg2-binary\n    `psycopg2-binary` module\n\nFor example, the command in order to install Patroni together with psycopg3, dependencies for Etcd as a DCS, and AWS callbacks is:\n\n::\n\n    pip install patroni[psycopg3,etcd3,aws]\n\nNote that external tools to call in the replica creation or custom bootstrap scripts (i.e. WAL-E) should be installed independently of Patroni.\n\n=======================\nRunning and Configuring\n=======================\n\nTo get started, do the following from different terminals:\n::\n\n    > etcd --data-dir=data/etcd --enable-v2=true\n    > ./patroni.py postgres0.yml\n    > ./patroni.py postgres1.yml\n\nYou will then see a high-availability cluster start up. Test different settings in the YAML files to see how the cluster's behavior changes. Kill some of the components to see how the system behaves.\n\nAdd more ``postgres*.yml`` files to create an even larger cluster.\n\nPatroni provides an `HAProxy <http://www.haproxy.org/>`__ configuration, which will give your application a single endpoint for connecting to the cluster's leader. To configure,\nrun:\n\n::\n\n    > haproxy -f haproxy.cfg\n\n::\n\n    > psql --host 127.0.0.1 --port 5000 postgres\n\n==================\nYAML Configuration\n==================\n\nGo `here <https://github.com/patroni/patroni/blob/master/docs/dynamic_configuration.rst>`__ for comprehensive information about settings for etcd, consul, and ZooKeeper. And for an example, see `postgres0.yml <https://github.com/patroni/patroni/blob/master/postgres0.yml>`__.\n\n=========================\nEnvironment Configuration\n=========================\n\nGo `here <https://github.com/patroni/patroni/blob/master/docs/ENVIRONMENT.rst>`__ for comprehensive information about configuring(overriding) settings via environment variables.\n\n===================\nReplication Choices\n===================\n\nPatroni uses Postgres' streaming replication, which is asynchronous by default. Patroni's asynchronous replication configuration allows for ``maximum_lag_on_failover`` settings. This setting ensures failover will not occur if a follower is more than a certain number of bytes behind the leader. This setting should be increased or decreased based on business requirements. It's also possible to use synchronous replication for better durability guarantees. See `replication modes documentation <https://github.com/patroni/patroni/blob/master/docs/replication_modes.rst>`__ for details.\n\n======================================\nApplications Should Not Use Superusers\n======================================\n\nWhen connecting from an application, always use a non-superuser. Patroni requires access to the database to function properly. By using a superuser from an application, you can potentially use the entire connection pool, including the connections reserved for superusers, with the ``superuser_reserved_connections`` setting. If Patroni cannot access the Primary because the connection pool is full, behavior will be undesirable.\n\n.. |Tests Status| image:: https://github.com/patroni/patroni/actions/workflows/tests.yaml/badge.svg\n   :target: https://github.com/patroni/patroni/actions/workflows/tests.yaml?query=branch%3Amaster\n.. |Coverage Status| image:: https://coveralls.io/repos/patroni/patroni/badge.svg?branch=master\n   :target: https://coveralls.io/github/patroni/patroni?branch=master\n",
      "keywords": "etcd governor patroni postgresql postgres ha haproxy confd zookeeper exhibitor consul streaming replication kubernetes k8s",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Environment :: Console",
        "Intended Audience :: Developers",
        "Intended Audience :: System Administrators",
        "License :: OSI Approved :: MIT License",
        "Operating System :: MacOS",
        "Operating System :: POSIX :: Linux",
        "Operating System :: POSIX :: BSD :: FreeBSD",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: Implementation :: CPython",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "urllib3!=1.21,>=1.19.1",
        "PyYAML",
        "click>=4.1",
        "prettytable>=0.7",
        "python-dateutil",
        "psutil>=2.0.0",
        "ydiff!=1.4.0,!=1.4.1,<1.5,>=1.2.0",
        "boto3; extra == \"aws\"",
        "python-etcd<0.5,>=0.4.3; extra == \"etcd\"",
        "python-etcd<0.5,>=0.4.3; extra == \"etcd3\"",
        "py-consul>=1.1.1; extra == \"consul\"",
        "kazoo>=1.3.1; extra == \"exhibitor\"",
        "kazoo>=1.3.1; extra == \"zookeeper\"",
        "pysyncobj>=0.3.8; extra == \"raft\"",
        "cryptography>=1.4; extra == \"raft\"",
        "python-json-logger>=2.0.2; extra == \"jsonlogger\"",
        "boto3; extra == \"all\"",
        "python-etcd<0.5,>=0.4.3; extra == \"all\"",
        "py-consul>=1.1.1; extra == \"all\"",
        "cryptography>=1.4; extra == \"all\"",
        "kazoo>=1.3.1; extra == \"all\"",
        "pysyncobj>=0.3.8; extra == \"all\"",
        "python-json-logger>=2.0.2; extra == \"all\"",
        "psycopg2>=2.5.4; extra == \"psycopg2\"",
        "psycopg2-binary; extra == \"psycopg2-binary\"",
        "psycopg[binary]>=3.0.0; extra == \"psycopg3\""
      ],
      "requires_external": [],
      "requires_python": "",
      "description_content_type": "",
      "provides_extras": "psycopg3",
      "dynamic": "summary",
      "license_expression": "",
      "license_file": "LICENSE",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=a55af6cf0afa03b3566ce4784d84f5a3e932601485743241d7e5b87268ba9dea",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/a55/af6cf0afa03b3/patroni-4.0.5+ppc64le1-py3-none-any.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                29,
                15
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "4.0.5": {
      "name": "patroni",
      "version": "4.0.5",
      "metadata_version": "2.4",
      "summary": "PostgreSQL High-Available orchestrator and CLI",
      "home_page": "https://github.com/patroni/patroni",
      "author": "Alexander Kukushkin, Polina Bungina",
      "author_email": "akukushkin@microsoft.com, polina.bungina@zalando.de",
      "maintainer": "",
      "maintainer_email": "",
      "license": "The MIT License",
      "description": "|Tests Status| |Coverage Status|\n\nPatroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul\n--------------------------------------------------------------------\n\nYou can find a version of this documentation that is searchable and also easier to navigate at `patroni.readthedocs.io <https://patroni.readthedocs.io>`__.\n\n\nThere are many ways to run high availability with PostgreSQL; for a list, see the `PostgreSQL Documentation <https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling>`__.\n\nPatroni is a template for high availability (HA) PostgreSQL solutions using Python. For maximum accessibility, Patroni supports a variety of distributed configuration stores like `ZooKeeper <https://zookeeper.apache.org/>`__, `etcd <https://github.com/coreos/etcd>`__, `Consul <https://github.com/hashicorp/consul>`__ or `Kubernetes <https://kubernetes.io>`__. Database engineers, DBAs, DevOps engineers, and SREs who are looking to quickly deploy HA PostgreSQL in datacenters - or anywhere else - will hopefully find it useful.\n\nWe call Patroni a \"template\" because it is far from being a one-size-fits-all or plug-and-play replication system. It will have its own caveats. Use wisely.\n\nCurrently supported PostgreSQL versions: 9.3 to 17.\n\n**Note to Citus users**: Starting from 3.0 Patroni nicely integrates with the `Citus <https://github.com/citusdata/citus>`__ database extension to Postgres. Please check the `Citus support page <https://github.com/patroni/patroni/blob/master/docs/citus.rst>`__ in the Patroni documentation for more info about how to use Patroni high availability together with a Citus distributed cluster.\n\n**Note to Kubernetes users**: Patroni can run natively on top of Kubernetes. Take a look at the `Kubernetes <https://github.com/patroni/patroni/blob/master/docs/kubernetes.rst>`__ chapter of the Patroni documentation.\n\n.. contents::\n    :local:\n    :depth: 1\n    :backlinks: none\n\n=================\nHow Patroni Works\n=================\n\nPatroni (formerly known as Zalando's Patroni) originated as a fork of `Governor <https://github.com/compose/governor>`__, the project from Compose. It includes plenty of new features.\n\nFor additional background info, see:\n\n* `Elephants on Automatic: HA Clustered PostgreSQL with Helm <https://www.youtube.com/watch?v=CftcVhFMGSY>`_, talk by Josh Berkus and Oleksii Kliukin at KubeCon Berlin 2017\n* `PostgreSQL HA with Kubernetes and Patroni <https://www.youtube.com/watch?v=iruaCgeG7qs>`__, talk by Josh Berkus at KubeCon 2016 (video)\n* `Feb. 2016 Zalando Tech blog post <https://engineering.zalando.com/posts/2016/02/zalandos-patroni-a-template-for-high-availability-postgresql.html>`__\n\n==================\nDevelopment Status\n==================\n\nPatroni is in active development and accepts contributions. See our `Contributing <https://github.com/patroni/patroni/blob/master/docs/contributing_guidelines.rst>`__ section below for more details.\n\nWe report new releases information `here <https://github.com/patroni/patroni/releases>`__.\n\n=========\nCommunity\n=========\n\nThere are two places to connect with the Patroni community: `on github <https://github.com/patroni/patroni>`__, via Issues and PRs, and on channel `#patroni <https://postgresteam.slack.com/archives/C9XPYG92A>`__ in the `PostgreSQL Slack <https://pgtreats.info/slack-invite>`__.  If you're using Patroni, or just interested, please join us.\n\n===================================\nTechnical Requirements/Installation\n===================================\n\n**Pre-requirements for Mac OS**\n\nTo install requirements on a Mac, run the following:\n\n::\n\n    brew install postgresql etcd haproxy libyaml python\n\n**Psycopg**\n\nStarting from `psycopg2-2.8 <http://initd.org/psycopg/articles/2019/04/04/psycopg-28-released/>`__ the binary version of psycopg2 will no longer be installed by default. Installing it from the source code requires C compiler and postgres+python dev packages.\nSince in the python world it is not possible to specify dependency as ``psycopg2 OR psycopg2-binary`` you will have to decide how to install it.\n\nThere are a few options available:\n\n1. Use the package manager from your distro\n\n::\n\n    sudo apt-get install python3-psycopg2  # install psycopg2 module on Debian/Ubuntu\n    sudo yum install python3-psycopg2      # install psycopg2 on RedHat/Fedora/CentOS\n\n2. Specify one of `psycopg`, `psycopg2`, or `psycopg2-binary` in the list of dependencies when installing Patroni with pip (see below).\n\n\n**General installation for pip**\n\nPatroni can be installed with pip:\n\n::\n\n    pip install patroni[dependencies]\n\nwhere dependencies can be either empty, or consist of one or more of the following:\n\netcd or etcd3\n    `python-etcd` module in order to use Etcd as DCS\nconsul\n    `py-consul` module in order to use Consul as DCS\nzookeeper\n    `kazoo` module in order to use Zookeeper as DCS\nexhibitor\n    `kazoo` module in order to use Exhibitor as DCS (same dependencies as for Zookeeper)\nkubernetes\n    `kubernetes` module in order to use Kubernetes as DCS in Patroni\nraft\n    `pysyncobj` module in order to use python Raft implementation as DCS\naws\n    `boto3` in order to use AWS callbacks\nall\n    all of the above (except psycopg family)\npsycopg3\n    `psycopg[binary]>=3.0.0` module\npsycopg2\n    `psycopg2>=2.5.4` module\npsycopg2-binary\n    `psycopg2-binary` module\n\nFor example, the command in order to install Patroni together with psycopg3, dependencies for Etcd as a DCS, and AWS callbacks is:\n\n::\n\n    pip install patroni[psycopg3,etcd3,aws]\n\nNote that external tools to call in the replica creation or custom bootstrap scripts (i.e. WAL-E) should be installed independently of Patroni.\n\n=======================\nRunning and Configuring\n=======================\n\nTo get started, do the following from different terminals:\n::\n\n    > etcd --data-dir=data/etcd --enable-v2=true\n    > ./patroni.py postgres0.yml\n    > ./patroni.py postgres1.yml\n\nYou will then see a high-availability cluster start up. Test different settings in the YAML files to see how the cluster's behavior changes. Kill some of the components to see how the system behaves.\n\nAdd more ``postgres*.yml`` files to create an even larger cluster.\n\nPatroni provides an `HAProxy <http://www.haproxy.org/>`__ configuration, which will give your application a single endpoint for connecting to the cluster's leader. To configure,\nrun:\n\n::\n\n    > haproxy -f haproxy.cfg\n\n::\n\n    > psql --host 127.0.0.1 --port 5000 postgres\n\n==================\nYAML Configuration\n==================\n\nGo `here <https://github.com/patroni/patroni/blob/master/docs/dynamic_configuration.rst>`__ for comprehensive information about settings for etcd, consul, and ZooKeeper. And for an example, see `postgres0.yml <https://github.com/patroni/patroni/blob/master/postgres0.yml>`__.\n\n=========================\nEnvironment Configuration\n=========================\n\nGo `here <https://github.com/patroni/patroni/blob/master/docs/ENVIRONMENT.rst>`__ for comprehensive information about configuring(overriding) settings via environment variables.\n\n===================\nReplication Choices\n===================\n\nPatroni uses Postgres' streaming replication, which is asynchronous by default. Patroni's asynchronous replication configuration allows for ``maximum_lag_on_failover`` settings. This setting ensures failover will not occur if a follower is more than a certain number of bytes behind the leader. This setting should be increased or decreased based on business requirements. It's also possible to use synchronous replication for better durability guarantees. See `replication modes documentation <https://github.com/patroni/patroni/blob/master/docs/replication_modes.rst>`__ for details.\n\n======================================\nApplications Should Not Use Superusers\n======================================\n\nWhen connecting from an application, always use a non-superuser. Patroni requires access to the database to function properly. By using a superuser from an application, you can potentially use the entire connection pool, including the connections reserved for superusers, with the ``superuser_reserved_connections`` setting. If Patroni cannot access the Primary because the connection pool is full, behavior will be undesirable.\n\n.. |Tests Status| image:: https://github.com/patroni/patroni/actions/workflows/tests.yaml/badge.svg\n   :target: https://github.com/patroni/patroni/actions/workflows/tests.yaml?query=branch%3Amaster\n.. |Coverage Status| image:: https://coveralls.io/repos/patroni/patroni/badge.svg?branch=master\n   :target: https://coveralls.io/github/patroni/patroni?branch=master\n",
      "keywords": "etcd governor patroni postgresql postgres ha haproxy confd zookeeper exhibitor consul streaming replication kubernetes k8s",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Environment :: Console",
        "Intended Audience :: Developers",
        "Intended Audience :: System Administrators",
        "License :: OSI Approved :: MIT License",
        "Operating System :: MacOS",
        "Operating System :: POSIX :: Linux",
        "Operating System :: POSIX :: BSD :: FreeBSD",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: Implementation :: CPython",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "urllib3!=1.21,>=1.19.1",
        "PyYAML",
        "click>=4.1",
        "prettytable>=0.7",
        "python-dateutil",
        "psutil>=2.0.0",
        "ydiff!=1.4.0,!=1.4.1,<1.5,>=1.2.0",
        "boto3; extra == \"aws\"",
        "python-etcd<0.5,>=0.4.3; extra == \"etcd\"",
        "python-etcd<0.5,>=0.4.3; extra == \"etcd3\"",
        "py-consul>=1.1.1; extra == \"consul\"",
        "kazoo>=1.3.1; extra == \"exhibitor\"",
        "kazoo>=1.3.1; extra == \"zookeeper\"",
        "pysyncobj>=0.3.8; extra == \"raft\"",
        "cryptography>=1.4; extra == \"raft\"",
        "python-json-logger>=2.0.2; extra == \"jsonlogger\"",
        "boto3; extra == \"all\"",
        "python-etcd<0.5,>=0.4.3; extra == \"all\"",
        "py-consul>=1.1.1; extra == \"all\"",
        "cryptography>=1.4; extra == \"all\"",
        "kazoo>=1.3.1; extra == \"all\"",
        "pysyncobj>=0.3.8; extra == \"all\"",
        "python-json-logger>=2.0.2; extra == \"all\"",
        "psycopg2>=2.5.4; extra == \"psycopg2\"",
        "psycopg2-binary; extra == \"psycopg2-binary\"",
        "psycopg[binary]>=3.0.0; extra == \"psycopg3\""
      ],
      "requires_external": [],
      "requires_python": "",
      "description_content_type": "",
      "provides_extras": [
        "aws",
        "etcd",
        "etcd3",
        "consul",
        "exhibitor",
        "zookeeper",
        "kubernetes",
        "raft",
        "jsonlogger",
        "all",
        "psycopg2",
        "psycopg2-binary",
        "psycopg3"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "provides-extra",
        "requires-dist",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=5cd7f4cef3838b8ce49c788d2c34c08aae8b518c8fd6073ea19a6658bd8ec6ff",
          "hashes": {
            "sha256": "5cd7f4cef3838b8ce49c788d2c34c08aae8b518c8fd6073ea19a6658bd8ec6ff"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/5cd/7f4cef3838b8c/patroni-4.0.5-py3-none-any.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                13,
                0,
                18
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    }
  },
  "type": "projectconfig"
}
