A package manager for machine learning datasets and models.
The Nebula CLI provides a set of commands to interact with the Nebula package manager. The following commands will be implemented:
nebula init # Initializes the local Nebula environment
nebula install <package_name> [--version <version>] # Downloads and installs a dataset or model
nebula search <query> # Searches for datasets or models in the Nebula repository
nebula list # Lists all installed packages
nebula update [--all | <package_name>] # Updates datasets and models to the latest version
nebula remove <package_name> # Removes a specified dataset or model
nebula info <package_name> # Displays detailed dataset or model information
nebula explore <package_name> [--filter <json_path>] # Interactively explores package data
nebula config --set <key> <value> # Sets a configuration option
nebula config --get <key> # Retrieves a configuration value
nebula sync # Synchronizes local datasets and models with the remote repository
nebula cache clean [--force] # Clears the local dataset and models cache
nebula cache list # Lists cached datasets and models
nebula registry set <registry_url> # Sets the target registry URL
nebula <command> --help # Shows help for a specific command
Examples:
nebula search climate_data # Search for packages related to climate data
nebula install neural_net_model_v2 --version 1.0.1 # Install a specific version of a model
nebula install climate_dataset_2023 # Install the latest version of a dataset
nebula explore climate_data_2023 --filter .temperature # Explore specific data within a dataset
nebula update --all # Update all installed datasets and models
nebula remove outdated_model # Remove an outdated model
nebula info new_dataset # Get detailed info about a new dataset
nebula registry set https://myregistry.example.com # Set the target registry URL
The Nebula CLI communicates with the registry via gRPC using Tonic. The registry can be self-hosted if desired and using the CLI we can configure the registry URL.
In the far away future we might implement a web interface for the Nebula registry.
The following contributors have either helped to start this project, have contributed code, are actively maintaining it (including documentation), or in other ways being awesome contributors to this project. We'd like to take a moment to recognize them.
The BSD 3-Clause License.