# https://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files
[metadata]
name = portpicker
version = 1.5.2
maintainer = Google LLC
maintainer_email = greg@krypto.org
license = Apache 2.0
license_files = LICENSE
description = A library to choose unique available network ports.
url = https://github.com/google/python_portpicker
long_description = Portpicker provides an API to find and return an available
    network port for an application to bind to.  Ideally suited for use from
    unittests or for test harnesses that launch local servers.

    It also contains an optional portserver that can be used to coordinate
    allocation of network ports on a single build/test farm host across all
    processes willing to use a port server aware port picker library such as
    this one.
classifiers =
    Development Status :: 5 - Production/Stable
    License :: OSI Approved :: Apache Software License
    Intended Audience :: Developers
    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 :: Implementation :: CPython
    Programming Language :: Python :: Implementation :: PyPy
platforms = POSIX, Windows
requires =

[options]
install_requires = psutil
python_requires = >= 3.6
package_dir=
    =src
py_modules = portpicker
scripts = src/portserver.py
