A parsing module for ALIDA's services
Project description
📦 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alidaparse-0.2.5.tar.gz.
File metadata
- Download URL: alidaparse-0.2.5.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61375e83e667f99e38b25313653371c1228b8f95ce8729d3a59799c56dd1255c
|
|
| MD5 |
b3570c1bc31d53a5e8454ae4a209709a
|
|
| BLAKE2b-256 |
91806cd970f9550a5d4501cd05369a27ab5845931944e16d9a5c0ad1d0d69b6e
|
File details
Details for the file alidaparse-0.2.5-py3-none-any.whl.
File metadata
- Download URL: alidaparse-0.2.5-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d36a07fa5051aa0bbc369c65f9ada965e218fed29abbabd6e618365d60ce16e8
|
|
| MD5 |
bd7fa31433601f80212a092c90ced86a
|
|
| BLAKE2b-256 |
b10ba8f10dff21269957568086d2c285c24d1e6e9f66021c3f52d762ffac5f95
|