Metadata-Version: 2.1
Name: peasant
Version: 0.7.4
Summary: Peasant helps you to build APIs
Home-page: https://github.com/candango/peasant
Author: Flavio Garcia
Author-email: piraz@candango.org
License: Apache License V2.0
Classifier: Development Status :: 1 - Planning
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >= 3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cartola>=0.18
Requires-Dist: cryptography==42.0.8
Provides-Extra: all
Requires-Dist: cartola>=0.18; extra == "all"
Requires-Dist: cryptography==42.0.8; extra == "all"
Requires-Dist: requests==2.32.3; extra == "all"
Requires-Dist: tornado>=6.4.1; extra == "all"
Provides-Extra: requests
Requires-Dist: requests==2.32.3; extra == "requests"
Provides-Extra: tornado
Requires-Dist: tornado>=6.4.1; extra == "tornado"

# Candango Peasant

Peasant is a protocol abstraction of how to control agents that need to
communicate with a central entity or entities.

We define agents as peasants and central entities (bases) as bastions.

Peasant will define some transport definition to help developer with basic http
methods (i.e. head, post, get, etc), and avoid code duplication. Security level
and your business should be implemented.

A bastion/peasant relationship could be defined as stateful or not. If stateful
it is necessary to implement a session control in the bastion where peasants
need to perform knocks (as knock at the door) to get permission or a valid
session. In a stateless case we just ignore any knock implementation.

What must be implemented in the protocol are nonce generation, consumption and
validation on both sides. A directory list of available resources offered by
a bastion for peasants to consume could also be useful to have.

## Support

Peasant is one of
[Candango Open Source Group](http://www.candango.org/projects/)
initiatives. Available under the
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).

This website and all documentation are licensed under
[Creative Commons 3.0](http://creativecommons.org/licenses/by/3.0/).

Copyright © 2020-2024 Flavio Garcia
