asphalt


Nameasphalt JSON
Version 4.12.0 PyPI version JSON
download
home_page
SummaryA microframework for network oriented applications
upload_time2023-05-28 13:19:02
maintainer
docs_urlNone
author
requires_python>=3.7
licenseApache License 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. 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 Status

Asphalt is an asyncio_ based microframework for network oriented applications.

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
* Supports uvloop_ and tokio_ as event loop policy providers (though YMMV with the last one)
* Elegant handling of blocking APIs through the use of thread pooling
* `Type hints`_ and `semantic versioning`_ used throughout the core and all component libraries

Asphalt 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/

.. _asyncio: https://docs.python.org/3/library/asyncio.html
.. _uvloop: https://github.com/MagicStack/uvloop
.. _tokio: https://github.com/PyO3/tokio
.. _Type hints: https://www.python.org/dev/peps/pep-0484/
.. _semantic versioning: http://semver.org/

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "asphalt",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "Alex Gr\u00f6nholm <alex.gronholm@nextday.fi>",
    "download_url": "https://files.pythonhosted.org/packages/66/b5/ed815251b3eec187eaf1cc61e2e992e79926e34e891ddd068f02bb8050b1/asphalt-4.12.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://github.com/asphalt-framework/asphalt/actions/workflows/test.yml/badge.svg\n  :target: https://github.com/asphalt-framework/asphalt/actions/workflows/test.yml\n  :alt: Build Status\n.. image:: https://coveralls.io/repos/github/asphalt-framework/asphalt/badge.svg?branch=master\n  :target: https://coveralls.io/github/asphalt-framework/asphalt?branch=master\n  :alt: Code Coverage\n.. image:: https://readthedocs.org/projects/asphalt/badge/?version=latest\n  :target: https://asphalt.readthedocs.io/en/latest/?badge=latest\n  :alt: Documentation Status\n\nAsphalt is an asyncio_ based microframework for network oriented applications.\n\nIts highlight features are:\n\n* An ecosystem of components for integrating functionality from third party libraries and external\n  services\n* A configuration system where hard-coded defaults can be selectively overridden by external\n  configuration\n* A sophisticated signal system that lets you connect different services to create complex\n  event-driven interactions\n* Supports uvloop_ and tokio_ as event loop policy providers (though YMMV with the last one)\n* Elegant handling of blocking APIs through the use of thread pooling\n* `Type hints`_ and `semantic versioning`_ used throughout the core and all component libraries\n\nAsphalt can be used to make any imaginable kind of networked application, ranging from trivial\ncommand line tools to highly complex component hierarchies that start multiple network servers\nand/or clients using different protocols.\n\nWhat really sets Asphalt apart from other frameworks is its resource sharing system \u2013 the kind of\nfunctionality usually only found in bulky application server software. Asphalt components publish\ntheir services as *resources* in a shared *context*. Components can build on resources provided by\neach other, making it possible to create components that offer highly sophisticated functionality\nwith relatively little effort.\n\nFull documentation: https://asphalt.readthedocs.io/\n\n.. _asyncio: https://docs.python.org/3/library/asyncio.html\n.. _uvloop: https://github.com/MagicStack/uvloop\n.. _tokio: https://github.com/PyO3/tokio\n.. _Type hints: https://www.python.org/dev/peps/pep-0484/\n.. _semantic versioning: http://semver.org/\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "A microframework for network oriented applications",
    "version": "4.12.0",
    "project_urls": {
        "Component projects": "https://github.com/asphalt-framework",
        "Documentation": "https://asphalt.readthedocs.org/en/latest/",
        "Help and support": "https://github.com/asphalt-framework/asphalt/wiki/Help-and-support",
        "Issue tracker": "https://github.com/asphalt-framework/asphalt/issues",
        "Source code": "https://github.com/asphalt-framework/asphalt"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "717fda924283b7001c66e87c7f6df8298da777b890844d90250d998a87037abe",
                "md5": "1e35044294d21e0419ed24a88545757d",
                "sha256": "3d6f839a2b23ea30decb7cd1474838b9678d56711f441cbe94f71e73f0bd1a87"
            },
            "downloads": -1,
            "filename": "asphalt-4.12.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1e35044294d21e0419ed24a88545757d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 31073,
            "upload_time": "2023-05-28T13:19:00",
            "upload_time_iso_8601": "2023-05-28T13:19:00.371461Z",
            "url": "https://files.pythonhosted.org/packages/71/7f/da924283b7001c66e87c7f6df8298da777b890844d90250d998a87037abe/asphalt-4.12.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66b5ed815251b3eec187eaf1cc61e2e992e79926e34e891ddd068f02bb8050b1",
                "md5": "782ea0ee9d58e68f171884ed3ce0cffa",
                "sha256": "21e2b323aba833ecd1ea84746b55d486de5027f119987528ddb7b20c0272d10e"
            },
            "downloads": -1,
            "filename": "asphalt-4.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "782ea0ee9d58e68f171884ed3ce0cffa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 75589,
            "upload_time": "2023-05-28T13:19:02",
            "upload_time_iso_8601": "2023-05-28T13:19:02.377035Z",
            "url": "https://files.pythonhosted.org/packages/66/b5/ed815251b3eec187eaf1cc61e2e992e79926e34e891ddd068f02bb8050b1/asphalt-4.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-28 13:19:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "asphalt-framework",
    "github_project": "asphalt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "asphalt"
}
        
Elapsed time: 0.07005s