Skip to main content

📦 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)

Source distribution for alidaparse 0.2.5
File Size Uploaded
alidaparse-0.2.5.tar.gz 17.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for alidaparse 0.2.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page