semvec/pypi-packages huggingface dataset:
python-text-menu 0.0.5
Basic text menu for console
Keywords: python, menu, cli


# Python text menu
Python module for interacting with the user through console, to install module from pip execute:
```bash
pip install python_text_menu
```

## Simple use
```python
from python_text_menu import print_menu, ask_option

options = ['Option 1', 'Option 2', 'Option 3']
print_menu(options)
choice = ask_option(len(options))
```
Output:
```
Menu:
[1] Option 1
[2] Option 2
[3] Option 3
[4] Exit
Select an option: 
```

Then you can create your own flow based on 'choice':
```
if choice == '1':
    # Do something
elif choice == '2':
    # Do something else
...
```

> [!WARNING] 
> Consider that ask_option() implements the built-in input() function and as such it locks the code flow

## Customize

You can customize it by giving it a title, a separator and/or an input text:


```python
options = ['Option 1', 'Option 2', 'Option 3']
choice = print_menu(options, title='New title', sep=''*20, input_text='Choose something...')
```
Output:
```
New title:
====================
[1] Option 1
[2] Option 2
[3] Option 3
[4] Exit
Choose something...
```
pyaquael 2.0.1
A python library for the Aquael Leddy link unofficial API
Requires Python: >=3.8

# pyaquael
A python library for the Aquael Leddy link unofficial API

## Usage
See [simple.py](examples/simple.py) for examples on using library through import.

This library can also be used from the command line. See `aquael-cli --help` for usage instructions

## Build and push to PyPI

```
rm -rf dist
python3 -m build
python3 -m twine upload dist/*
```

## Install local build

```
python3 -m pip install --force dist/pyaquael-0.5.0-py3-none-any.whl
```
oneclass-elasticnet 0.0.1
A package for anomaly detection using Elastic Net and Convex Hull.
Requires Python: >=3.7

# ocelastic: Elastic Net One-Class Classifier for Anomaly Detection
`ocelastic` is a Python package for one-class classification and anomaly detection. 
It leverages Elastic Net and convex hull optimization to identify anomalies in data. 
Designed for flexibility, it supports various kernel methods and is compatible with 
scikit-learn tools like GridSearchCV and Pipeline.
## Key Features
- **Elastic Net Regularization**: Combines L1 and L2 penalties for robust optimization.
- **Kernel Support**: Includes `rbf`, `linear`, `poly`, and `sigmoid` kernels.
- **Custom Threshold**: Automatically find the best decision boundary using `ThresholdFinder`.
- **Scikit-learn Compatibility**: Fully compatible with scikit-learn tools like `Pipeline` and `GridSearchCV`.
- **Anomaly Detection**: Designed specifically for one-class classification tasks.
## Installation
Install the package using pip:
```bash
pip install oneclass-elasticnet
```
---
## Quick Start
```python
from ocelastic import EnetConvexHull, ThresholdFinder
import numpy as np

# Generate synthetic data
X = np.random.rand(100, 2)  # 100 samples, 2 features

# Initialize and fit the model
model = EnetConvexHull(landa1=0.5, metric='rbf', solver='cvxopt')
model.fit(X)

# Use ThresholdFinder to calculate the optimal threshold
finder = ThresholdFinder(model=model, X=X)
z_values, max_z = finder.find()

# Make predictions
predictions = model.predict(X)
```
---
## Parameters
- **landa1**: The weight for L1 regularization (default: 0.5).
- **metric**: Kernel function for pairwise similarity (`rbf`, `linear`, `poly`, `sigmoid`).
- **thr**: Decision threshold for anomaly detection (default: 1.0).
- **kernel_params**: Additional kernel parameters like `gamma`, `degree`, and `coef0`.
- **solver**: Quadratic programming solver (e.g., `cvxopt`).
## Results
Below is an example of the decision boundary generated by the model:

![Decision Boundary](./path-to-decision-boundary.png)
## Requirements
- Python >= 3.8
- scikit-learn
- numpy
- matplotlib
- tqdm
- qpsolvers
## Contributing
We welcome contributions! To get started:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature-name`).
3. Commit your changes (`git commit -m 'Add a new feature'`).
4. Push to the branch (`git push origin feature/your-feature-name`).
5. Create a pull request.
## License
This project is licensed under the MIT License. See the `LICENSE` file for more details.
## Contact
For questions or feedback, please email [yousof.ghalenoei2017@gmail.com] or open an issue in the repository.