TriOTP, the OTP framework for Python Trio
=========================================
See documentation_ for more informations.
.. _documentation: https://linkdd.github.io/triotp
.. image:: https://img.shields.io/pypi/l/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: License
.. image:: https://img.shields.io/pypi/status/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: Development Status
.. image:: https://img.shields.io/pypi/v/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: Latest release
.. image:: https://img.shields.io/pypi/pyversions/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: Supported Python versions
.. image:: https://img.shields.io/pypi/implementation/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: Supported Python implementations
.. image:: https://img.shields.io/pypi/wheel/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp
:alt: Download format
.. image:: https://github.com/linkdd/triotp/actions/workflows/test-suite.yml/badge.svg
:target: https://github.com/linkdd/triotp
:alt: Build status
.. image:: https://coveralls.io/repos/github/linkdd/triotp/badge.svg?style=flat-square
:target: https://coveralls.io/r/linkdd/triotp
:alt: Code test coverage
.. image:: https://img.shields.io/pypi/dm/triotp.svg?style=flat-square
:target: https://pypi.python.org/pypi/triotp/
:alt: Downloads
Introduction
------------
This project is a simplified implementation of the Erlang_/Elixir_ OTP_
framework.
.. _erlang: https://erlang.org
.. _elixir: https://elixir-lang.org/
.. _otp: https://en.wikipedia.org/wiki/Open_Telecom_Platform
It is built on top of the Trio_ async library and provides:
- **applications:** the root of a supervision tree
- **supervisors:** automatic restart of children tasks
- **mailboxes:** message-passing between tasks
- **gen_servers:** generic server task
.. _trio: https://trio.readthedocs.io
Why ?
-----
Since I started writing Erlang/Elixir code, I've always wanted to use its
concepts in other languages.
I made this library for fun and most importantly: to see if it was possible.
As it turns out, it is!
Raw data
{
"_id": null,
"home_page": "https://github.com/linkdd/triotp",
"name": "triotp",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "trio,async,otp,triotp",
"author": "David Delassus",
"author_email": "david.jose.delassus@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9f/06/c5bed355a96402bd2ad2e297f3314b3999e6094234ad3ffa2d4a225c7f5c/triotp-0.2.1.tar.gz",
"platform": null,
"description": "TriOTP, the OTP framework for Python Trio\n=========================================\n\nSee documentation_ for more informations.\n\n.. _documentation: https://linkdd.github.io/triotp\n\n.. image:: https://img.shields.io/pypi/l/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: License\n\n.. image:: https://img.shields.io/pypi/status/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: Development Status\n\n.. image:: https://img.shields.io/pypi/v/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: Supported Python versions\n\n.. image:: https://img.shields.io/pypi/implementation/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: Supported Python implementations\n\n.. image:: https://img.shields.io/pypi/wheel/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp\n :alt: Download format\n\n.. image:: https://github.com/linkdd/triotp/actions/workflows/test-suite.yml/badge.svg\n :target: https://github.com/linkdd/triotp\n :alt: Build status\n\n.. image:: https://coveralls.io/repos/github/linkdd/triotp/badge.svg?style=flat-square\n :target: https://coveralls.io/r/linkdd/triotp\n :alt: Code test coverage\n\n.. image:: https://img.shields.io/pypi/dm/triotp.svg?style=flat-square\n :target: https://pypi.python.org/pypi/triotp/\n :alt: Downloads\n\nIntroduction\n------------\n\nThis project is a simplified implementation of the Erlang_/Elixir_ OTP_\nframework.\n\n.. _erlang: https://erlang.org\n.. _elixir: https://elixir-lang.org/\n.. _otp: https://en.wikipedia.org/wiki/Open_Telecom_Platform\n\nIt is built on top of the Trio_ async library and provides:\n\n - **applications:** the root of a supervision tree\n - **supervisors:** automatic restart of children tasks\n - **mailboxes:** message-passing between tasks\n - **gen_servers:** generic server task\n\n.. _trio: https://trio.readthedocs.io\n\nWhy ?\n-----\n\nSince I started writing Erlang/Elixir code, I've always wanted to use its\nconcepts in other languages.\n\nI made this library for fun and most importantly: to see if it was possible.\nAs it turns out, it is!",
"bugtrack_url": null,
"license": "MIT",
"summary": "The OTP framework for Python Trio",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/linkdd/triotp",
"Repository": "https://github.com/linkdd/triotp"
},
"split_keywords": [
"trio",
"async",
"otp",
"triotp"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2758214d895b1fd4a477d908fdce077cf65aa49292e4bf0a9e7711ec000f5ab9",
"md5": "3ca1f29e56904064c2c2c8bd737b0f41",
"sha256": "f3910cc3276d317227e6c34e6a0d2bedccdc1d61ec48eb5f98ce96248356cfc8"
},
"downloads": -1,
"filename": "triotp-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ca1f29e56904064c2c2c8bd737b0f41",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 15062,
"upload_time": "2024-02-11T02:43:09",
"upload_time_iso_8601": "2024-02-11T02:43:09.741347Z",
"url": "https://files.pythonhosted.org/packages/27/58/214d895b1fd4a477d908fdce077cf65aa49292e4bf0a9e7711ec000f5ab9/triotp-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f06c5bed355a96402bd2ad2e297f3314b3999e6094234ad3ffa2d4a225c7f5c",
"md5": "9c3772c130d9977cfe3d2ccac4d9579c",
"sha256": "4d69d1b9e2979c44f2ad1f197028aeeaba7ae17b0f04ba91872c25315fccadd5"
},
"downloads": -1,
"filename": "triotp-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "9c3772c130d9977cfe3d2ccac4d9579c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 11475,
"upload_time": "2024-02-11T02:43:11",
"upload_time_iso_8601": "2024-02-11T02:43:11.531405Z",
"url": "https://files.pythonhosted.org/packages/9f/06/c5bed355a96402bd2ad2e297f3314b3999e6094234ad3ffa2d4a225c7f5c/triotp-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-11 02:43:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "linkdd",
"github_project": "triotp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "triotp"
}