{"id":24465578,"url":"https://github.com/blackportal-ai/nebula","last_synced_at":"2025-04-09T13:06:42.662Z","repository":{"id":268745560,"uuid":"904159186","full_name":"blackportal-ai/nebula","owner":"blackportal-ai","description":"A Package Manager for Machine Learning Datasets and Models.","archived":false,"fork":false,"pushed_at":"2025-03-16T11:34:03.000Z","size":132,"stargazers_count":75,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T11:07:10.229Z","etag":null,"topics":["blackportal","blackportal-ai","dataset","datasets","machine-learning","ml","nebula","package-manager","rust"],"latest_commit_sha":null,"homepage":"https://blackportal.ai","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blackportal-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["blackportal-ai"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-12-16T11:09:06.000Z","updated_at":"2025-03-16T04:47:22.000Z","dependencies_parsed_at":"2024-12-18T17:28:32.354Z","dependency_job_id":"05d0827b-5085-4908-b6f6-fae69f0982ef","html_url":"https://github.com/blackportal-ai/nebula","commit_stats":null,"previous_names":["delta-rs/nebula","blackportal-ai/nebula"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackportal-ai%2Fnebula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackportal-ai%2Fnebula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackportal-ai%2Fnebula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackportal-ai%2Fnebula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blackportal-ai","download_url":"https://codeload.github.com/blackportal-ai/nebula/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045231,"owners_count":21038553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blackportal","blackportal-ai","dataset","datasets","machine-learning","ml","nebula","package-manager","rust"],"created_at":"2025-01-21T06:06:06.179Z","updated_at":"2025-04-09T13:06:42.637Z","avatar_url":"https://github.com/blackportal-ai.png","language":"Rust","funding_links":["https://github.com/sponsors/blackportal-ai"],"categories":["Libraries","Recently Updated"],"sub_categories":["Artificial Intelligence","[Who Wants to Be a Millionare](https://www.boardgamecapital.com/who-wants-to-be-a-millionaire-rules.htm)"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/delta-rs/resources/refs/heads/main/nebula/logo/nebula.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/delta-rs/resources/refs/heads/main/nebula/logo/nebula.svg\"\u003e\n    \u003cimg alt=\"Nebula - A package manager for machine learning datasets and models.\"\n         src=\"https://raw.githubusercontent.com/delta-rs/resources/refs/heads/main/nebula/logo/nebula.svg\"\n         width=\"55%\"\u003e\n  \u003c/picture\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n![build](https://img.shields.io/github/actions/workflow/status/blackportal-ai/nebula/core.yml?branch=master) \n[![discord badge]](https://discord.gg/g5HtkAzRNG)\n[![x handle]][x badge]\n\u003c/div\u003e\n\n[x badge]: https://twitter.com/intent/follow?screen_name=BlackPortal_AI\n[x handle]: https://img.shields.io/twitter/follow/BlackPortal_AI.svg?style=social\u0026label=Follow\n[discord badge]: https://img.shields.io/discord/1320514043424931861\n\nA package manager for machine learning datasets and models.\n\n## Main Goal\n\nDesign of overal architecture and documentation to start onboarding contributors.\n\nCurrent state of the [Architecture](./architecture.md)\n\n## Nebula CLI\n\nUses either a legecy (interactive) command-line or a ratatui frontend. Whereas the latter is\nexperimental and hidden behind the feature flag `tui`. \n\n### Commands\n\nThe Nebula CLI provides a set of commands to interact with the Nebula package manager. \nThis is a copy from the `nebula_cli --help` output:\n\n```shell\nA package manager for machine learning datasets and models acting as client for Nebula registries.\n\nUsage: nebula_cli [OPTIONS] [COMMAND]\n\nCommands:\n  init       init a virtual environment in the given folder (not yet)\n  status     prints status information (not yet)\n  install    Installs a package (not yet)\n  update     Updates a specific package or all packages (not yet)\n  uninstall  Uninstall a specific package or all packages (not yet)\n  search     Searches packages by complex criteria (not yet)\n  list       List packages that fit simple criteria e.g.(non)-installed,\n  sync       Sync the local cache with the remote registry\n  help       Print this message or the help of the given subcommand(s)\n\nOptions:\n      --tui                 use a [ratatui] based terminal user interface instead of a simple cmd-tool\n  -i, --interactive         start the cmd-tool in interactive mode, that allows typing multiple commands\n  -v, --verbose             use verbose output, only in non TUI mode\n  -t, --tick-rate \u003cFLOAT\u003e   Tick rate, i.e. number of ticks per second in tui [default: 4]\n  -f, --frame-rate \u003cFLOAT\u003e  Frame rate, i.e. number of frames per second in tui [default: 60]\n  -h, --help                Print help\n  -V, --version             Print version\nhelp # Shows help for a specific command\n```\n\nExamples:\n\n```shell\nnebula sync # gets the newest metadata locally from the remote registry\nnebula search climate_data # Search for packages related to climate data\nnebula install neural_net_model_v2 --version 1.0.1 # Install a specific version of a model\nnebula install climate_dataset_2023 # Install the latest version of a dataset\nnebula update --all # Update all installed datasets and models\nnebula uninstall outdated_model # Remove an outdated model\n```\n\n## Nebula Registry\n\nThe Nebula CLI communicates with the registry via gRPC using [Tonic](https://github.com/hyperium/tonic). The registry can be self-hosted if desired and using the CLI we can configure the registry URL.\n\nAs for now the registry supports the following endpoints:\n\n```protobuf\nservice NebulaPackageQuery {\n    // Gets detailed information for one specific package\n    rpc GetPackageInfo (PackageRequest) returns (PackageInfo);\n\n    // List all packages with very simple search criteria\n    rpc ListPackages (ListPackagesRequest) returns (PackageList);\n\n    // Search packages applying several filters\n    rpc SearchPackages (SearchPackagesRequest) returns (PackageList);\n}\n```\n\nFor more information see the [proto file](./nebula_common/proto/nebula.proto).\n\nThe datasets and models are stored elsewhere for now and based on the URL the client is expected to send further GET requests.\n\n## Nebula Registry Web\n\nIn the far away future we might implement a web interface for the Nebula registry.\n\n## Contributors\n\nThe following contributors have either helped to start this project, have contributed\ncode, are actively maintaining it (including documentation), or in other ways\nbeing awesome contributors to this project. **We'd like to take a moment to recognize them.**\n\n[\u003cimg src=\"https://github.com/mjovanc.png?size=72\" alt=\"mjovanc\" width=\"72\"\u003e](https://github.com/mjovanc)\n[\u003cimg src=\"https://github.com/DarthB.png?size=72\" alt=\"DarthB\" width=\"72\"\u003e](https://github.com/DarthB)\n\n## License\n\nThe BSD 3-Clause License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackportal-ai%2Fnebula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackportal-ai%2Fnebula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackportal-ai%2Fnebula/lists"}