semvec/pypi-packages huggingface dataset:
AutoBrewML 0.45
With AutoBrewML Framework the time it takes to get production-ready ML models with great ease and efficiency highly accelerates.


Traditional machine learning model development is resource-intensive, requiring significant domain/statistical knowledge and time to produce and compare dozens of models. 
With automated machine learning, the time it takes to get production-ready ML models with great ease and efficiency highly accelerates. However, the Automated Machine Learning does not yet provide much in terms of data preparation and feature engineering. 
The AutoBrewML tries to solve this problem at scale as well as simplifies the overall process for the user. It leverages the Automated ML coupled with components like Data Profiler, Data Sampler, Data Cleanser, Anomaly Detector which ensures quality data as a critical pre-step for building the ML model. 
With AutoBrewML the time it takes to get production-ready ML models with great ease and efficiency highly accelerates


Modules
-----------
- **Acquisition_DataTypeConversion** : Data Acquisition & Transformation 
- **BrewDataProfiler** : Exploratory Data Analysis
- **BrewDataSampling** : Data Sampling
 
  - Random Sampling
  - Stratified Sampling
  - Systematic Sampling
  - Cluster OverSampling (with SMOTE)
- **BrewDataCleanser** : Data Cleansing
- **BrewAnomalyDetection** : Anomaly Detection
- **BrewTrainTestSplit** : Train-Test Split the data in a given ratio
- **BrewFeatureSelection** : Selection of Most Important Features before Modelling
- **BrewAutoML_Classifier** : Auto trigger and choose ML Model for Classification
- **BrewAutoML_Regressor** : Auto trigger and choose ML Model for Regression
- **BrewAutoML_TimeSeries** : Auto trigger and choose ML Model for Time series Forecasting
- **Responsible AI Guidelines** 
 
  - **BrewFairnessEvaluator** : Evaluate the Fairness of a Model with respect to metrics across various cohorts of a sensitive feature
  - **BrewDisparityMitigation** : Mitigate the Bias observed in above Evaluator



**Prerequisites:**
- Python version >=3.8.0
aiohttp-client-rate-limiter 1.0.3
This is a mini tool that overwrite aiohttp session to provide rate limit function within a same session.
Requires Python: >=3.7

# aiohttp_client_rate_limiter

This is a mini tool that overwrites ClientSession class from aiohttp (https://pypi.org/project/aiohttp/). This subclass introduces rate limter functionality while leaving all the other parent behaviors untouched.

Example:
```python
import asyncio
from aiohttp_client_rate_limiter.ClientSession import RateLimitedClientSession

rl_session = RateLimitedClientSession(
        max_concur=5,
        reqs_per_period=10,
        period_in_secs=60
    )
tasks = [asyncio.create_task(rl_session.get(f"https://www.google.com/?q={i}", ssl=False)) for i in range(10)]

await asyncio.gather(*tasks)

await rl_session.close()
```

Or, we could simply do this, using the native context manager as provided by aiohttp:
```python
import asyncio
from aiohttp_client_rate_limiter.ClientSession import RateLimitedClientSession

async with RateLimitedClientSession(
    max_concur=60,
    reqs_per_period=5,
    period_in_secs=10
) as rl_session:
    tasks = [asyncio.create_task(rl_session.get(f"https://www.google.com/?q={i}", ssl=False)) for i in range(10)]
    await asyncio.gather(*tasks)
```
The above example could provide a steady rate of 10 requests/60 seconds at the maximum concurrency of 5.