https://github.com/asphalt-framework/asphalt
Asphalt application framework (core)
https://github.com/asphalt-framework/asphalt
asyncio framework python3 trio
Last synced: about 1 month ago
JSON representation
Asphalt application framework (core)
- Host: GitHub
- URL: https://github.com/asphalt-framework/asphalt
- Owner: asphalt-framework
- License: apache-2.0
- Created: 2015-05-02T20:21:44.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T21:59:21.000Z (7 months ago)
- Last Synced: 2024-10-22T14:57:11.304Z (7 months ago)
- Topics: asyncio, framework, python3, trio
- Language: Python
- Homepage:
- Size: 1.09 MB
- Stars: 257
- Watchers: 15
- Forks: 12
- Open Issues: 15
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - asphalt - Asphalt application framework (core) (Python)
README
.. image:: https://github.com/asphalt-framework/asphalt/actions/workflows/test.yml/badge.svg
:target: https://github.com/asphalt-framework/asphalt/actions/workflows/test.yml
:alt: Build Status
.. image:: https://coveralls.io/repos/github/asphalt-framework/asphalt/badge.svg?branch=master
:target: https://coveralls.io/github/asphalt-framework/asphalt?branch=master
:alt: Code Coverage
.. image:: https://readthedocs.org/projects/asphalt/badge/?version=latest
:target: https://asphalt.readthedocs.io/en/latest/?badge=latest
:alt: Documentation StatusAsphalt is an asynchronous application microframework.
Its highlight features are:
* An ecosystem of components for integrating functionality from third party libraries and external
services
* A configuration system where hard-coded defaults can be selectively overridden by external
configuration
* A sophisticated signal system that lets you connect different services to create complex
event-driven interactions
* Built on top of AnyIO_ to work with both Trio_ and asyncio_
* Designed for `Structured Concurrency`_ from the ground up
* `Type hints`_ and `semantic versioning`_ used throughout the core and all component librariesAsphalt can be used to make any imaginable kind of networked application, ranging from trivial
command line tools to highly complex component hierarchies that start multiple network servers
and/or clients using different protocols.What really sets Asphalt apart from other frameworks is its resource sharing system – the kind of
functionality usually only found in bulky application server software. Asphalt components publish
their services as *resources* in a shared *context*. Components can build on resources provided by
each other, making it possible to create components that offer highly sophisticated functionality
with relatively little effort.Full documentation: https://asphalt.readthedocs.io/
.. _Structured Concurrency: https://en.wikipedia.org/wiki/Structured_concurrency
.. _asyncio: https://docs.python.org/3/library/asyncio.html
.. _Trio: https://github.com/python-trio/trio
.. _Type hints: https://www.python.org/dev/peps/pep-0484/
.. _semantic versioning: http://semver.org/