Name | fasio JSON |
Version |
0.1.0
JSON |
| download |
home_page | https://github.com/iadityanath8/Fasio |
Summary | A fast asynchronous coroutine executor for asynchronous programming and fast I/O. |
upload_time | 2024-10-25 14:46:10 |
maintainer | None |
docs_url | None |
author | Your Name |
requires_python | >=3.6 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<!-- <img src="fasio.webp" alt="My Project Logo" style="width: 150px; height: auto; border: 2px solid #000; border-radius: 100%;"/> -->
## fasio
A Truly Asynchronous Library for Coroutine Scheduling
---
## Overview
**fasio** is an advanced asynchronous I/O library designed to simplify the development of high-performance network applications. It leverages the power of coroutines to provide a truly asynchronous programming model, allowing you to manage tasks efficiently without blocking operations. With fasio, you can create responsive applications that scale effortlessly.
### Key Features
- **Truly Asynchronous**: Supports async-await syntax for writing non-blocking code, allowing for efficient I/O operations.
- **Robust Event Loop**: A fast and reliable event loop for managing asynchronous tasks and socket operations.
- **Cross-Thread Notifications**: Built-in mechanisms for receiving notifications from other threads and processes.
- **Easy Socket Handling**: Simplifies asynchronous socket programming, making it easy to build servers and clients.
- **Modular Design**: Designed to integrate seamlessly into existing applications, enhancing functionality without major refactoring.
---
## Installation
To install fasio, use pip:
```bash
pip install fasio
```
---
## Usage
fasio is designed for ease of use. Below is a simple example of how to create a basic TCP echo server using fasio's features.
### Example: Asynchronous TCP Echo Server
```python
from fasio import start, spawn, socket
async def handle_client(client):
while True:
data = await client.recv(100)
if not data:
break
await client.send(data)
async def main():
serverfd = socket(socket.AF_INET, socket.SOCK_STREAM)
serverfd.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR)
serverfd.bind(('localhost', 8080))
serverfd.listen(socket.SOMAXCONN)
while True:
client, addr = await serverfd.accept()
spawn(handle_client(client))
start(main())
```
### Explanation
In this example, we create a TCP server that listens on `localhost` at port `8080`. When a client connects, a new coroutine is spawned to handle the client’s requests. The server echoes back any data received, demonstrating fasio's capabilities for handling asynchronous socket operations.
---
## Contributing
Contributions to fasio are welcome! If you’d like to help improve the library, please fork the repository and submit a pull request. Feel free to report issues or request features through the issue tracker.
### How to Contribute
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them with clear messages.
4. Push your branch and submit a pull request.
---
## License
fasio is released under the MIT License. See the [LICENSE](LICENSE) file for more details.
---
## Contact
For any questions or feedback, please reach out via [iadityanath8@gmail.com](mailto:your.email@example.com).
---
With fasio, harness the power of asynchronous programming to create efficient, high-performance applications. Start building today and explore the possibilities!
Raw data
{
"_id": null,
"home_page": "https://github.com/iadityanath8/Fasio",
"name": "fasio",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Your Name",
"author_email": "your.email@example.com",
"download_url": "https://files.pythonhosted.org/packages/2f/8d/11c11831525b919c635b41f9be5f1b1ea00ca3046c0e71b9fee323e70f71/fasio-0.1.0.tar.gz",
"platform": null,
"description": "<!-- <img src=\"fasio.webp\" alt=\"My Project Logo\" style=\"width: 150px; height: auto; border: 2px solid #000; border-radius: 100%;\"/> -->\n\n\n## fasio \nA Truly Asynchronous Library for Coroutine Scheduling\n\n---\n\n## Overview\n\n**fasio** is an advanced asynchronous I/O library designed to simplify the development of high-performance network applications. It leverages the power of coroutines to provide a truly asynchronous programming model, allowing you to manage tasks efficiently without blocking operations. With fasio, you can create responsive applications that scale effortlessly.\n\n### Key Features\n\n- **Truly Asynchronous**: Supports async-await syntax for writing non-blocking code, allowing for efficient I/O operations.\n- **Robust Event Loop**: A fast and reliable event loop for managing asynchronous tasks and socket operations.\n- **Cross-Thread Notifications**: Built-in mechanisms for receiving notifications from other threads and processes.\n- **Easy Socket Handling**: Simplifies asynchronous socket programming, making it easy to build servers and clients.\n- **Modular Design**: Designed to integrate seamlessly into existing applications, enhancing functionality without major refactoring.\n\n---\n\n## Installation\n\nTo install fasio, use pip:\n\n```bash\npip install fasio\n```\n\n---\n\n## Usage\n\nfasio is designed for ease of use. Below is a simple example of how to create a basic TCP echo server using fasio's features.\n\n### Example: Asynchronous TCP Echo Server\n\n```python\nfrom fasio import start, spawn, socket\n\nasync def handle_client(client):\n while True:\n data = await client.recv(100)\n\n if not data:\n break\n\n await client.send(data)\n\nasync def main():\n serverfd = socket(socket.AF_INET, socket.SOCK_STREAM)\n serverfd.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR)\n serverfd.bind(('localhost', 8080))\n serverfd.listen(socket.SOMAXCONN)\n\n while True:\n client, addr = await serverfd.accept()\n\n spawn(handle_client(client))\n\nstart(main())\n```\n\n### Explanation\n\nIn this example, we create a TCP server that listens on `localhost` at port `8080`. When a client connects, a new coroutine is spawned to handle the client\u2019s requests. The server echoes back any data received, demonstrating fasio's capabilities for handling asynchronous socket operations.\n\n---\n\n## Contributing\n\nContributions to fasio are welcome! If you\u2019d like to help improve the library, please fork the repository and submit a pull request. Feel free to report issues or request features through the issue tracker.\n\n### How to Contribute\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them with clear messages.\n4. Push your branch and submit a pull request.\n\n---\n\n## License\n\nfasio is released under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n---\n\n## Contact\n\nFor any questions or feedback, please reach out via [iadityanath8@gmail.com](mailto:your.email@example.com).\n\n---\n\nWith fasio, harness the power of asynchronous programming to create efficient, high-performance applications. Start building today and explore the possibilities!\n",
"bugtrack_url": null,
"license": null,
"summary": "A fast asynchronous coroutine executor for asynchronous programming and fast I/O.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/iadityanath8/Fasio"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "278c85729811a855442ffb15bf3579e4f1466d700e78329d5d4d284c2184fa48",
"md5": "a5fda8a6e12ce7370aa642a9f4afeede",
"sha256": "ddac74d9dbb88c51ebc9558c79e9b56ed783db0087e70d42af3a6d337ea0e102"
},
"downloads": -1,
"filename": "fasio-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a5fda8a6e12ce7370aa642a9f4afeede",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 16656,
"upload_time": "2024-10-25T14:46:08",
"upload_time_iso_8601": "2024-10-25T14:46:08.038530Z",
"url": "https://files.pythonhosted.org/packages/27/8c/85729811a855442ffb15bf3579e4f1466d700e78329d5d4d284c2184fa48/fasio-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f8d11c11831525b919c635b41f9be5f1b1ea00ca3046c0e71b9fee323e70f71",
"md5": "9024323f03193b65ad3866a87b6d1e59",
"sha256": "fe3014aca32f62530daa78558688b7bf42da4085a71b02b9c3f5a38612528214"
},
"downloads": -1,
"filename": "fasio-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "9024323f03193b65ad3866a87b6d1e59",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 16599,
"upload_time": "2024-10-25T14:46:10",
"upload_time_iso_8601": "2024-10-25T14:46:10.430102Z",
"url": "https://files.pythonhosted.org/packages/2f/8d/11c11831525b919c635b41f9be5f1b1ea00ca3046c0e71b9fee323e70f71/fasio-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-25 14:46:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iadityanath8",
"github_project": "Fasio",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "fasio"
}