📦 alidaparse
alidaparse is a Python package for generating CLI arguments required by ALIDA's services.
Instead of creating each time an arguments.py, a simple import of alidaparse will do the trick!
🚀 Features
- Automatically generate dataset/model argument for a service
- Multiple arguments are supported
📥 Installation
Install via pip:
pip install alidaparse
Or install from source:
git https://github.com/JosephMartinelli/alidaparse.git
cd alidaparse
pip install .
🧪 Usage
Usually a service of the ALIDA's platform needs to declare an arguments.py file in which it defines
a series of an arguments it needs in input to work. This file looks something like this:
# contents of arguments.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input-dataset", dest="input_dataset", type=str, required=True)
parser.add_argument(
"--input-dataset.minio_bucket", dest="input_minio_bucket", type=str, required=True
)
...
Those arguments need to be repeated for each input/ouput dataset and model that the service needs to use.
With alidaparse.py you simply import a factory class that will automatically
generate those arguments for you:
# contents of main.py
from alidaparse.input import InDatasetFactory
dataset = InDatasetFactory.from_cli()
And running main.py will have this effect:
python.exe main.py
usage: main.py [-h] --input-dataset INPUT_DATASET
--input-dataset.minio_bucket INPUT_MINIO_BUCKET
--input-dataset.minIO_URL INPUT_MINIO_URL
--input-dataset.minIO_ACCESS_KEY INPUT_ACCESS_KEY
--input-dataset.minIO_SECRET_KEY INPUT_SECRET_KEY
main.py: error: the following arguments are required: --input-dataset, --input-dataset.minio_bucket, --input-dataset.minIO_URL, --input-dataset.minIO_ACCESS_KEY, --input-dataset.minIO_SECRET_KEY
You can also declare multiple arguments by passing an integer to from_cli(n)
# contents of main.py
from alidaparse.input import InDatasetFactory
dataset = InDatasetFactory.from_cli(n=2)
usage: main.py [-h] --input-dataset-1 INPUT_DATASET_1
--input-dataset-1.minio_bucket INPUT_DATASET_1_MINIO_BUCKET
--input-dataset-1.minIO_URL INPUT_DATASET_1_MINIO_URL
--input-dataset-1.minIO_ACCESS_KEY INPUT_DATASET_1_ACCESS_KEY
--input-dataset-1.minIO_SECRET_KEY INPUT_DATASET_1_SECRET_KEY
--input-dataset-2 INPUT_DATASET_2
--input-dataset-2.minio_bucket INPUT_DATASET_2_MINIO_BUCKET
--input-dataset-2.minIO_URL INPUT_DATASET_2_MINIO_URL
--input-dataset-2.minIO_ACCESS_KEY INPUT_DATASET_2_ACCESS_KEY
--input-dataset-2.minIO_SECRET_KEY INPUT_DATASET_2_SECRET_KEY
main.py: error: the following arguments are required: --input-dataset-1, --input-dataset-1.minio_bucket,
--input-dataset-1.minIO_URL, --input-dataset-1.minIO_ACCESS_KEY, --input-dataset-1.minIO_SECRET_KEY,
--input-dataset-2, --input-dataset-2.minio_bucket, --input-dataset-2.minIO_URL, --input-dataset-2.minIO_ACCESS_KEY,
--input-dataset-2.minIO_SECRET_KEY
alidaparse.py has classes for dealing with input/output datasets, models and custom params. Simply
import from alidaparse.input import InDataset,InModel,InParam
📁 Project Structure
alidaparse/
├── input/
│ ├── __init__.py
│ └── InDataset.py
│ └── InModel.py
│ └── InParam.py
├── output/
│ ├── __init__.py
│ └── OutDataset.py
│ └── OutModel.py
├── __init__.py
├── setup.py
├── pyproject.toml
└── README.md
🛠 Development
To install dependencies:
pip install -r requirements.txt
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
Release files for alidaparse 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alidaparse-0.2.5.tar.gz | 17.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| alidaparse-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.3 kB
Release files / alidaparse-0.2.5.tar.gz
| Download URL | alidaparse-0.2.5.tar.gz |
|---|---|
| Size | 17.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61375e83e667f99e38b25313653371c1228b8f95ce8729d3a59799c56dd1255c
|
|
BLAKE2b-256 checksum How to use checksums |
91806cd970f9550a5d4501cd05369a27ab5845931944e16d9a5c0ad1d0d69b6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.3
|
Release files / alidaparse-0.2.5-py3-none-any.whl
| Download URL | alidaparse-0.2.5-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d36a07fa5051aa0bbc369c65f9ada965e218fed29abbabd6e618365d60ce16e8
|
|
BLAKE2b-256 checksum How to use checksums |
b10ba8f10dff21269957568086d2c285c24d1e6e9f66021c3f52d762ffac5f95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.3
|