Skip to content
/ AIOBase Public

AIOBase – A minimal, typed asynchronous task runner with built-in semaphore control. Manage coroutine execution with ease, ideal for concurrent API calls, web scraping, and async I/O processing. Fast, lightweight, and easy to integrate into any Python project.

License

Notifications You must be signed in to change notification settings

0N3R0/AIOBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ AIOBase

Python Version License: MIT

AIOBase is a lightweight, asynchronous task orchestration utility that manages coroutines with built-in semaphore control. Ideal for concurrent operations like API calls, web scraping, or batch async I/O processing.


📜 Table of Contents

  1. Disclaimer
  2. Features
  3. Installation
  4. Quick Start
  5. Testing
  6. Contributing
  7. License
  8. Author

⚠️ Disclaimer

AIOBase is intended for educational, personal, and professional development purposes. You are responsible for ensuring compliance with any policies, terms, and laws relevant to your use case. No warranty — The creator of AIOBase does not take any responsibility for how this software is used. You must ensure that your usage complies with all applicable laws and regulations in your jurisdiction.


✨ Features

✔️ Feature
Asynchronous Task Runner: Manage concurrent coroutines with built-in semaphore control.
Add & Clear Task Queue: Utilities to easily add tasks to and clear the internal queue.
Return Exceptions Optionally: Choose whether exceptions from tasks raise immediately or return.
Minimalistic & Fast: Built on top of asyncio.gather for efficient async execution.
Typed & Testable: Includes type hints and unit tests covering core behaviors for reliability.

📦 Installation

Requires Python 3.10 or higher

git clone https://github.com/0N3R0/AIOBase.git
cd AIOBase
pip install -r requirements.txt

⚡ Quickstart

Want to get started quickly with AIOBase? Follow these simple steps.

1. Clone the repository

git clone https://github.com/0N3R0/AIOBase.git
cd AIOBase

2. Install dependencies

Requires Python 3.10 or higher

pip install -r requirements.txt

3. Use the example code

Create a simple script called example.py:

import asyncio
from AIOBase import AIOBase

async def add(x, y):
    await asyncio.sleep(0.1)
    return x + y

aio = AIOBase(_semaphore=2)
aio.add_task(add, 2, 3)
aio.add_task(add, 10, 5)

results = asyncio.run(aio.run_tasks())
print(results)  # Output: [5, 15]

Run it:

python example.py

✅ Done! You now have a working asynchronous task runner with concurrency control. Easily add and manage your own tasks.


✅ Testing

For testing run this command inside the project repository:

pytest
  • Example tests include:
    • Task queue management
    • Return values from async operations
    • Handling of raised exceptions

See tests/ directory for details.


🤝 Contributing

Contributions are very welcome! To contribute:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes and add unit tests if applicable.
  4. Commit your changes: git commit -m "Add new feature"
  5. Push your branch: git push origin feature/your-feature-name
  6. Open a Pull Request, describing your changes in detail.

Please adhere to consistent code style, include documentation for new functionality, and ensure all existing tests pass.


🧾 License

This project is licensed under the MIT License. See the LICENSE file for details.


👤 Author

© 2025 0N3R0

About

AIOBase – A minimal, typed asynchronous task runner with built-in semaphore control. Manage coroutine execution with ease, ideal for concurrent API calls, web scraping, and async I/O processing. Fast, lightweight, and easy to integrate into any Python project.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages