Metadata-Version: 2.1
Name: shakenfist
Version: 0.7.2
Summary: Shaken Fist: an opinionated minimal cloud
Home-page: https://madebymikal.com/shakenfist
Author: Michael Still
Author-email: mikal@stillhq.com
License: Apache2
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: aniso8601 (==9.0.1)
Requires-Dist: annotated-types (==0.5.0)
Requires-Dist: attrs (==23.1.0)
Requires-Dist: bcrypt (==4.0.1)
Requires-Dist: certifi (==2023.7.22)
Requires-Dist: chardet (==5.2.0)
Requires-Dist: charset-normalizer (==3.2.0)
Requires-Dist: click (==8.1.7)
Requires-Dist: clingwrap (==1.6.4)
Requires-Dist: coloredlogs (==15.0.1)
Requires-Dist: debtcollector (==2.5.0)
Requires-Dist: distro (==1.8.0)
Requires-Dist: etcd3 (==0.12.0)
Requires-Dist: etcd3gw (==1.0.2)
Requires-Dist: executor (==23.2)
Requires-Dist: fasteners (==0.19)
Requires-Dist: fixtures (==4.0.0)
Requires-Dist: flasgger (==0.9.7.1)
Requires-Dist: flask-jwt-extended (==4.5.2)
Requires-Dist: flask-request-id-middleware (==1.1)
Requires-Dist: flask-restful (==0.3.10)
Requires-Dist: flask (==2.2.5)
Requires-Dist: futurist (==2.4.1)
Requires-Dist: grpcio
Requires-Dist: gunicorn (==21.2.0)
Requires-Dist: humanfriendly (==10.0)
Requires-Dist: idna (==3.4)
Requires-Dist: importlib-resources (==5.12.0)
Requires-Dist: iso8601 (==2.0.0)
Requires-Dist: itsdangerous (==2.1.2)
Requires-Dist: jinja2 (==3.1.2)
Requires-Dist: jsonschema (==4.17.3)
Requires-Dist: linux-utils (==0.7)
Requires-Dist: markupsafe (==2.1.3)
Requires-Dist: marshmallow (==3.19.0)
Requires-Dist: mistune (==3.0.1)
Requires-Dist: netaddr (==0.9.0)
Requires-Dist: netifaces (==0.11.0)
Requires-Dist: oslo-concurrency (==4.5.1)
Requires-Dist: oslo-config (==8.8.1)
Requires-Dist: oslo-i18n (==5.1.0)
Requires-Dist: oslo-utils (==4.13.0)
Requires-Dist: packaging (==23.1)
Requires-Dist: pbr (==5.11.1)
Requires-Dist: pkgutil-resolve-name (==1.3.10)
Requires-Dist: prometheus-client (==0.17.1)
Requires-Dist: property-manager (==3.0)
Requires-Dist: protobuf (==3.20.3)
Requires-Dist: psutil
Requires-Dist: py-cpuinfo (==9.0.0)
Requires-Dist: pycdlib (==1.14.0)
Requires-Dist: pydantic-core (==2.6.3)
Requires-Dist: pydantic-settings (==2.0.3)
Requires-Dist: pydantic (==2.3.0)
Requires-Dist: pyjwt (==2.8.0)
Requires-Dist: pylogrus (==0.4.0)
Requires-Dist: pyparsing (==3.1.1)
Requires-Dist: pyrsistent (==0.19.3)
Requires-Dist: python-dotenv (==0.21.1)
Requires-Dist: python-magic (==0.4.27)
Requires-Dist: pytz (==2023.3.post1)
Requires-Dist: pyyaml (==6.0.1)
Requires-Dist: requests-toolbelt (==1.0.0)
Requires-Dist: requests (==2.31.0)
Requires-Dist: rfc3986 (==2.0.0)
Requires-Dist: setproctitle (==1.3.2)
Requires-Dist: shakenfist-agent (==0.3.18)
Requires-Dist: shakenfist-utilities (==0.5.1)
Requires-Dist: six (==1.16.0)
Requires-Dist: stevedore (==3.5.2)
Requires-Dist: symbolicmode (==2.0.0)
Requires-Dist: tenacity (==8.2.3)
Requires-Dist: testtools (==2.6.0)
Requires-Dist: typing-extensions (==4.7.1)
Requires-Dist: urllib3 (==2.0.5)
Requires-Dist: verboselogs (==1.7)
Requires-Dist: version-comparison (==0.2)
Requires-Dist: webargs (==8.3.0)
Requires-Dist: werkzeug (==2.2.3)
Requires-Dist: wrapt (==1.15.0)
Requires-Dist: zipp (==3.15.0)
Requires-Dist: importlib-metadata (==4.13.0) ; (python_version < "3.8")

# Shaken Fist: Opinionated to the point of being impolite
![Python application](https://github.com/shakenfist/shakenfist/workflows/Python%20application/badge.svg)
<a href="https://pypi.org/project/shakenfist" target="_blank">
    <img src="https://img.shields.io/pypi/v/shakenfist?color=%2334D058&label=pypi%20package" alt="Package version">
</a>

**Documentation:** https://shakenfist.com/  
**Source Code:** https://github.com/shakenfist/shakenfist

