fasio


Namefasio JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/iadityanath8/Fasio
SummaryA fast asynchronous coroutine executor for asynchronous programming and fast I/O.
upload_time2024-10-25 14:46:10
maintainerNone
docs_urlNone
authorYour Name
requires_python>=3.6
licenseNone
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"
}
        
Elapsed time: 0.59822s