Metadata-Version: 2.1
Name: lemur
Version: 1.2.0
Summary: Certificate management and orchestration service
Home-page: https://github.com/Netflix/lemur
Author: The Lemur developers
Author-email: security@netflix.com
License: UNKNOWN
Platform: UNKNOWN
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.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: acme (==1.22.0)
Requires-Dist: alembic (==1.7.5)
Requires-Dist: alembic-autogenerate-enums (==0.0.2)
Requires-Dist: amqp (==5.0.9)
Requires-Dist: aniso8601 (==9.0.1)
Requires-Dist: arrow (==1.2.2)
Requires-Dist: asyncpool (==1.0)
Requires-Dist: attrs (==21.4.0)
Requires-Dist: bcrypt (==3.2.0)
Requires-Dist: beautifulsoup4 (==4.10.0)
Requires-Dist: billiard (==3.6.4.0)
Requires-Dist: blinker (==1.4)
Requires-Dist: boto3 (==1.20.41)
Requires-Dist: botocore (==1.23.41)
Requires-Dist: celery[redis] (==5.2.3)
Requires-Dist: certbot (==1.22.0)
Requires-Dist: certifi (==2021.10.8)
Requires-Dist: certsrv (==2.1.1)
Requires-Dist: cffi (==1.15.0)
Requires-Dist: charset-normalizer (==2.0.10)
Requires-Dist: click (==8.0.3)
Requires-Dist: click-didyoumean (==0.3.0)
Requires-Dist: click-plugins (==1.1.1)
Requires-Dist: click-repl (==0.2.0)
Requires-Dist: cloudflare (==2.8.15)
Requires-Dist: configargparse (==1.5.3)
Requires-Dist: configobj (==5.0.6)
Requires-Dist: cryptography (==36.0.1)
Requires-Dist: decorator (==5.1.1)
Requires-Dist: deprecated (==1.2.13)
Requires-Dist: distro (==1.6.0)
Requires-Dist: dnspython (==1.15.0)
Requires-Dist: dnspython3 (==1.15.0)
Requires-Dist: dyn (==1.8.1)
Requires-Dist: flask (==1.1.2)
Requires-Dist: flask-bcrypt (==0.7.1)
Requires-Dist: flask-cors (==3.0.10)
Requires-Dist: flask-mail (==0.9.1)
Requires-Dist: flask-migrate (==2.7.0)
Requires-Dist: flask-principal (==0.4.0)
Requires-Dist: flask-replicated (==2.1)
Requires-Dist: flask-restful (==0.3.9)
Requires-Dist: flask-script (==2.0.6)
Requires-Dist: flask-sqlalchemy (==2.5.1)
Requires-Dist: future (==0.18.2)
Requires-Dist: gunicorn (==20.1.0)
Requires-Dist: hvac (==0.11.2)
Requires-Dist: idna (==3.3)
Requires-Dist: inflection (==0.5.1)
Requires-Dist: itsdangerous (==2.0.1)
Requires-Dist: javaobj-py3 (==0.4.3)
Requires-Dist: jinja2 (==3.0.3)
Requires-Dist: jmespath (==0.10.0)
Requires-Dist: josepy (==1.12.0)
Requires-Dist: jsonlines (==3.0.0)
Requires-Dist: kombu (==5.2.3)
Requires-Dist: lockfile (==0.12.2)
Requires-Dist: logmatic-python (==0.1.7)
Requires-Dist: mako (==1.1.6)
Requires-Dist: markupsafe (==2.0.1)
Requires-Dist: marshmallow (==2.20.4)
Requires-Dist: marshmallow-sqlalchemy (==0.23.1)
Requires-Dist: ndg-httpsclient (==0.5.1)
Requires-Dist: paramiko (==2.9.2)
Requires-Dist: parsedatetime (==2.6)
Requires-Dist: pem (==21.2.0)
Requires-Dist: prompt-toolkit (==3.0.24)
Requires-Dist: psycopg2 (==2.9.3)
Requires-Dist: pyasn1 (==0.4.8)
Requires-Dist: pyasn1-modules (==0.2.8)
Requires-Dist: pycparser (==2.21)
Requires-Dist: pycryptodomex (==3.13.0)
Requires-Dist: pyjks (==20.0.0)
Requires-Dist: pyjwt (==2.3.0)
Requires-Dist: pynacl (==1.5.0)
Requires-Dist: pyopenssl (==21.0.0)
Requires-Dist: pyrfc3339 (==1.1)
Requires-Dist: python-dateutil (==2.8.2)
Requires-Dist: python-json-logger (==2.0.2)
Requires-Dist: python-ldap (==3.4.0)
Requires-Dist: pytz (==2021.3)
Requires-Dist: pyyaml (==6.0)
Requires-Dist: redis (==4.0.2)
Requires-Dist: requests (==2.27.1)
Requires-Dist: requests-toolbelt (==0.9.1)
Requires-Dist: retrying (==1.3.3)
Requires-Dist: s3transfer (==0.5.0)
Requires-Dist: sentry-sdk (==1.5.4)
Requires-Dist: six (==1.16.0)
Requires-Dist: soupsieve (==2.3.1)
Requires-Dist: sqlalchemy (==1.3.24)
Requires-Dist: sqlalchemy-utils (==0.38.2)
Requires-Dist: tabulate (==0.8.9)
Requires-Dist: twofish (==0.3.0)
Requires-Dist: urllib3 (==1.26.8)
Requires-Dist: validators (==0.18.2)
Requires-Dist: vine (==5.0.0)
Requires-Dist: wcwidth (==0.2.5)
Requires-Dist: werkzeug (==2.0.2)
Requires-Dist: wrapt (==1.13.3)
Requires-Dist: xmltodict (==0.12.0)
Requires-Dist: zope.component (==5.0.1)
Requires-Dist: zope.event (==4.5.0)
Requires-Dist: zope.hookable (==5.1.0)
Requires-Dist: zope.interface (==5.4.0)
Provides-Extra: dev
Requires-Dist: bleach (==4.1.0) ; extra == 'dev'
Requires-Dist: certifi (==2021.10.8) ; extra == 'dev'
Requires-Dist: cfgv (==3.3.1) ; extra == 'dev'
Requires-Dist: charset-normalizer (==2.0.10) ; extra == 'dev'
Requires-Dist: colorama (==0.4.4) ; extra == 'dev'
Requires-Dist: distlib (==0.3.4) ; extra == 'dev'
Requires-Dist: docutils (==0.18.1) ; extra == 'dev'
Requires-Dist: filelock (==3.4.2) ; extra == 'dev'
Requires-Dist: flake8 (==4.0.1) ; extra == 'dev'
Requires-Dist: identify (==2.4.5) ; extra == 'dev'
Requires-Dist: idna (==3.3) ; extra == 'dev'
Requires-Dist: importlib-metadata (==4.10.1) ; extra == 'dev'
Requires-Dist: invoke (==1.6.0) ; extra == 'dev'
Requires-Dist: keyring (==23.5.0) ; extra == 'dev'
Requires-Dist: marshmallow (==2.20.4) ; extra == 'dev'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'dev'
Requires-Dist: mccabe (==0.6.1) ; extra == 'dev'
Requires-Dist: nodeenv (==1.6.0) ; extra == 'dev'
Requires-Dist: packaging (==21.3) ; extra == 'dev'
Requires-Dist: pkginfo (==1.8.2) ; extra == 'dev'
Requires-Dist: platformdirs (==2.4.1) ; extra == 'dev'
Requires-Dist: pre-commit (==2.17.0) ; extra == 'dev'
Requires-Dist: pycodestyle (==2.8.0) ; extra == 'dev'
Requires-Dist: pyflakes (==2.4.0) ; extra == 'dev'
Requires-Dist: pygments (==2.11.2) ; extra == 'dev'
Requires-Dist: pyparsing (==3.0.7) ; extra == 'dev'
Requires-Dist: pyyaml (==6.0) ; extra == 'dev'
Requires-Dist: readme-renderer (==32.0) ; extra == 'dev'
Requires-Dist: requests (==2.27.1) ; extra == 'dev'
Requires-Dist: requests-toolbelt (==0.9.1) ; extra == 'dev'
Requires-Dist: rfc3986 (==2.0.0) ; extra == 'dev'
Requires-Dist: six (==1.16.0) ; extra == 'dev'
Requires-Dist: sqlalchemy (==1.3.24) ; extra == 'dev'
Requires-Dist: toml (==0.10.2) ; extra == 'dev'
Requires-Dist: tqdm (==4.62.3) ; extra == 'dev'
Requires-Dist: twine (==3.7.1) ; extra == 'dev'
Requires-Dist: urllib3 (==1.26.8) ; extra == 'dev'
Requires-Dist: virtualenv (==20.13.0) ; extra == 'dev'
Requires-Dist: webencodings (==0.5.1) ; extra == 'dev'
Requires-Dist: zipp (==3.7.0) ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: acme (==1.22.0) ; extra == 'docs'
Requires-Dist: alabaster (==0.7.12) ; extra == 'docs'
Requires-Dist: alembic (==1.7.5) ; extra == 'docs'
Requires-Dist: amqp (==5.0.9) ; extra == 'docs'
Requires-Dist: aniso8601 (==9.0.1) ; extra == 'docs'
Requires-Dist: arrow (==1.2.2) ; extra == 'docs'
Requires-Dist: attrs (==21.4.0) ; extra == 'docs'
Requires-Dist: aws-sam-translator (==1.42.0) ; extra == 'docs'
Requires-Dist: aws-xray-sdk (==2.9.0) ; extra == 'docs'
Requires-Dist: babel (==2.9.1) ; extra == 'docs'
Requires-Dist: bandit (==1.7.1) ; extra == 'docs'
Requires-Dist: bcrypt (==3.2.0) ; extra == 'docs'
Requires-Dist: beautifulsoup4 (==4.10.0) ; extra == 'docs'
Requires-Dist: billiard (==3.6.4.0) ; extra == 'docs'
Requires-Dist: black (==21.12b0) ; extra == 'docs'
Requires-Dist: blinker (==1.4) ; extra == 'docs'
Requires-Dist: boto3 (==1.20.41) ; extra == 'docs'
Requires-Dist: botocore (==1.23.41) ; extra == 'docs'
Requires-Dist: celery[redis] (==5.2.3) ; extra == 'docs'
Requires-Dist: certbot (==1.22.0) ; extra == 'docs'
Requires-Dist: certifi (==2021.10.8) ; extra == 'docs'
Requires-Dist: certsrv (==2.1.1) ; extra == 'docs'
Requires-Dist: cffi (==1.15.0) ; extra == 'docs'
Requires-Dist: cfn-lint (==0.57.0) ; extra == 'docs'
Requires-Dist: charset-normalizer (==2.0.10) ; extra == 'docs'
Requires-Dist: click (==8.0.3) ; 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.2.0) ; extra == 'docs'
Requires-Dist: cloudflare (==2.8.15) ; extra == 'docs'
Requires-Dist: configargparse (==1.5.3) ; extra == 'docs'
Requires-Dist: configobj (==5.0.6) ; extra == 'docs'
Requires-Dist: coverage (==6.2) ; extra == 'docs'
Requires-Dist: cryptography (==36.0.1) ; extra == 'docs'
Requires-Dist: deprecated (==1.2.13) ; extra == 'docs'
Requires-Dist: distro (==1.6.0) ; extra == 'docs'
Requires-Dist: dnspython (==1.15.0) ; extra == 'docs'
Requires-Dist: dnspython3 (==1.15.0) ; extra == 'docs'
Requires-Dist: docker (==5.0.3) ; extra == 'docs'
Requires-Dist: docutils (==0.16) ; extra == 'docs'
Requires-Dist: dyn (==1.8.1) ; extra == 'docs'
Requires-Dist: ecdsa (==0.17.0) ; extra == 'docs'
Requires-Dist: factory-boy (==3.2.1) ; extra == 'docs'
Requires-Dist: faker (==11.3.0) ; extra == 'docs'
Requires-Dist: fakeredis (==1.7.0) ; extra == 'docs'
Requires-Dist: flask (==1.1.2) ; extra == 'docs'
Requires-Dist: flask-bcrypt (==0.7.1) ; extra == 'docs'
Requires-Dist: flask-cors (==3.0.10) ; extra == 'docs'
Requires-Dist: flask-mail (==0.9.1) ; extra == 'docs'
Requires-Dist: flask-migrate (==2.7.0) ; 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.9) ; extra == 'docs'
Requires-Dist: flask-script (==2.0.6) ; extra == 'docs'
Requires-Dist: flask-sqlalchemy (==2.5.1) ; extra == 'docs'
Requires-Dist: freezegun (==1.1.0) ; extra == 'docs'
Requires-Dist: future (==0.18.2) ; extra == 'docs'
Requires-Dist: gitdb (==4.0.9) ; extra == 'docs'
Requires-Dist: gitpython (==3.1.26) ; extra == 'docs'
Requires-Dist: graphql-core (==3.2.0) ; extra == 'docs'
Requires-Dist: gunicorn (==20.1.0) ; extra == 'docs'
Requires-Dist: hvac (==0.11.2) ; extra == 'docs'
Requires-Dist: idna (==3.3) ; extra == 'docs'
Requires-Dist: imagesize (==1.3.0) ; extra == 'docs'
Requires-Dist: inflection (==0.5.1) ; extra == 'docs'
Requires-Dist: iniconfig (==1.1.1) ; extra == 'docs'
Requires-Dist: itsdangerous (==2.0.1) ; extra == 'docs'
Requires-Dist: javaobj-py3 (==0.4.3) ; extra == 'docs'
Requires-Dist: jinja2 (==3.0.3) ; extra == 'docs'
Requires-Dist: jmespath (==0.10.0) ; extra == 'docs'
Requires-Dist: josepy (==1.12.0) ; extra == 'docs'
Requires-Dist: jschema-to-python (==1.2.3) ; extra == 'docs'
Requires-Dist: jsondiff (==1.3.1) ; extra == 'docs'
Requires-Dist: jsonlines (==3.0.0) ; extra == 'docs'
Requires-Dist: jsonpatch (==1.32) ; extra == 'docs'
Requires-Dist: jsonpickle (==2.1.0) ; extra == 'docs'
Requires-Dist: jsonpointer (==2.2) ; extra == 'docs'
Requires-Dist: jsonschema (==3.2.0) ; extra == 'docs'
Requires-Dist: junit-xml (==1.9) ; extra == 'docs'
Requires-Dist: kombu (==5.2.3) ; extra == 'docs'
Requires-Dist: logmatic-python (==0.1.7) ; extra == 'docs'
Requires-Dist: mako (==1.1.6) ; extra == 'docs'
Requires-Dist: markupsafe (==2.0.1) ; extra == 'docs'
Requires-Dist: marshmallow (==2.20.4) ; extra == 'docs'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'docs'
Requires-Dist: moto[all] (==3.0.0) ; extra == 'docs'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'docs'
Requires-Dist: networkx (==2.6.3) ; extra == 'docs'
Requires-Dist: nose (==1.3.7) ; extra == 'docs'
Requires-Dist: packaging (==21.3) ; extra == 'docs'
Requires-Dist: paramiko (==2.9.2) ; extra == 'docs'
Requires-Dist: parsedatetime (==2.6) ; extra == 'docs'
Requires-Dist: pathspec (==0.9.0) ; extra == 'docs'
Requires-Dist: pbr (==5.8.0) ; extra == 'docs'
Requires-Dist: pem (==21.2.0) ; extra == 'docs'
Requires-Dist: platformdirs (==2.4.1) ; extra == 'docs'
Requires-Dist: pluggy (==1.0.0) ; extra == 'docs'
Requires-Dist: prompt-toolkit (==3.0.24) ; extra == 'docs'
Requires-Dist: py (==1.11.0) ; extra == 'docs'
Requires-Dist: pyasn1 (==0.4.8) ; extra == 'docs'
Requires-Dist: pyasn1-modules (==0.2.8) ; extra == 'docs'
Requires-Dist: pycparser (==2.21) ; extra == 'docs'
Requires-Dist: pycryptodomex (==3.13.0) ; extra == 'docs'
Requires-Dist: pyflakes (==2.4.0) ; extra == 'docs'
Requires-Dist: pygments (==2.11.2) ; extra == 'docs'
Requires-Dist: pyjks (==20.0.0) ; extra == 'docs'
Requires-Dist: pyjwt (==2.3.0) ; extra == 'docs'
Requires-Dist: pynacl (==1.5.0) ; extra == 'docs'
Requires-Dist: pyopenssl (==21.0.0) ; extra == 'docs'
Requires-Dist: pyparsing (==3.0.7) ; extra == 'docs'
Requires-Dist: pyrfc3339 (==1.1) ; extra == 'docs'
Requires-Dist: pyrsistent (==0.18.1) ; extra == 'docs'
Requires-Dist: pytest (==6.2.5) ; extra == 'docs'
Requires-Dist: pytest-flask (==1.2.0) ; extra == 'docs'
Requires-Dist: pytest-mock (==3.6.1) ; 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.2) ; extra == 'docs'
Requires-Dist: pytz (==2021.3) ; extra == 'docs'
Requires-Dist: pyyaml (==6.0) ; extra == 'docs'
Requires-Dist: redis (==4.0.2) ; extra == 'docs'
Requires-Dist: requests (==2.27.1) ; extra == 'docs'
Requires-Dist: requests-mock (==1.9.3) ; extra == 'docs'
Requires-Dist: requests-toolbelt (==0.9.1) ; extra == 'docs'
Requires-Dist: responses (==0.17.0) ; extra == 'docs'
Requires-Dist: retrying (==1.3.3) ; extra == 'docs'
Requires-Dist: rsa (==4.8) ; extra == 'docs'
Requires-Dist: s3transfer (==0.5.0) ; extra == 'docs'
Requires-Dist: sarif-om (==1.0.4) ; extra == 'docs'
Requires-Dist: sentry-sdk (==1.5.4) ; extra == 'docs'
Requires-Dist: six (==1.16.0) ; extra == 'docs'
Requires-Dist: smmap (==5.0.0) ; extra == 'docs'
Requires-Dist: snowballstemmer (==2.2.0) ; extra == 'docs'
Requires-Dist: sortedcontainers (==2.4.0) ; extra == 'docs'
Requires-Dist: soupsieve (==2.3.1) ; extra == 'docs'
Requires-Dist: sphinx (==3.5.4) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (==1.0.0) ; extra == 'docs'
Requires-Dist: sphinxcontrib-applehelp (==1.0.2) ; extra == 'docs'
Requires-Dist: sphinxcontrib-devhelp (==1.0.2) ; extra == 'docs'
Requires-Dist: sphinxcontrib-htmlhelp (==2.0.0) ; extra == 'docs'
Requires-Dist: sphinxcontrib-httpdomain (==1.8.0) ; extra == 'docs'
Requires-Dist: sphinxcontrib-jsmath (==1.0.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-qthelp (==1.0.3) ; extra == 'docs'
Requires-Dist: sphinxcontrib-serializinghtml (==1.1.5) ; extra == 'docs'
Requires-Dist: sqlalchemy (==1.3.24) ; extra == 'docs'
Requires-Dist: sqlalchemy-utils (==0.38.2) ; extra == 'docs'
Requires-Dist: sshpubkeys (==3.3.1) ; extra == 'docs'
Requires-Dist: stevedore (==3.5.0) ; extra == 'docs'
Requires-Dist: tabulate (==0.8.9) ; extra == 'docs'
Requires-Dist: text-unidecode (==1.3) ; extra == 'docs'
Requires-Dist: toml (==0.10.2) ; extra == 'docs'
Requires-Dist: tomli (==1.2.3) ; extra == 'docs'
Requires-Dist: twofish (==0.3.0) ; extra == 'docs'
Requires-Dist: typing-extensions (==4.0.1) ; extra == 'docs'
Requires-Dist: urllib3 (==1.26.8) ; extra == 'docs'
Requires-Dist: vine (==5.0.0) ; extra == 'docs'
Requires-Dist: wcwidth (==0.2.5) ; extra == 'docs'
Requires-Dist: websocket-client (==1.2.3) ; extra == 'docs'
Requires-Dist: werkzeug (==2.0.2) ; extra == 'docs'
Requires-Dist: wrapt (==1.13.3) ; extra == 'docs'
Requires-Dist: xmltodict (==0.12.0) ; extra == 'docs'
Requires-Dist: zope.component (==5.0.1) ; extra == 'docs'
Requires-Dist: zope.event (==4.5.0) ; extra == 'docs'
Requires-Dist: zope.hookable (==5.1.0) ; extra == 'docs'
Requires-Dist: zope.interface (==5.4.0) ; extra == 'docs'
Provides-Extra: tests
Requires-Dist: acme (==1.22.0) ; extra == 'tests'
Requires-Dist: alembic (==1.7.5) ; extra == 'tests'
Requires-Dist: attrs (==21.4.0) ; extra == 'tests'
Requires-Dist: aws-sam-translator (==1.42.0) ; extra == 'tests'
Requires-Dist: aws-xray-sdk (==2.9.0) ; extra == 'tests'
Requires-Dist: bandit (==1.7.1) ; extra == 'tests'
Requires-Dist: black (==21.12b0) ; extra == 'tests'
Requires-Dist: boto3 (==1.20.41) ; extra == 'tests'
Requires-Dist: botocore (==1.23.41) ; extra == 'tests'
Requires-Dist: certbot (==1.22.0) ; extra == 'tests'
Requires-Dist: certifi (==2021.10.8) ; extra == 'tests'
Requires-Dist: cffi (==1.15.0) ; extra == 'tests'
Requires-Dist: cfn-lint (==0.57.0) ; extra == 'tests'
Requires-Dist: charset-normalizer (==2.0.10) ; extra == 'tests'
Requires-Dist: click (==8.0.3) ; extra == 'tests'
Requires-Dist: configargparse (==1.5.3) ; extra == 'tests'
Requires-Dist: configobj (==5.0.6) ; extra == 'tests'
Requires-Dist: coverage (==6.2) ; extra == 'tests'
Requires-Dist: cryptography (==36.0.1) ; extra == 'tests'
Requires-Dist: deprecated (==1.2.13) ; extra == 'tests'
Requires-Dist: distro (==1.6.0) ; extra == 'tests'
Requires-Dist: docker (==5.0.3) ; extra == 'tests'
Requires-Dist: ecdsa (==0.17.0) ; extra == 'tests'
Requires-Dist: factory-boy (==3.2.1) ; extra == 'tests'
Requires-Dist: faker (==11.3.0) ; extra == 'tests'
Requires-Dist: fakeredis (==1.7.0) ; extra == 'tests'
Requires-Dist: flask (==1.1.2) ; extra == 'tests'
Requires-Dist: flask-migrate (==2.7.0) ; extra == 'tests'
Requires-Dist: flask-sqlalchemy (==2.5.1) ; extra == 'tests'
Requires-Dist: freezegun (==1.1.0) ; extra == 'tests'
Requires-Dist: future (==0.18.2) ; extra == 'tests'
Requires-Dist: gitdb (==4.0.9) ; extra == 'tests'
Requires-Dist: gitpython (==3.1.26) ; extra == 'tests'
Requires-Dist: graphql-core (==3.2.0) ; extra == 'tests'
Requires-Dist: idna (==3.3) ; extra == 'tests'
Requires-Dist: iniconfig (==1.1.1) ; extra == 'tests'
Requires-Dist: itsdangerous (==2.0.1) ; extra == 'tests'
Requires-Dist: jinja2 (==3.0.3) ; extra == 'tests'
Requires-Dist: jmespath (==0.10.0) ; extra == 'tests'
Requires-Dist: josepy (==1.12.0) ; extra == 'tests'
Requires-Dist: jschema-to-python (==1.2.3) ; extra == 'tests'
Requires-Dist: jsondiff (==1.3.1) ; extra == 'tests'
Requires-Dist: jsonpatch (==1.32) ; extra == 'tests'
Requires-Dist: jsonpickle (==2.1.0) ; extra == 'tests'
Requires-Dist: jsonpointer (==2.2) ; extra == 'tests'
Requires-Dist: jsonschema (==3.2.0) ; extra == 'tests'
Requires-Dist: junit-xml (==1.9) ; extra == 'tests'
Requires-Dist: mako (==1.1.6) ; extra == 'tests'
Requires-Dist: markupsafe (==2.0.1) ; extra == 'tests'
Requires-Dist: marshmallow (==2.20.4) ; extra == 'tests'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'tests'
Requires-Dist: moto[all] (==3.0.0) ; extra == 'tests'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'tests'
Requires-Dist: networkx (==2.6.3) ; extra == 'tests'
Requires-Dist: nose (==1.3.7) ; extra == 'tests'
Requires-Dist: packaging (==21.3) ; extra == 'tests'
Requires-Dist: parsedatetime (==2.6) ; extra == 'tests'
Requires-Dist: pathspec (==0.9.0) ; extra == 'tests'
Requires-Dist: pbr (==5.8.0) ; extra == 'tests'
Requires-Dist: platformdirs (==2.4.1) ; extra == 'tests'
Requires-Dist: pluggy (==1.0.0) ; extra == 'tests'
Requires-Dist: py (==1.11.0) ; extra == 'tests'
Requires-Dist: pyasn1 (==0.4.8) ; extra == 'tests'
Requires-Dist: pycparser (==2.21) ; extra == 'tests'
Requires-Dist: pyflakes (==2.4.0) ; extra == 'tests'
Requires-Dist: pyopenssl (==21.0.0) ; extra == 'tests'
Requires-Dist: pyparsing (==3.0.7) ; extra == 'tests'
Requires-Dist: pyrfc3339 (==1.1) ; extra == 'tests'
Requires-Dist: pyrsistent (==0.18.1) ; extra == 'tests'
Requires-Dist: pytest (==6.2.5) ; extra == 'tests'
Requires-Dist: pytest-flask (==1.2.0) ; extra == 'tests'
Requires-Dist: pytest-mock (==3.6.1) ; extra == 'tests'
Requires-Dist: python-dateutil (==2.8.2) ; extra == 'tests'
Requires-Dist: python-jose[cryptography] (==3.3.0) ; extra == 'tests'
Requires-Dist: pytz (==2021.3) ; extra == 'tests'
Requires-Dist: pyyaml (==6.0) ; extra == 'tests'
Requires-Dist: redis (==4.0.2) ; extra == 'tests'
Requires-Dist: requests (==2.27.1) ; extra == 'tests'
Requires-Dist: requests-mock (==1.9.3) ; extra == 'tests'
Requires-Dist: requests-toolbelt (==0.9.1) ; extra == 'tests'
Requires-Dist: responses (==0.17.0) ; extra == 'tests'
Requires-Dist: rsa (==4.8) ; extra == 'tests'
Requires-Dist: s3transfer (==0.5.0) ; extra == 'tests'
Requires-Dist: sarif-om (==1.0.4) ; extra == 'tests'
Requires-Dist: six (==1.16.0) ; extra == 'tests'
Requires-Dist: smmap (==5.0.0) ; extra == 'tests'
Requires-Dist: sortedcontainers (==2.4.0) ; extra == 'tests'
Requires-Dist: sqlalchemy (==1.3.24) ; extra == 'tests'
Requires-Dist: sshpubkeys (==3.3.1) ; extra == 'tests'
Requires-Dist: stevedore (==3.5.0) ; extra == 'tests'
Requires-Dist: text-unidecode (==1.3) ; extra == 'tests'
Requires-Dist: toml (==0.10.2) ; extra == 'tests'
Requires-Dist: tomli (==1.2.3) ; extra == 'tests'
Requires-Dist: typing-extensions (==4.0.1) ; extra == 'tests'
Requires-Dist: urllib3 (==1.26.8) ; extra == 'tests'
Requires-Dist: websocket-client (==1.2.3) ; extra == 'tests'
Requires-Dist: werkzeug (==2.0.2) ; extra == 'tests'
Requires-Dist: wrapt (==1.13.3) ; extra == 'tests'
Requires-Dist: xmltodict (==0.12.0) ; extra == 'tests'
Requires-Dist: zope.component (==5.0.1) ; extra == 'tests'
Requires-Dist: zope.event (==4.5.0) ; extra == 'tests'
Requires-Dist: zope.hookable (==5.1.0) ; extra == 'tests'
Requires-Dist: zope.interface (==5.4.0) ; extra == 'tests'

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=master
    :target: https://coveralls.io/github/Netflix/lemur?branch=master



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 runs on Python 3.8 and 3.9.
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>`_


