Metadata-Version: 2.1
Name: lemur
Version: 1.7.0
Summary: Certificate management and orchestration service
Home-page: https://github.com/Netflix/lemur
Author: The Lemur developers
Author-email: security@netflix.com
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: acme==2.8.0
Requires-Dist: alembic==1.12.0
Requires-Dist: alembic-autogenerate-enums==0.1.2
Requires-Dist: amqp==5.1.1
Requires-Dist: aniso8601==9.0.1
Requires-Dist: arrow==1.3.0
Requires-Dist: async-timeout==4.0.3
Requires-Dist: asyncpool==1.0
Requires-Dist: attrs==23.1.0
Requires-Dist: bcrypt==4.0.1
Requires-Dist: billiard==4.2.0
Requires-Dist: blinker==1.6.3
Requires-Dist: boto3==1.34.19
Requires-Dist: botocore==1.34.19
Requires-Dist: celery[redis]==5.3.5
Requires-Dist: certbot==2.8.0
Requires-Dist: certifi==2023.11.17
Requires-Dist: certsrv[ntlm]==2.1.1
Requires-Dist: cffi==1.16.0
Requires-Dist: charset-normalizer==3.3.0
Requires-Dist: click==8.1.7
Requires-Dist: click-didyoumean==0.3.0
Requires-Dist: click-plugins==1.1.1
Requires-Dist: click-repl==0.3.0
Requires-Dist: cloudflare==2.16.0
Requires-Dist: configargparse==1.7
Requires-Dist: configobj==5.0.8
Requires-Dist: cryptography==41.0.7
Requires-Dist: deprecated==1.2.14
Requires-Dist: distro==1.8.0
Requires-Dist: dnspython==1.15.0
Requires-Dist: dnspython3==1.15.0
Requires-Dist: dyn==1.8.6
Requires-Dist: flask==2.3.3
Requires-Dist: flask-bcrypt==1.0.1
Requires-Dist: flask-cors==4.0.0
Requires-Dist: flask-limiter==3.5.0
Requires-Dist: flask-mail==0.9.1
Requires-Dist: flask-migrate==4.0.5
Requires-Dist: flask-principal==0.4.0
Requires-Dist: flask-replicated==2.1
Requires-Dist: flask-restful==0.3.10
Requires-Dist: flask-sqlalchemy==2.5.1
Requires-Dist: future==0.18.3
Requires-Dist: gunicorn==21.2.0
Requires-Dist: hvac==2.0.0
Requires-Dist: idna==3.4
Requires-Dist: importlib-metadata==6.8.0
Requires-Dist: importlib-resources==6.1.0
Requires-Dist: inflection==0.5.1
Requires-Dist: itsdangerous==2.1.2
Requires-Dist: javaobj-py3==0.4.3
Requires-Dist: jinja2==3.1.3
Requires-Dist: jmespath==1.0.1
Requires-Dist: josepy==1.14.0
Requires-Dist: jsonlines==4.0.0
Requires-Dist: kombu==5.3.3
Requires-Dist: limits==3.6.0
Requires-Dist: lockfile==0.12.2
Requires-Dist: logmatic-python==0.1.7
Requires-Dist: mako==1.2.4
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: markupsafe==2.1.3
Requires-Dist: marshmallow==2.21.0
Requires-Dist: marshmallow-sqlalchemy==0.23.1
Requires-Dist: mdurl==0.1.2
Requires-Dist: ndg-httpsclient==0.5.1
Requires-Dist: ordered-set==4.1.0
Requires-Dist: packaging==23.2
Requires-Dist: paramiko==3.4.0
Requires-Dist: parsedatetime==2.6
Requires-Dist: pem==23.1.0
Requires-Dist: prompt-toolkit==3.0.39
Requires-Dist: psycopg2==2.9.9
Requires-Dist: pyasn1==0.5.0
Requires-Dist: pyasn1-modules==0.3.0
Requires-Dist: pycparser==2.21
Requires-Dist: pycryptodomex==3.19.1
Requires-Dist: pygments==2.16.1
Requires-Dist: pyjks==20.0.0
Requires-Dist: pyjwt==2.8.0
Requires-Dist: pynacl==1.5.0
Requires-Dist: pyopenssl==23.3.0
Requires-Dist: pyrfc3339==1.1
Requires-Dist: pyspnego==0.10.2
Requires-Dist: python-dateutil==2.8.2
Requires-Dist: python-json-logger==2.0.7
Requires-Dist: python-ldap==3.4.4
Requires-Dist: pytz==2023.3.post1
Requires-Dist: pyyaml==6.0.1
Requires-Dist: redis==5.0.1
Requires-Dist: requests==2.31.0
Requires-Dist: requests-ntlm==1.2.0
Requires-Dist: retrying==1.3.4
Requires-Dist: rich==13.6.0
Requires-Dist: s3transfer==0.10.0
Requires-Dist: sentry-sdk==1.37.1
Requires-Dist: six==1.16.0
Requires-Dist: sqlalchemy==1.3.24
Requires-Dist: sqlalchemy-utils==0.41.1
Requires-Dist: tabulate==0.9.0
Requires-Dist: twofish==0.3.0
Requires-Dist: types-python-dateutil==2.8.19.14
Requires-Dist: typing-extensions==4.8.0
Requires-Dist: tzdata==2023.3
Requires-Dist: urllib3==1.26.18
Requires-Dist: validators==0.22.0
Requires-Dist: vine==5.1.0
Requires-Dist: wcwidth==0.2.8
Requires-Dist: werkzeug==3.0.1
Requires-Dist: wrapt==1.15.0
Requires-Dist: xmltodict==0.13.0
Requires-Dist: zipp==3.17.0
Provides-Extra: tests
Requires-Dist: acme==2.8.0; extra == "tests"
Requires-Dist: alembic==1.12.0; extra == "tests"
Requires-Dist: alembic-autogenerate-enums==0.1.2; extra == "tests"
Requires-Dist: amqp==5.1.1; extra == "tests"
Requires-Dist: aniso8601==9.0.1; extra == "tests"
Requires-Dist: annotated-types==0.6.0; extra == "tests"
Requires-Dist: arrow==1.3.0; extra == "tests"
Requires-Dist: async-timeout==4.0.3; extra == "tests"
Requires-Dist: asyncpool==1.0; extra == "tests"
Requires-Dist: attrs==23.1.0; extra == "tests"
Requires-Dist: aws-sam-translator==1.78.0; extra == "tests"
Requires-Dist: aws-xray-sdk==2.12.1; extra == "tests"
Requires-Dist: bandit==1.7.6; extra == "tests"
Requires-Dist: bcrypt==4.0.1; extra == "tests"
Requires-Dist: billiard==4.2.0; extra == "tests"
Requires-Dist: black==23.12.1; extra == "tests"
Requires-Dist: blinker==1.6.3; extra == "tests"
Requires-Dist: boto3==1.34.19; extra == "tests"
Requires-Dist: botocore==1.34.19; extra == "tests"
Requires-Dist: celery[redis]==5.3.5; extra == "tests"
Requires-Dist: certbot==2.8.0; extra == "tests"
Requires-Dist: certifi==2023.11.17; extra == "tests"
Requires-Dist: certsrv[ntlm]==2.1.1; extra == "tests"
Requires-Dist: cffi==1.16.0; extra == "tests"
Requires-Dist: cfn-lint==0.82.2; extra == "tests"
Requires-Dist: charset-normalizer==3.3.0; extra == "tests"
Requires-Dist: click==8.1.7; extra == "tests"
Requires-Dist: click-didyoumean==0.3.0; extra == "tests"
Requires-Dist: click-plugins==1.1.1; extra == "tests"
Requires-Dist: click-repl==0.3.0; extra == "tests"
Requires-Dist: cloudflare==2.16.0; extra == "tests"
Requires-Dist: configargparse==1.7; extra == "tests"
Requires-Dist: configobj==5.0.8; extra == "tests"
Requires-Dist: coverage==7.4.0; extra == "tests"
Requires-Dist: cryptography==41.0.7; extra == "tests"
Requires-Dist: deprecated==1.2.14; extra == "tests"
Requires-Dist: distro==1.8.0; extra == "tests"
Requires-Dist: dnspython==1.15.0; extra == "tests"
Requires-Dist: dnspython3==1.15.0; extra == "tests"
Requires-Dist: docker==6.1.3; extra == "tests"
Requires-Dist: dyn==1.8.6; extra == "tests"
Requires-Dist: ecdsa==0.18.0; extra == "tests"
Requires-Dist: exceptiongroup==1.1.3; extra == "tests"
Requires-Dist: factory-boy==3.3.0; extra == "tests"
Requires-Dist: faker==22.2.0; extra == "tests"
Requires-Dist: fakeredis==2.20.1; extra == "tests"
Requires-Dist: flask==2.3.3; extra == "tests"
Requires-Dist: flask-bcrypt==1.0.1; extra == "tests"
Requires-Dist: flask-cors==4.0.0; extra == "tests"
Requires-Dist: flask-limiter==3.5.0; extra == "tests"
Requires-Dist: flask-mail==0.9.1; extra == "tests"
Requires-Dist: flask-migrate==4.0.5; extra == "tests"
Requires-Dist: flask-principal==0.4.0; extra == "tests"
Requires-Dist: flask-replicated==2.1; extra == "tests"
Requires-Dist: flask-restful==0.3.10; extra == "tests"
Requires-Dist: flask-sqlalchemy==2.5.1; extra == "tests"
Requires-Dist: freezegun==1.3.1; extra == "tests"
Requires-Dist: future==0.18.3; extra == "tests"
Requires-Dist: gitdb==4.0.10; extra == "tests"
Requires-Dist: gitpython==3.1.41; extra == "tests"
Requires-Dist: graphql-core==3.2.3; extra == "tests"
Requires-Dist: gunicorn==21.2.0; extra == "tests"
Requires-Dist: hvac==2.0.0; extra == "tests"
Requires-Dist: idna==3.4; extra == "tests"
Requires-Dist: importlib-metadata==6.8.0; extra == "tests"
Requires-Dist: importlib-resources==6.1.0; extra == "tests"
Requires-Dist: inflection==0.5.1; extra == "tests"
Requires-Dist: iniconfig==2.0.0; extra == "tests"
Requires-Dist: itsdangerous==2.1.2; extra == "tests"
Requires-Dist: javaobj-py3==0.4.3; extra == "tests"
Requires-Dist: jinja2==3.1.3; extra == "tests"
Requires-Dist: jmespath==1.0.1; extra == "tests"
Requires-Dist: josepy==1.14.0; extra == "tests"
Requires-Dist: jschema-to-python==1.2.3; extra == "tests"
Requires-Dist: jsondiff==2.0.0; extra == "tests"
Requires-Dist: jsonlines==4.0.0; extra == "tests"
Requires-Dist: jsonpatch==1.33; extra == "tests"
Requires-Dist: jsonpickle==3.0.2; extra == "tests"
Requires-Dist: jsonpointer==2.4; extra == "tests"
Requires-Dist: jsonschema==4.19.1; extra == "tests"
Requires-Dist: jsonschema-path==0.3.1; extra == "tests"
Requires-Dist: jsonschema-specifications==2023.7.1; extra == "tests"
Requires-Dist: junit-xml==1.9; extra == "tests"
Requires-Dist: kombu==5.3.3; extra == "tests"
Requires-Dist: lazy-object-proxy==1.9.0; extra == "tests"
Requires-Dist: limits==3.6.0; extra == "tests"
Requires-Dist: lockfile==0.12.2; extra == "tests"
Requires-Dist: logmatic-python==0.1.7; extra == "tests"
Requires-Dist: mako==1.2.4; extra == "tests"
Requires-Dist: markdown-it-py==3.0.0; extra == "tests"
Requires-Dist: markupsafe==2.1.3; extra == "tests"
Requires-Dist: marshmallow==2.21.0; extra == "tests"
Requires-Dist: marshmallow-sqlalchemy==0.23.1; extra == "tests"
Requires-Dist: mdurl==0.1.2; extra == "tests"
Requires-Dist: moto[all]==4.2.10; extra == "tests"
Requires-Dist: mpmath==1.3.0; extra == "tests"
Requires-Dist: multipart==0.2.4; extra == "tests"
Requires-Dist: mypy==1.8.0; extra == "tests"
Requires-Dist: mypy-extensions==1.0.0; extra == "tests"
Requires-Dist: ndg-httpsclient==0.5.1; extra == "tests"
Requires-Dist: networkx==3.1; extra == "tests"
Requires-Dist: nose==1.3.7; extra == "tests"
Requires-Dist: openapi-schema-validator==0.6.2; extra == "tests"
Requires-Dist: openapi-spec-validator==0.7.1; extra == "tests"
Requires-Dist: ordered-set==4.1.0; extra == "tests"
Requires-Dist: packaging==23.2; extra == "tests"
Requires-Dist: paramiko==3.4.0; extra == "tests"
Requires-Dist: parsedatetime==2.6; extra == "tests"
Requires-Dist: pathable==0.4.3; extra == "tests"
Requires-Dist: pathspec==0.11.2; extra == "tests"
Requires-Dist: pbr==5.11.1; extra == "tests"
Requires-Dist: pem==23.1.0; extra == "tests"
Requires-Dist: platformdirs==3.11.0; extra == "tests"
Requires-Dist: pluggy==1.3.0; extra == "tests"
Requires-Dist: prompt-toolkit==3.0.39; extra == "tests"
Requires-Dist: psycopg2==2.9.9; extra == "tests"
Requires-Dist: py-partiql-parser==0.4.2; extra == "tests"
Requires-Dist: pyasn1==0.5.0; extra == "tests"
Requires-Dist: pyasn1-modules==0.3.0; extra == "tests"
Requires-Dist: pycparser==2.21; extra == "tests"
Requires-Dist: pycryptodomex==3.19.1; extra == "tests"
Requires-Dist: pydantic==2.4.2; extra == "tests"
Requires-Dist: pydantic-core==2.10.1; extra == "tests"
Requires-Dist: pyflakes==3.1.0; extra == "tests"
Requires-Dist: pygments==2.16.1; extra == "tests"
Requires-Dist: pyjks==20.0.0; extra == "tests"
Requires-Dist: pyjwt==2.8.0; extra == "tests"
Requires-Dist: pynacl==1.5.0; extra == "tests"
Requires-Dist: pyopenssl==23.3.0; extra == "tests"
Requires-Dist: pyparsing==3.1.1; extra == "tests"
Requires-Dist: pyrfc3339==1.1; extra == "tests"
Requires-Dist: pyspnego==0.10.2; extra == "tests"
Requires-Dist: pytest==7.4.4; extra == "tests"
Requires-Dist: pytest-flask==1.3.0; extra == "tests"
Requires-Dist: pytest-mock==3.12.0; extra == "tests"
Requires-Dist: python-dateutil==2.8.2; extra == "tests"
Requires-Dist: python-jose[cryptography]==3.3.0; extra == "tests"
Requires-Dist: python-json-logger==2.0.7; extra == "tests"
Requires-Dist: python-ldap==3.4.4; extra == "tests"
Requires-Dist: pytz==2023.3.post1; extra == "tests"
Requires-Dist: pyyaml==6.0.1; extra == "tests"
Requires-Dist: redis==5.0.1; extra == "tests"
Requires-Dist: referencing==0.30.2; extra == "tests"
Requires-Dist: regex==2023.10.3; extra == "tests"
Requires-Dist: requests==2.31.0; extra == "tests"
Requires-Dist: requests-mock==1.11.0; extra == "tests"
Requires-Dist: requests-ntlm==1.2.0; extra == "tests"
Requires-Dist: responses==0.23.3; extra == "tests"
Requires-Dist: retrying==1.3.4; extra == "tests"
Requires-Dist: rfc3339-validator==0.1.4; extra == "tests"
Requires-Dist: rich==13.6.0; extra == "tests"
Requires-Dist: rpds-py==0.10.6; extra == "tests"
Requires-Dist: rsa==4.9; extra == "tests"
Requires-Dist: s3transfer==0.10.0; extra == "tests"
Requires-Dist: sarif-om==1.0.4; extra == "tests"
Requires-Dist: sentry-sdk==1.37.1; extra == "tests"
Requires-Dist: six==1.16.0; extra == "tests"
Requires-Dist: smmap==5.0.1; extra == "tests"
Requires-Dist: sortedcontainers==2.4.0; extra == "tests"
Requires-Dist: sqlalchemy==1.3.24; extra == "tests"
Requires-Dist: sqlalchemy-utils==0.41.1; extra == "tests"
Requires-Dist: sshpubkeys==3.3.1; extra == "tests"
Requires-Dist: stevedore==5.1.0; extra == "tests"
Requires-Dist: sympy==1.12; extra == "tests"
Requires-Dist: tabulate==0.9.0; extra == "tests"
Requires-Dist: tomli==2.0.1; extra == "tests"
Requires-Dist: twofish==0.3.0; extra == "tests"
Requires-Dist: types-deprecated==1.2.9.3; extra == "tests"
Requires-Dist: types-paramiko==3.4.0.20240106; extra == "tests"
Requires-Dist: types-pyopenssl==23.3.0.20240106; extra == "tests"
Requires-Dist: types-pyrfc3339==1.1.1.5; extra == "tests"
Requires-Dist: types-python-dateutil==2.8.19.14; extra == "tests"
Requires-Dist: types-pytz==2023.3.1.1; extra == "tests"
Requires-Dist: types-pyyaml==6.0.12.12; extra == "tests"
Requires-Dist: types-redis==4.6.0.11; extra == "tests"
Requires-Dist: types-requests==2.31.0.6; extra == "tests"
Requires-Dist: types-setuptools==69.0.0.0; extra == "tests"
Requires-Dist: types-six==1.16.21.9; extra == "tests"
Requires-Dist: types-tabulate==0.9.0.20240106; extra == "tests"
Requires-Dist: types-urllib3==1.26.25.14; extra == "tests"
Requires-Dist: typing-extensions==4.8.0; extra == "tests"
Requires-Dist: tzdata==2023.3; extra == "tests"
Requires-Dist: urllib3==1.26.18; extra == "tests"
Requires-Dist: validators==0.22.0; extra == "tests"
Requires-Dist: vine==5.1.0; extra == "tests"
Requires-Dist: wcwidth==0.2.8; extra == "tests"
Requires-Dist: websocket-client==1.6.4; extra == "tests"
Requires-Dist: werkzeug==3.0.1; extra == "tests"
Requires-Dist: wrapt==1.15.0; extra == "tests"
Requires-Dist: xmltodict==0.13.0; extra == "tests"
Requires-Dist: zipp==3.17.0; extra == "tests"
Provides-Extra: docs
Requires-Dist: acme==2.8.0; extra == "docs"
Requires-Dist: alabaster==0.7.13; extra == "docs"
Requires-Dist: alembic==1.12.0; extra == "docs"
Requires-Dist: alembic-autogenerate-enums==0.1.2; extra == "docs"
Requires-Dist: amqp==5.1.1; extra == "docs"
Requires-Dist: aniso8601==9.0.1; extra == "docs"
Requires-Dist: annotated-types==0.6.0; extra == "docs"
Requires-Dist: arrow==1.3.0; extra == "docs"
Requires-Dist: async-timeout==4.0.3; extra == "docs"
Requires-Dist: asyncpool==1.0; extra == "docs"
Requires-Dist: attrs==23.1.0; extra == "docs"
Requires-Dist: aws-sam-translator==1.78.0; extra == "docs"
Requires-Dist: aws-xray-sdk==2.12.1; extra == "docs"
Requires-Dist: babel==2.13.0; extra == "docs"
Requires-Dist: bandit==1.7.6; extra == "docs"
Requires-Dist: bcrypt==4.0.1; extra == "docs"
Requires-Dist: billiard==4.2.0; extra == "docs"
Requires-Dist: black==23.12.1; extra == "docs"
Requires-Dist: blinker==1.6.3; extra == "docs"
Requires-Dist: boto3==1.34.19; extra == "docs"
Requires-Dist: botocore==1.34.19; extra == "docs"
Requires-Dist: celery[redis]==5.3.5; extra == "docs"
Requires-Dist: certbot==2.8.0; extra == "docs"
Requires-Dist: certifi==2023.11.17; extra == "docs"
Requires-Dist: certsrv[ntlm]==2.1.1; extra == "docs"
Requires-Dist: cffi==1.16.0; extra == "docs"
Requires-Dist: cfn-lint==0.82.2; extra == "docs"
Requires-Dist: charset-normalizer==3.3.0; extra == "docs"
Requires-Dist: click==8.1.7; extra == "docs"
Requires-Dist: click-didyoumean==0.3.0; extra == "docs"
Requires-Dist: click-plugins==1.1.1; extra == "docs"
Requires-Dist: click-repl==0.3.0; extra == "docs"
Requires-Dist: cloudflare==2.16.0; extra == "docs"
Requires-Dist: configargparse==1.7; extra == "docs"
Requires-Dist: configobj==5.0.8; extra == "docs"
Requires-Dist: coverage==7.4.0; extra == "docs"
Requires-Dist: cryptography==41.0.7; extra == "docs"
Requires-Dist: deprecated==1.2.14; extra == "docs"
Requires-Dist: distro==1.8.0; extra == "docs"
Requires-Dist: dnspython==1.15.0; extra == "docs"
Requires-Dist: dnspython3==1.15.0; extra == "docs"
Requires-Dist: docker==6.1.3; extra == "docs"
Requires-Dist: docutils==0.18.1; extra == "docs"
Requires-Dist: dyn==1.8.6; extra == "docs"
Requires-Dist: ecdsa==0.18.0; extra == "docs"
Requires-Dist: exceptiongroup==1.1.3; extra == "docs"
Requires-Dist: factory-boy==3.3.0; extra == "docs"
Requires-Dist: faker==22.2.0; extra == "docs"
Requires-Dist: fakeredis==2.20.1; extra == "docs"
Requires-Dist: flask==2.3.3; extra == "docs"
Requires-Dist: flask-bcrypt==1.0.1; extra == "docs"
Requires-Dist: flask-cors==4.0.0; extra == "docs"
Requires-Dist: flask-limiter==3.5.0; extra == "docs"
Requires-Dist: flask-mail==0.9.1; extra == "docs"
Requires-Dist: flask-migrate==4.0.5; extra == "docs"
Requires-Dist: flask-principal==0.4.0; extra == "docs"
Requires-Dist: flask-replicated==2.1; extra == "docs"
Requires-Dist: flask-restful==0.3.10; extra == "docs"
Requires-Dist: flask-sqlalchemy==2.5.1; extra == "docs"
Requires-Dist: freezegun==1.3.1; extra == "docs"
Requires-Dist: future==0.18.3; extra == "docs"
Requires-Dist: gitdb==4.0.10; extra == "docs"
Requires-Dist: gitpython==3.1.41; extra == "docs"
Requires-Dist: graphql-core==3.2.3; extra == "docs"
Requires-Dist: gunicorn==21.2.0; extra == "docs"
Requires-Dist: hvac==2.0.0; extra == "docs"
Requires-Dist: idna==3.4; extra == "docs"
Requires-Dist: imagesize==1.4.1; extra == "docs"
Requires-Dist: importlib-metadata==6.8.0; extra == "docs"
Requires-Dist: importlib-resources==6.1.0; extra == "docs"
Requires-Dist: inflection==0.5.1; extra == "docs"
Requires-Dist: iniconfig==2.0.0; extra == "docs"
Requires-Dist: itsdangerous==2.1.2; extra == "docs"
Requires-Dist: javaobj-py3==0.4.3; extra == "docs"
Requires-Dist: jinja2==3.1.3; extra == "docs"
Requires-Dist: jmespath==1.0.1; extra == "docs"
Requires-Dist: josepy==1.14.0; extra == "docs"
Requires-Dist: jschema-to-python==1.2.3; extra == "docs"
Requires-Dist: jsondiff==2.0.0; extra == "docs"
Requires-Dist: jsonlines==4.0.0; extra == "docs"
Requires-Dist: jsonpatch==1.33; extra == "docs"
Requires-Dist: jsonpickle==3.0.2; extra == "docs"
Requires-Dist: jsonpointer==2.4; extra == "docs"
Requires-Dist: jsonschema==4.19.1; extra == "docs"
Requires-Dist: jsonschema-path==0.3.1; extra == "docs"
Requires-Dist: jsonschema-specifications==2023.7.1; extra == "docs"
Requires-Dist: junit-xml==1.9; extra == "docs"
Requires-Dist: kombu==5.3.3; extra == "docs"
Requires-Dist: lazy-object-proxy==1.9.0; extra == "docs"
Requires-Dist: limits==3.6.0; extra == "docs"
Requires-Dist: lockfile==0.12.2; extra == "docs"
Requires-Dist: logmatic-python==0.1.7; extra == "docs"
Requires-Dist: mako==1.2.4; extra == "docs"
Requires-Dist: markdown-it-py==3.0.0; extra == "docs"
Requires-Dist: markupsafe==2.1.3; extra == "docs"
Requires-Dist: marshmallow==2.21.0; extra == "docs"
Requires-Dist: marshmallow-sqlalchemy==0.23.1; extra == "docs"
Requires-Dist: mdurl==0.1.2; extra == "docs"
Requires-Dist: moto[all]==4.2.10; extra == "docs"
Requires-Dist: mpmath==1.3.0; extra == "docs"
Requires-Dist: multipart==0.2.4; extra == "docs"
Requires-Dist: mypy==1.8.0; extra == "docs"
Requires-Dist: mypy-extensions==1.0.0; extra == "docs"
Requires-Dist: ndg-httpsclient==0.5.1; extra == "docs"
Requires-Dist: networkx==3.1; extra == "docs"
Requires-Dist: nose==1.3.7; extra == "docs"
Requires-Dist: openapi-schema-validator==0.6.2; extra == "docs"
Requires-Dist: openapi-spec-validator==0.7.1; extra == "docs"
Requires-Dist: ordered-set==4.1.0; extra == "docs"
Requires-Dist: packaging==23.2; extra == "docs"
Requires-Dist: paramiko==3.4.0; extra == "docs"
Requires-Dist: parsedatetime==2.6; extra == "docs"
Requires-Dist: pathable==0.4.3; extra == "docs"
Requires-Dist: pathspec==0.11.2; extra == "docs"
Requires-Dist: pbr==5.11.1; extra == "docs"
Requires-Dist: pem==23.1.0; extra == "docs"
Requires-Dist: platformdirs==3.11.0; extra == "docs"
Requires-Dist: pluggy==1.3.0; extra == "docs"
Requires-Dist: prompt-toolkit==3.0.39; extra == "docs"
Requires-Dist: psycopg2==2.9.9; extra == "docs"
Requires-Dist: py-partiql-parser==0.4.2; extra == "docs"
Requires-Dist: pyasn1==0.5.0; extra == "docs"
Requires-Dist: pyasn1-modules==0.3.0; extra == "docs"
Requires-Dist: pycparser==2.21; extra == "docs"
Requires-Dist: pycryptodomex==3.19.1; extra == "docs"
Requires-Dist: pydantic==2.4.2; extra == "docs"
Requires-Dist: pydantic-core==2.10.1; extra == "docs"
Requires-Dist: pyflakes==3.1.0; extra == "docs"
Requires-Dist: pygments==2.16.1; extra == "docs"
Requires-Dist: pyjks==20.0.0; extra == "docs"
Requires-Dist: pyjwt==2.8.0; extra == "docs"
Requires-Dist: pynacl==1.5.0; extra == "docs"
Requires-Dist: pyopenssl==23.3.0; extra == "docs"
Requires-Dist: pyparsing==3.1.1; extra == "docs"
Requires-Dist: pyrfc3339==1.1; extra == "docs"
Requires-Dist: pyspnego==0.10.2; extra == "docs"
Requires-Dist: pytest==7.4.4; extra == "docs"
Requires-Dist: pytest-flask==1.3.0; extra == "docs"
Requires-Dist: pytest-mock==3.12.0; extra == "docs"
Requires-Dist: python-dateutil==2.8.2; extra == "docs"
Requires-Dist: python-jose[cryptography]==3.3.0; extra == "docs"
Requires-Dist: python-json-logger==2.0.7; extra == "docs"
Requires-Dist: python-ldap==3.4.4; extra == "docs"
Requires-Dist: pytz==2023.3.post1; extra == "docs"
Requires-Dist: pyyaml==6.0.1; extra == "docs"
Requires-Dist: redis==5.0.1; extra == "docs"
Requires-Dist: referencing==0.30.2; extra == "docs"
Requires-Dist: regex==2023.10.3; extra == "docs"
Requires-Dist: requests==2.31.0; extra == "docs"
Requires-Dist: requests-mock==1.11.0; extra == "docs"
Requires-Dist: requests-ntlm==1.2.0; extra == "docs"
Requires-Dist: responses==0.23.3; extra == "docs"
Requires-Dist: retrying==1.3.4; extra == "docs"
Requires-Dist: rfc3339-validator==0.1.4; extra == "docs"
Requires-Dist: rich==13.6.0; extra == "docs"
Requires-Dist: rpds-py==0.10.6; extra == "docs"
Requires-Dist: rsa==4.9; extra == "docs"
Requires-Dist: s3transfer==0.10.0; extra == "docs"
Requires-Dist: sarif-om==1.0.4; extra == "docs"
Requires-Dist: sentry-sdk==1.37.1; extra == "docs"
Requires-Dist: six==1.16.0; extra == "docs"
Requires-Dist: smmap==5.0.1; extra == "docs"
Requires-Dist: snowballstemmer==2.2.0; extra == "docs"
Requires-Dist: sortedcontainers==2.4.0; extra == "docs"
Requires-Dist: sphinx==7.2.6; extra == "docs"
Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "docs"
Requires-Dist: sphinxcontrib-applehelp==1.0.7; extra == "docs"
Requires-Dist: sphinxcontrib-devhelp==1.0.5; extra == "docs"
Requires-Dist: sphinxcontrib-htmlhelp==2.0.4; extra == "docs"
Requires-Dist: sphinxcontrib-httpdomain==1.8.1; extra == "docs"
Requires-Dist: sphinxcontrib-jquery==4.1; extra == "docs"
Requires-Dist: sphinxcontrib-jsmath==1.0.1; extra == "docs"
Requires-Dist: sphinxcontrib-qthelp==1.0.6; extra == "docs"
Requires-Dist: sphinxcontrib-serializinghtml==1.1.9; extra == "docs"
Requires-Dist: sqlalchemy==1.3.24; extra == "docs"
Requires-Dist: sqlalchemy-utils==0.41.1; extra == "docs"
Requires-Dist: sshpubkeys==3.3.1; extra == "docs"
Requires-Dist: stevedore==5.1.0; extra == "docs"
Requires-Dist: sympy==1.12; extra == "docs"
Requires-Dist: tabulate==0.9.0; extra == "docs"
Requires-Dist: tomli==2.0.1; extra == "docs"
Requires-Dist: twofish==0.3.0; extra == "docs"
Requires-Dist: types-deprecated==1.2.9.3; extra == "docs"
Requires-Dist: types-paramiko==3.4.0.20240106; extra == "docs"
Requires-Dist: types-pyopenssl==23.3.0.20240106; extra == "docs"
Requires-Dist: types-pyrfc3339==1.1.1.5; extra == "docs"
Requires-Dist: types-python-dateutil==2.8.19.14; extra == "docs"
Requires-Dist: types-pytz==2023.3.1.1; extra == "docs"
Requires-Dist: types-pyyaml==6.0.12.12; extra == "docs"
Requires-Dist: types-redis==4.6.0.11; extra == "docs"
Requires-Dist: types-requests==2.31.0.6; extra == "docs"
Requires-Dist: types-setuptools==69.0.0.0; extra == "docs"
Requires-Dist: types-six==1.16.21.9; extra == "docs"
Requires-Dist: types-tabulate==0.9.0.20240106; extra == "docs"
Requires-Dist: types-urllib3==1.26.25.14; extra == "docs"
Requires-Dist: typing-extensions==4.8.0; extra == "docs"
Requires-Dist: tzdata==2023.3; extra == "docs"
Requires-Dist: urllib3==1.26.18; extra == "docs"
Requires-Dist: validators==0.22.0; extra == "docs"
Requires-Dist: vine==5.1.0; extra == "docs"
Requires-Dist: wcwidth==0.2.8; extra == "docs"
Requires-Dist: websocket-client==1.6.4; extra == "docs"
Requires-Dist: werkzeug==3.0.1; extra == "docs"
Requires-Dist: wrapt==1.15.0; extra == "docs"
Requires-Dist: xmltodict==0.13.0; extra == "docs"
Requires-Dist: zipp==3.17.0; extra == "docs"
Provides-Extra: dev
Requires-Dist: acme==2.8.0; extra == "dev"
Requires-Dist: alembic==1.12.0; extra == "dev"
Requires-Dist: alembic-autogenerate-enums==0.1.2; extra == "dev"
Requires-Dist: amqp==5.1.1; extra == "dev"
Requires-Dist: aniso8601==9.0.1; extra == "dev"
Requires-Dist: annotated-types==0.6.0; extra == "dev"
Requires-Dist: arrow==1.3.0; extra == "dev"
Requires-Dist: async-timeout==4.0.3; extra == "dev"
Requires-Dist: asyncpool==1.0; extra == "dev"
Requires-Dist: attrs==23.1.0; extra == "dev"
Requires-Dist: aws-sam-translator==1.78.0; extra == "dev"
Requires-Dist: aws-xray-sdk==2.12.1; extra == "dev"
Requires-Dist: bandit==1.7.6; extra == "dev"
Requires-Dist: bcrypt==4.0.1; extra == "dev"
Requires-Dist: billiard==4.2.0; extra == "dev"
Requires-Dist: black==23.12.1; extra == "dev"
Requires-Dist: blinker==1.6.3; extra == "dev"
Requires-Dist: boto3==1.34.19; extra == "dev"
Requires-Dist: botocore==1.34.19; extra == "dev"
Requires-Dist: celery[redis]==5.3.5; extra == "dev"
Requires-Dist: certbot==2.8.0; extra == "dev"
Requires-Dist: certifi==2023.11.17; extra == "dev"
Requires-Dist: certsrv[ntlm]==2.1.1; extra == "dev"
Requires-Dist: cffi==1.16.0; extra == "dev"
Requires-Dist: cfgv==3.4.0; extra == "dev"
Requires-Dist: cfn-lint==0.82.2; extra == "dev"
Requires-Dist: charset-normalizer==3.3.0; extra == "dev"
Requires-Dist: click==8.1.7; extra == "dev"
Requires-Dist: click-didyoumean==0.3.0; extra == "dev"
Requires-Dist: click-plugins==1.1.1; extra == "dev"
Requires-Dist: click-repl==0.3.0; extra == "dev"
Requires-Dist: cloudflare==2.16.0; extra == "dev"
Requires-Dist: configargparse==1.7; extra == "dev"
Requires-Dist: configobj==5.0.8; extra == "dev"
Requires-Dist: coverage==7.4.0; extra == "dev"
Requires-Dist: cryptography==41.0.7; extra == "dev"
Requires-Dist: deprecated==1.2.14; extra == "dev"
Requires-Dist: distlib==0.3.7; extra == "dev"
Requires-Dist: distro==1.8.0; extra == "dev"
Requires-Dist: dnspython==1.15.0; extra == "dev"
Requires-Dist: dnspython3==1.15.0; extra == "dev"
Requires-Dist: docker==6.1.3; extra == "dev"
Requires-Dist: docutils==0.20.1; extra == "dev"
Requires-Dist: dyn==1.8.6; extra == "dev"
Requires-Dist: ecdsa==0.18.0; extra == "dev"
Requires-Dist: exceptiongroup==1.1.3; extra == "dev"
Requires-Dist: factory-boy==3.3.0; extra == "dev"
Requires-Dist: faker==22.2.0; extra == "dev"
Requires-Dist: fakeredis==2.20.1; extra == "dev"
Requires-Dist: filelock==3.12.4; extra == "dev"
Requires-Dist: flake8==6.1.0; extra == "dev"
Requires-Dist: flask==2.3.3; extra == "dev"
Requires-Dist: flask-bcrypt==1.0.1; extra == "dev"
Requires-Dist: flask-cors==4.0.0; extra == "dev"
Requires-Dist: flask-limiter==3.5.0; extra == "dev"
Requires-Dist: flask-mail==0.9.1; extra == "dev"
Requires-Dist: flask-migrate==4.0.5; extra == "dev"
Requires-Dist: flask-principal==0.4.0; extra == "dev"
Requires-Dist: flask-replicated==2.1; extra == "dev"
Requires-Dist: flask-restful==0.3.10; extra == "dev"
Requires-Dist: flask-sqlalchemy==2.5.1; extra == "dev"
Requires-Dist: freezegun==1.3.1; extra == "dev"
Requires-Dist: future==0.18.3; extra == "dev"
Requires-Dist: gitdb==4.0.10; extra == "dev"
Requires-Dist: gitpython==3.1.41; extra == "dev"
Requires-Dist: graphql-core==3.2.3; extra == "dev"
Requires-Dist: gunicorn==21.2.0; extra == "dev"
Requires-Dist: hvac==2.0.0; extra == "dev"
Requires-Dist: identify==2.5.30; extra == "dev"
Requires-Dist: idna==3.4; extra == "dev"
Requires-Dist: importlib-metadata==6.8.0; extra == "dev"
Requires-Dist: importlib-resources==6.1.0; extra == "dev"
Requires-Dist: inflection==0.5.1; extra == "dev"
Requires-Dist: iniconfig==2.0.0; extra == "dev"
Requires-Dist: invoke==2.2.0; extra == "dev"
Requires-Dist: itsdangerous==2.1.2; extra == "dev"
Requires-Dist: jaraco-classes==3.3.0; extra == "dev"
Requires-Dist: javaobj-py3==0.4.3; extra == "dev"
Requires-Dist: jeepney==0.8.0; extra == "dev"
Requires-Dist: jinja2==3.1.3; extra == "dev"
Requires-Dist: jmespath==1.0.1; extra == "dev"
Requires-Dist: josepy==1.14.0; extra == "dev"
Requires-Dist: jschema-to-python==1.2.3; extra == "dev"
Requires-Dist: jsondiff==2.0.0; extra == "dev"
Requires-Dist: jsonlines==4.0.0; extra == "dev"
Requires-Dist: jsonpatch==1.33; extra == "dev"
Requires-Dist: jsonpickle==3.0.2; extra == "dev"
Requires-Dist: jsonpointer==2.4; extra == "dev"
Requires-Dist: jsonschema==4.19.1; extra == "dev"
Requires-Dist: jsonschema-path==0.3.1; extra == "dev"
Requires-Dist: jsonschema-specifications==2023.7.1; extra == "dev"
Requires-Dist: junit-xml==1.9; extra == "dev"
Requires-Dist: keyring==24.2.0; extra == "dev"
Requires-Dist: kombu==5.3.3; extra == "dev"
Requires-Dist: lazy-object-proxy==1.9.0; extra == "dev"
Requires-Dist: limits==3.6.0; extra == "dev"
Requires-Dist: lockfile==0.12.2; extra == "dev"
Requires-Dist: logmatic-python==0.1.7; extra == "dev"
Requires-Dist: mako==1.2.4; extra == "dev"
Requires-Dist: markdown-it-py==3.0.0; extra == "dev"
Requires-Dist: markupsafe==2.1.3; extra == "dev"
Requires-Dist: marshmallow==2.21.0; extra == "dev"
Requires-Dist: marshmallow-sqlalchemy==0.23.1; extra == "dev"
Requires-Dist: mccabe==0.7.0; extra == "dev"
Requires-Dist: mdurl==0.1.2; extra == "dev"
Requires-Dist: more-itertools==10.1.0; extra == "dev"
Requires-Dist: moto[all]==4.2.10; extra == "dev"
Requires-Dist: mpmath==1.3.0; extra == "dev"
Requires-Dist: multipart==0.2.4; extra == "dev"
Requires-Dist: mypy==1.8.0; extra == "dev"
Requires-Dist: mypy-extensions==1.0.0; extra == "dev"
Requires-Dist: ndg-httpsclient==0.5.1; extra == "dev"
Requires-Dist: networkx==3.1; extra == "dev"
Requires-Dist: nh3==0.2.14; extra == "dev"
Requires-Dist: nodeenv==1.8.0; extra == "dev"
Requires-Dist: nose==1.3.7; extra == "dev"
Requires-Dist: openapi-schema-validator==0.6.2; extra == "dev"
Requires-Dist: openapi-spec-validator==0.7.1; extra == "dev"
Requires-Dist: ordered-set==4.1.0; extra == "dev"
Requires-Dist: packaging==23.2; extra == "dev"
Requires-Dist: paramiko==3.4.0; extra == "dev"
Requires-Dist: parsedatetime==2.6; extra == "dev"
Requires-Dist: pathable==0.4.3; extra == "dev"
Requires-Dist: pathspec==0.11.2; extra == "dev"
Requires-Dist: pbr==5.11.1; extra == "dev"
Requires-Dist: pem==23.1.0; extra == "dev"
Requires-Dist: pkginfo==1.9.6; extra == "dev"
Requires-Dist: platformdirs==3.11.0; extra == "dev"
Requires-Dist: pluggy==1.3.0; extra == "dev"
Requires-Dist: pre-commit==3.5.0; extra == "dev"
Requires-Dist: prompt-toolkit==3.0.39; extra == "dev"
Requires-Dist: psycopg2==2.9.9; extra == "dev"
Requires-Dist: py-partiql-parser==0.4.2; extra == "dev"
Requires-Dist: pyasn1==0.5.0; extra == "dev"
Requires-Dist: pyasn1-modules==0.3.0; extra == "dev"
Requires-Dist: pycodestyle==2.11.1; extra == "dev"
Requires-Dist: pycparser==2.21; extra == "dev"
Requires-Dist: pycryptodomex==3.19.1; extra == "dev"
Requires-Dist: pydantic==2.4.2; extra == "dev"
Requires-Dist: pydantic-core==2.10.1; extra == "dev"
Requires-Dist: pyflakes==3.1.0; extra == "dev"
Requires-Dist: pygments==2.16.1; extra == "dev"
Requires-Dist: pyjks==20.0.0; extra == "dev"
Requires-Dist: pyjwt==2.8.0; extra == "dev"
Requires-Dist: pynacl==1.5.0; extra == "dev"
Requires-Dist: pyopenssl==23.3.0; extra == "dev"
Requires-Dist: pyparsing==3.1.1; extra == "dev"
Requires-Dist: pyrfc3339==1.1; extra == "dev"
Requires-Dist: pyspnego==0.10.2; extra == "dev"
Requires-Dist: pytest==7.4.4; extra == "dev"
Requires-Dist: pytest-flask==1.3.0; extra == "dev"
Requires-Dist: pytest-mock==3.12.0; extra == "dev"
Requires-Dist: python-dateutil==2.8.2; extra == "dev"
Requires-Dist: python-jose[cryptography]==3.3.0; extra == "dev"
Requires-Dist: python-json-logger==2.0.7; extra == "dev"
Requires-Dist: python-ldap==3.4.4; extra == "dev"
Requires-Dist: pytz==2023.3.post1; extra == "dev"
Requires-Dist: pyyaml==6.0.1; extra == "dev"
Requires-Dist: readme-renderer==42.0; extra == "dev"
Requires-Dist: redis==5.0.1; extra == "dev"
Requires-Dist: referencing==0.30.2; extra == "dev"
Requires-Dist: regex==2023.10.3; extra == "dev"
Requires-Dist: requests==2.31.0; extra == "dev"
Requires-Dist: requests-mock==1.11.0; extra == "dev"
Requires-Dist: requests-ntlm==1.2.0; extra == "dev"
Requires-Dist: requests-toolbelt==1.0.0; extra == "dev"
Requires-Dist: responses==0.23.3; extra == "dev"
Requires-Dist: retrying==1.3.4; extra == "dev"
Requires-Dist: rfc3339-validator==0.1.4; extra == "dev"
Requires-Dist: rfc3986==2.0.0; extra == "dev"
Requires-Dist: rich==13.6.0; extra == "dev"
Requires-Dist: rpds-py==0.10.6; extra == "dev"
Requires-Dist: rsa==4.9; extra == "dev"
Requires-Dist: s3transfer==0.10.0; extra == "dev"
Requires-Dist: sarif-om==1.0.4; extra == "dev"
Requires-Dist: secretstorage==3.3.3; extra == "dev"
Requires-Dist: sentry-sdk==1.37.1; extra == "dev"
Requires-Dist: six==1.16.0; extra == "dev"
Requires-Dist: smmap==5.0.1; extra == "dev"
Requires-Dist: sortedcontainers==2.4.0; extra == "dev"
Requires-Dist: sqlalchemy==1.3.24; extra == "dev"
Requires-Dist: sqlalchemy-utils==0.41.1; extra == "dev"
Requires-Dist: sshpubkeys==3.3.1; extra == "dev"
Requires-Dist: stevedore==5.1.0; extra == "dev"
Requires-Dist: sympy==1.12; extra == "dev"
Requires-Dist: tabulate==0.9.0; extra == "dev"
Requires-Dist: tomli==2.0.1; extra == "dev"
Requires-Dist: twine==4.0.2; extra == "dev"
Requires-Dist: twofish==0.3.0; extra == "dev"
Requires-Dist: types-deprecated==1.2.9.3; extra == "dev"
Requires-Dist: types-paramiko==3.4.0.20240106; extra == "dev"
Requires-Dist: types-pyopenssl==23.3.0.20240106; extra == "dev"
Requires-Dist: types-pyrfc3339==1.1.1.5; extra == "dev"
Requires-Dist: types-python-dateutil==2.8.19.14; extra == "dev"
Requires-Dist: types-pytz==2023.3.1.1; extra == "dev"
Requires-Dist: types-pyyaml==6.0.12.12; extra == "dev"
Requires-Dist: types-redis==4.6.0.11; extra == "dev"
Requires-Dist: types-requests==2.31.0.6; extra == "dev"
Requires-Dist: types-setuptools==69.0.0.0; extra == "dev"
Requires-Dist: types-six==1.16.21.9; extra == "dev"
Requires-Dist: types-tabulate==0.9.0.20240106; extra == "dev"
Requires-Dist: types-urllib3==1.26.25.14; extra == "dev"
Requires-Dist: typing-extensions==4.8.0; extra == "dev"
Requires-Dist: tzdata==2023.3; extra == "dev"
Requires-Dist: urllib3==1.26.18; extra == "dev"
Requires-Dist: validators==0.22.0; extra == "dev"
Requires-Dist: vine==5.1.0; extra == "dev"
Requires-Dist: virtualenv==20.24.5; extra == "dev"
Requires-Dist: wcwidth==0.2.8; extra == "dev"
Requires-Dist: websocket-client==1.6.4; extra == "dev"
Requires-Dist: werkzeug==3.0.1; extra == "dev"
Requires-Dist: wrapt==1.15.0; extra == "dev"
Requires-Dist: xmltodict==0.13.0; extra == "dev"
Requires-Dist: zipp==3.17.0; extra == "dev"

Lemur
=====

.. image:: https://badges.gitter.im/Join%20Chat.svg
   :alt: Join the chat at https://gitter.im/Netflix/lemur
   :target: https://gitter.im/Netflix/lemur?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

.. image:: https://readthedocs.org/projects/lemur/badge/?version=latest
    :target: https://lemur.readthedocs.io
    :alt: Latest Docs

.. image:: https://img.shields.io/badge/NetflixOSS-active-brightgreen.svg

.. image:: https://coveralls.io/repos/github/Netflix/lemur/badge.svg?branch=main
    :target: https://coveralls.io/github/Netflix/lemur?branch=main



Lemur manages TLS certificate creation. While not able to issue certificates itself, Lemur acts as a broker between CAs
and environments providing a central portal for developers to issue TLS certificates with 'sane' defaults.

Lemur aims to support the 3 most recent python releases which have been released for at least a year. For example, if python3.12 released last month, we'd aim to support versions 3.9, 3.10, and 3.11.
We deploy on Ubuntu and develop mostly on OS X.


Project resources
=================

- `Lemur Blog Post <http://techblog.netflix.com/2015/09/introducing-lemur.html>`_
- `Documentation <http://lemur.readthedocs.io/>`_
- `Source code <https://github.com/netflix/lemur>`_
- `Issue tracker <https://github.com/netflix/lemur/issues>`_
- `Docker <https://github.com/Netflix/lemur-docker>`_
