Metadata-Version: 2.1
Name: lemur
Version: 1.3.2
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.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 (==2.3.0)
Requires-Dist: alembic (==1.7.7)
Requires-Dist: alembic-autogenerate-enums (==0.0.2)
Requires-Dist: amqp (==5.1.0)
Requires-Dist: aniso8601 (==9.0.1)
Requires-Dist: arrow (==1.2.3)
Requires-Dist: async-timeout (==4.0.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.26.79)
Requires-Dist: botocore (==1.29.79)
Requires-Dist: celery[redis] (==5.2.7)
Requires-Dist: certbot (==2.3.0)
Requires-Dist: certifi (==2022.12.7)
Requires-Dist: certsrv (==2.1.1)
Requires-Dist: cffi (==1.15.0)
Requires-Dist: charset-normalizer (==2.0.12)
Requires-Dist: click (==8.1.0)
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.11.1)
Requires-Dist: configargparse (==1.5.3)
Requires-Dist: configobj (==5.0.6)
Requires-Dist: cryptography (==39.0.1)
Requires-Dist: decorator (==5.1.1)
Requires-Dist: distro (==1.7.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 (==1.0.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.3)
Requires-Dist: gunicorn (==20.1.0)
Requires-Dist: hvac (==1.0.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 (==1.0.0)
Requires-Dist: josepy (==1.13.0)
Requires-Dist: jsonlines (==3.0.0)
Requires-Dist: kombu (==5.2.4)
Requires-Dist: lockfile (==0.12.2)
Requires-Dist: logmatic-python (==0.1.7)
Requires-Dist: mako (==1.2.2)
Requires-Dist: markupsafe (==2.1.1)
Requires-Dist: marshmallow (==2.21.0)
Requires-Dist: marshmallow-sqlalchemy (==0.23.1)
Requires-Dist: ndg-httpsclient (==0.5.1)
Requires-Dist: paramiko (==3.0.0)
Requires-Dist: parsedatetime (==2.6)
Requires-Dist: pem (==21.2.0)
Requires-Dist: prompt-toolkit (==3.0.28)
Requires-Dist: psycopg2 (==2.9.5)
Requires-Dist: pyasn1 (==0.4.8)
Requires-Dist: pyasn1-modules (==0.2.8)
Requires-Dist: pycparser (==2.21)
Requires-Dist: pycryptodomex (==3.14.1)
Requires-Dist: pyhcl (==0.4.4)
Requires-Dist: pyjks (==20.0.0)
Requires-Dist: pyjwt (==2.6.0)
Requires-Dist: pynacl (==1.5.0)
Requires-Dist: pyopenssl (==23.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.3)
Requires-Dist: pytz (==2022.1)
Requires-Dist: pyyaml (==6.0)
Requires-Dist: redis (==4.5.1)
Requires-Dist: requests (==2.28.2)
Requires-Dist: retrying (==1.3.4)
Requires-Dist: s3transfer (==0.6.0)
Requires-Dist: sentry-sdk (==1.9.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: soupsieve (==2.3.1)
Requires-Dist: sqlalchemy (==1.3.24)
Requires-Dist: sqlalchemy-utils (==0.40.0)
Requires-Dist: tabulate (==0.9.0)
Requires-Dist: twofish (==0.3.0)
Requires-Dist: urllib3 (==1.26.9)
Requires-Dist: validators (==0.20.0)
Requires-Dist: vine (==5.0.0)
Requires-Dist: wcwidth (==0.2.5)
Requires-Dist: werkzeug (==2.0.3)
Requires-Dist: xmltodict (==0.13.0)
Provides-Extra: dev
Requires-Dist: bleach (==4.1.0) ; extra == 'dev'
Requires-Dist: certifi (==2022.12.7) ; extra == 'dev'
Requires-Dist: cffi (==1.15.0) ; extra == 'dev'
Requires-Dist: cfgv (==3.3.1) ; extra == 'dev'
Requires-Dist: charset-normalizer (==2.0.12) ; extra == 'dev'
Requires-Dist: commonmark (==0.9.1) ; extra == 'dev'
Requires-Dist: cryptography (==39.0.1) ; extra == 'dev'
Requires-Dist: distlib (==0.3.4) ; extra == 'dev'
Requires-Dist: docutils (==0.18.1) ; extra == 'dev'
Requires-Dist: filelock (==3.6.0) ; extra == 'dev'
Requires-Dist: flake8 (==4.0.1) ; extra == 'dev'
Requires-Dist: identify (==2.4.12) ; extra == 'dev'
Requires-Dist: idna (==3.3) ; extra == 'dev'
Requires-Dist: importlib-metadata (==4.11.3) ; extra == 'dev'
Requires-Dist: invoke (==2.0.0) ; extra == 'dev'
Requires-Dist: jeepney (==0.8.0) ; extra == 'dev'
Requires-Dist: keyring (==23.5.0) ; extra == 'dev'
Requires-Dist: marshmallow (==2.21.0) ; extra == 'dev'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'dev'
Requires-Dist: mccabe (==0.6.1) ; extra == 'dev'
Requires-Dist: nodeenv (==1.7.0) ; extra == 'dev'
Requires-Dist: packaging (==21.3) ; extra == 'dev'
Requires-Dist: pkginfo (==1.8.2) ; extra == 'dev'
Requires-Dist: platformdirs (==2.5.1) ; extra == 'dev'
Requires-Dist: pre-commit (==3.1.0) ; extra == 'dev'
Requires-Dist: pycodestyle (==2.8.0) ; extra == 'dev'
Requires-Dist: pycparser (==2.21) ; 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 (==35.0) ; extra == 'dev'
Requires-Dist: requests (==2.28.2) ; extra == 'dev'
Requires-Dist: requests-toolbelt (==0.9.1) ; extra == 'dev'
Requires-Dist: rfc3986 (==2.0.0) ; extra == 'dev'
Requires-Dist: rich (==12.1.0) ; extra == 'dev'
Requires-Dist: secretstorage (==3.3.1) ; extra == 'dev'
Requires-Dist: six (==1.16.0) ; extra == 'dev'
Requires-Dist: sqlalchemy (==1.3.24) ; extra == 'dev'
Requires-Dist: twine (==4.0.2) ; extra == 'dev'
Requires-Dist: urllib3 (==1.26.9) ; extra == 'dev'
Requires-Dist: virtualenv (==20.14.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 (==2.3.0) ; extra == 'docs'
Requires-Dist: alabaster (==0.7.12) ; extra == 'docs'
Requires-Dist: alembic (==1.7.7) ; extra == 'docs'
Requires-Dist: amqp (==5.1.0) ; extra == 'docs'
Requires-Dist: aniso8601 (==9.0.1) ; extra == 'docs'
Requires-Dist: arrow (==1.2.3) ; extra == 'docs'
Requires-Dist: async-timeout (==4.0.2) ; extra == 'docs'
Requires-Dist: attrs (==21.4.0) ; extra == 'docs'
Requires-Dist: aws-sam-translator (==1.44.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.4) ; 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 (==23.1.0) ; extra == 'docs'
Requires-Dist: blinker (==1.4) ; extra == 'docs'
Requires-Dist: boto3 (==1.26.79) ; extra == 'docs'
Requires-Dist: botocore (==1.29.79) ; extra == 'docs'
Requires-Dist: celery[redis] (==5.2.7) ; extra == 'docs'
Requires-Dist: certbot (==2.3.0) ; extra == 'docs'
Requires-Dist: certifi (==2022.12.7) ; extra == 'docs'
Requires-Dist: certsrv (==2.1.1) ; extra == 'docs'
Requires-Dist: cffi (==1.15.0) ; extra == 'docs'
Requires-Dist: cfn-lint (==0.58.4) ; extra == 'docs'
Requires-Dist: charset-normalizer (==2.0.12) ; extra == 'docs'
Requires-Dist: click (==8.1.0) ; 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.11.1) ; extra == 'docs'
Requires-Dist: configargparse (==1.5.3) ; extra == 'docs'
Requires-Dist: configobj (==5.0.6) ; extra == 'docs'
Requires-Dist: coverage (==6.5.0) ; extra == 'docs'
Requires-Dist: cryptography (==39.0.1) ; extra == 'docs'
Requires-Dist: distro (==1.7.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.18.1) ; 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 (==17.0.0) ; extra == 'docs'
Requires-Dist: fakeredis (==2.9.2) ; extra == 'docs'
Requires-Dist: flask (==1.1.2) ; extra == 'docs'
Requires-Dist: flask-bcrypt (==1.0.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.2.2) ; extra == 'docs'
Requires-Dist: future (==0.18.3) ; extra == 'docs'
Requires-Dist: gitdb (==4.0.9) ; extra == 'docs'
Requires-Dist: gitpython (==3.1.30) ; extra == 'docs'
Requires-Dist: graphql-core (==3.2.0) ; extra == 'docs'
Requires-Dist: gunicorn (==20.1.0) ; extra == 'docs'
Requires-Dist: hvac (==1.0.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 (==1.0.0) ; extra == 'docs'
Requires-Dist: josepy (==1.13.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.4) ; extra == 'docs'
Requires-Dist: logmatic-python (==0.1.7) ; extra == 'docs'
Requires-Dist: mako (==1.2.2) ; extra == 'docs'
Requires-Dist: markupsafe (==2.1.1) ; extra == 'docs'
Requires-Dist: marshmallow (==2.21.0) ; extra == 'docs'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'docs'
Requires-Dist: moto[all] (==3.1.1) ; extra == 'docs'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'docs'
Requires-Dist: networkx (==2.7.1) ; extra == 'docs'
Requires-Dist: nose (==1.3.7) ; extra == 'docs'
Requires-Dist: packaging (==23.0) ; extra == 'docs'
Requires-Dist: paramiko (==3.0.0) ; extra == 'docs'
Requires-Dist: parsedatetime (==2.6) ; extra == 'docs'
Requires-Dist: pathspec (==0.9.0) ; extra == 'docs'
Requires-Dist: pbr (==5.8.1) ; extra == 'docs'
Requires-Dist: pem (==21.2.0) ; extra == 'docs'
Requires-Dist: platformdirs (==2.5.1) ; extra == 'docs'
Requires-Dist: pluggy (==1.0.0) ; extra == 'docs'
Requires-Dist: prompt-toolkit (==3.0.28) ; 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.14.1) ; extra == 'docs'
Requires-Dist: pyflakes (==2.4.0) ; extra == 'docs'
Requires-Dist: pygments (==2.14.0) ; extra == 'docs'
Requires-Dist: pyhcl (==0.4.4) ; extra == 'docs'
Requires-Dist: pyjks (==20.0.0) ; extra == 'docs'
Requires-Dist: pyjwt (==2.6.0) ; extra == 'docs'
Requires-Dist: pynacl (==1.5.0) ; extra == 'docs'
Requires-Dist: pyopenssl (==23.0.0) ; extra == 'docs'
Requires-Dist: pyrfc3339 (==1.1) ; extra == 'docs'
Requires-Dist: pyrsistent (==0.18.1) ; extra == 'docs'
Requires-Dist: pytest (==7.1.3) ; extra == 'docs'
Requires-Dist: pytest-flask (==1.2.0) ; extra == 'docs'
Requires-Dist: pytest-mock (==3.10.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.2) ; extra == 'docs'
Requires-Dist: pytz (==2022.1) ; extra == 'docs'
Requires-Dist: pyyaml (==6.0) ; extra == 'docs'
Requires-Dist: redis (==4.5.1) ; extra == 'docs'
Requires-Dist: requests (==2.28.2) ; extra == 'docs'
Requires-Dist: requests-mock (==1.10.0) ; extra == 'docs'
Requires-Dist: responses (==0.20.0) ; extra == 'docs'
Requires-Dist: retrying (==1.3.4) ; extra == 'docs'
Requires-Dist: rsa (==4.8) ; extra == 'docs'
Requires-Dist: s3transfer (==0.6.0) ; extra == 'docs'
Requires-Dist: sarif-om (==1.0.4) ; extra == 'docs'
Requires-Dist: sentry-sdk (==1.9.0) ; 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 (==6.1.3) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (==1.2.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.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-jquery (==2.0.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.40.0) ; extra == 'docs'
Requires-Dist: sshpubkeys (==3.3.1) ; extra == 'docs'
Requires-Dist: stevedore (==3.5.0) ; 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: urllib3 (==1.26.9) ; extra == 'docs'
Requires-Dist: vine (==5.0.0) ; extra == 'docs'
Requires-Dist: wcwidth (==0.2.5) ; extra == 'docs'
Requires-Dist: websocket-client (==1.3.1) ; extra == 'docs'
Requires-Dist: werkzeug (==2.0.3) ; extra == 'docs'
Requires-Dist: wrapt (==1.14.0) ; extra == 'docs'
Requires-Dist: xmltodict (==0.13.0) ; extra == 'docs'
Provides-Extra: tests
Requires-Dist: acme (==2.3.0) ; extra == 'tests'
Requires-Dist: alembic (==1.7.7) ; extra == 'tests'
Requires-Dist: async-timeout (==4.0.2) ; extra == 'tests'
Requires-Dist: attrs (==21.4.0) ; extra == 'tests'
Requires-Dist: aws-sam-translator (==1.44.0) ; extra == 'tests'
Requires-Dist: aws-xray-sdk (==2.9.0) ; extra == 'tests'
Requires-Dist: bandit (==1.7.4) ; extra == 'tests'
Requires-Dist: black (==23.1.0) ; extra == 'tests'
Requires-Dist: boto3 (==1.26.79) ; extra == 'tests'
Requires-Dist: botocore (==1.29.79) ; extra == 'tests'
Requires-Dist: certbot (==2.3.0) ; extra == 'tests'
Requires-Dist: certifi (==2022.12.7) ; extra == 'tests'
Requires-Dist: cffi (==1.15.0) ; extra == 'tests'
Requires-Dist: cfn-lint (==0.58.4) ; extra == 'tests'
Requires-Dist: charset-normalizer (==2.0.12) ; extra == 'tests'
Requires-Dist: click (==8.1.0) ; extra == 'tests'
Requires-Dist: configargparse (==1.5.3) ; extra == 'tests'
Requires-Dist: configobj (==5.0.6) ; extra == 'tests'
Requires-Dist: coverage (==6.5.0) ; extra == 'tests'
Requires-Dist: cryptography (==39.0.1) ; extra == 'tests'
Requires-Dist: distro (==1.7.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 (==17.0.0) ; extra == 'tests'
Requires-Dist: fakeredis (==2.9.2) ; 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.2.2) ; extra == 'tests'
Requires-Dist: future (==0.18.3) ; extra == 'tests'
Requires-Dist: gitdb (==4.0.9) ; extra == 'tests'
Requires-Dist: gitpython (==3.1.30) ; 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 (==1.0.0) ; extra == 'tests'
Requires-Dist: josepy (==1.13.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.2.2) ; extra == 'tests'
Requires-Dist: markupsafe (==2.1.1) ; extra == 'tests'
Requires-Dist: marshmallow (==2.21.0) ; extra == 'tests'
Requires-Dist: marshmallow-sqlalchemy (==0.23.1) ; extra == 'tests'
Requires-Dist: moto[all] (==3.1.1) ; extra == 'tests'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'tests'
Requires-Dist: networkx (==2.7.1) ; extra == 'tests'
Requires-Dist: nose (==1.3.7) ; extra == 'tests'
Requires-Dist: packaging (==23.0) ; extra == 'tests'
Requires-Dist: parsedatetime (==2.6) ; extra == 'tests'
Requires-Dist: pathspec (==0.9.0) ; extra == 'tests'
Requires-Dist: pbr (==5.8.1) ; extra == 'tests'
Requires-Dist: platformdirs (==2.5.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 (==23.0.0) ; extra == 'tests'
Requires-Dist: pyrfc3339 (==1.1) ; extra == 'tests'
Requires-Dist: pyrsistent (==0.18.1) ; extra == 'tests'
Requires-Dist: pytest (==7.1.3) ; extra == 'tests'
Requires-Dist: pytest-flask (==1.2.0) ; extra == 'tests'
Requires-Dist: pytest-mock (==3.10.0) ; extra == 'tests'
Requires-Dist: python-dateutil (==2.8.2) ; extra == 'tests'
Requires-Dist: python-jose[cryptography] (==3.3.0) ; extra == 'tests'
Requires-Dist: pytz (==2022.1) ; extra == 'tests'
Requires-Dist: pyyaml (==6.0) ; extra == 'tests'
Requires-Dist: redis (==4.5.1) ; extra == 'tests'
Requires-Dist: requests (==2.28.2) ; extra == 'tests'
Requires-Dist: requests-mock (==1.10.0) ; extra == 'tests'
Requires-Dist: responses (==0.20.0) ; extra == 'tests'
Requires-Dist: rsa (==4.8) ; extra == 'tests'
Requires-Dist: s3transfer (==0.6.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: tomli (==2.0.1) ; extra == 'tests'
Requires-Dist: urllib3 (==1.26.9) ; extra == 'tests'
Requires-Dist: websocket-client (==1.3.1) ; extra == 'tests'
Requires-Dist: werkzeug (==2.0.3) ; extra == 'tests'
Requires-Dist: wrapt (==1.14.0) ; extra == 'tests'
Requires-Dist: xmltodict (==0.13.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>`_
