# whl_deploy
`whl_deploy` is a powerful tool **designed specifically for Apollo deployment**, aiming to significantly simplify the setup of Apollo environments and the import/export of resources. By automating key steps, `whl_deploy` ensures an efficient, consistent, and seamless Apollo deployment experience.
## ✨ Key Features
`whl_deploy` provides three core functionalities, covering the essential aspects of the Apollo deployment lifecycle:
1. **Automated Environment Setup**: Installs and configures Docker, NVIDIA Container Toolkit, and optimizes the system, providing an ideal environment for Apollo.
2. **Apollo Resource Import**: Unified import of core Apollo components, including Docker images, source code, AI models, high-definition maps, and compiled caches, drastically reducing initial setup and startup times.
3. **Resource Packaging & Distribution**: Packages pre-configured or downloaded Apollo resources into reusable bundles, facilitating rapid deployment across multiple machines, especially useful in offline environments.
## 🚀 Quick Start
This section guides you on how to quickly install and use `whl_deploy`, focusing on the most common end-to-end deployment flow.
### 1. Installation
To ensure compatibility, please upgrade your `setuptools` and `pip` first:
```bash
# Highly Recommended: Upgrade setuptools and pip first
pip install setuptools -U
pip install --upgrade pip
# Install whl-deploy
pip install whl-deploy
```
### 2. End-to-End Deployment - Express Mode!
The following two commands are the essence of `whl_deploy`, covering the vast majority of Apollo deployment scenarios:
#### Step A: Prepare Host Environment
This command will automatically install Docker, the NVIDIA Container Toolkit, and perform necessary system configurations. This is the foundation for running Apollo.
```bash
whl-deploy setup all
```
#### Step B: Import Apollo Resources
After setting up the environment, you can import all pre-packaged core Apollo resources, such as source code, Docker images, AI models, etc., with a single command. **Please ensure your `source` package is ready.**
```bash
whl-deploy import all --package=source
```
---
### 3. More Granular Control
If you require more fine-grained control, `whl_deploy` also provides individual commands.
#### 3.1. Host Environment Configuration - Step-by-Step
In some cases, you might want to configure the host environment step-by-step:
```bash
# Only install and configure Docker
whl-deploy setup docker
# Only install and configure NVIDIA Container Toolkit
whl-deploy setup nvidia
# Only perform system-level host configurations (e.g., kernel parameters, user groups)
whl-deploy setup host
```
#### 3.2. Resource Import & Export - Category Management
`whl_deploy` allows you to manage various Apollo resources separately.
**a. Source Code**
* **Import Source Code Package**: Imports a zipped Apollo source code archive to a specified location.
```bash
whl-deploy import source-code --input=apollo-lite-main.zip
```
* **Export Source Code Package**: Packages the source code from the current Apollo environment for reuse elsewhere.
```bash
whl-deploy export source-code --output=apollo-main.zip
```
**b. Compiled Cache (Bazel Cache)**
The Bazel compilation cache is crucial for accelerating the Apollo build process.
* **Import Compiled Cache**: Imports a pre-packaged Bazel cache.
```bash
whl-deploy import cache --input=bazel_cache.tar.gz
```
* **Export Compiled Cache**: Exports the current Bazel cache for use across multiple machines or in future deployments.
```bash
whl-deploy export cache --output=bazel_cache.tar.gz
```
**c. Docker Images**
Manage Apollo's core container images.
* **Import Docker Image**: Imports a Docker image from a `.tar` file. This is useful for offline deployments or pre-loading images.
```bash
whl-deploy import docker-image --input=whl_docker_image.tar
```
* **Export Docker Image**:
* **Export information about all currently recognized Apollo-related Docker images**:
```bash
whl-deploy export docker-image --info
```
* **Export a specific Docker image to a `.tar` file**:
```bash
whl-deploy export docker-image --input=nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 --output=cuda_image.tar
```
* **Note**: Here, the `--input` parameter should specify the **name and tag of the image to be exported**. For example, to export an Apollo development image, use: `whl-deploy export docker-image --input=apollo:dev-latest --output=apollo_dev.tar`
**d. High-Definition Maps (HD Maps) (TODO - To Be Implemented)**
* `whl-deploy import hd-maps --input=...`
* `whl-deploy export hd-maps --output=...`
**e. AI Models (TODO - To Be Implemented)**
* `whl-deploy import models --input=...`
* `whl-deploy export models --output=...`
## 🤝 Contribution & Support
`whl_deploy` aims to simplify Apollo deployment. If you have any questions, suggestions, or wish to contribute code, feel free to submit an Issue or a Pull Request.
Raw data
{
"_id": null,
"home_page": null,
"name": "whl-deploy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "whl-conf, wheelos, configuration-management, cli-tool",
"author": null,
"author_email": "daohu527 <daohu527@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/93/8c/d25f208a5bfcd1c4f125d725902077ac00c0626bed3436fedd3d988c0fe9/whl_deploy-0.0.2.tar.gz",
"platform": null,
"description": "# whl_deploy\n\n`whl_deploy` is a powerful tool **designed specifically for Apollo deployment**, aiming to significantly simplify the setup of Apollo environments and the import/export of resources. By automating key steps, `whl_deploy` ensures an efficient, consistent, and seamless Apollo deployment experience.\n\n## \u2728 Key Features\n\n`whl_deploy` provides three core functionalities, covering the essential aspects of the Apollo deployment lifecycle:\n\n1. **Automated Environment Setup**: Installs and configures Docker, NVIDIA Container Toolkit, and optimizes the system, providing an ideal environment for Apollo.\n2. **Apollo Resource Import**: Unified import of core Apollo components, including Docker images, source code, AI models, high-definition maps, and compiled caches, drastically reducing initial setup and startup times.\n3. **Resource Packaging & Distribution**: Packages pre-configured or downloaded Apollo resources into reusable bundles, facilitating rapid deployment across multiple machines, especially useful in offline environments.\n\n## \ud83d\ude80 Quick Start\n\nThis section guides you on how to quickly install and use `whl_deploy`, focusing on the most common end-to-end deployment flow.\n\n### 1. Installation\n\nTo ensure compatibility, please upgrade your `setuptools` and `pip` first:\n\n```bash\n# Highly Recommended: Upgrade setuptools and pip first\npip install setuptools -U\npip install --upgrade pip\n\n# Install whl-deploy\npip install whl-deploy\n```\n\n### 2. End-to-End Deployment - Express Mode!\n\nThe following two commands are the essence of `whl_deploy`, covering the vast majority of Apollo deployment scenarios:\n\n#### Step A: Prepare Host Environment\n\nThis command will automatically install Docker, the NVIDIA Container Toolkit, and perform necessary system configurations. This is the foundation for running Apollo.\n\n```bash\nwhl-deploy setup all\n```\n\n#### Step B: Import Apollo Resources\n\nAfter setting up the environment, you can import all pre-packaged core Apollo resources, such as source code, Docker images, AI models, etc., with a single command. **Please ensure your `source` package is ready.**\n\n```bash\nwhl-deploy import all --package=source\n```\n\n---\n\n### 3. More Granular Control\n\nIf you require more fine-grained control, `whl_deploy` also provides individual commands.\n\n#### 3.1. Host Environment Configuration - Step-by-Step\n\nIn some cases, you might want to configure the host environment step-by-step:\n\n```bash\n# Only install and configure Docker\nwhl-deploy setup docker\n\n# Only install and configure NVIDIA Container Toolkit\nwhl-deploy setup nvidia\n\n# Only perform system-level host configurations (e.g., kernel parameters, user groups)\nwhl-deploy setup host\n```\n\n#### 3.2. Resource Import & Export - Category Management\n\n`whl_deploy` allows you to manage various Apollo resources separately.\n\n**a. Source Code**\n\n* **Import Source Code Package**: Imports a zipped Apollo source code archive to a specified location.\n ```bash\n whl-deploy import source-code --input=apollo-lite-main.zip\n ```\n* **Export Source Code Package**: Packages the source code from the current Apollo environment for reuse elsewhere.\n ```bash\n whl-deploy export source-code --output=apollo-main.zip\n ```\n\n**b. Compiled Cache (Bazel Cache)**\n\nThe Bazel compilation cache is crucial for accelerating the Apollo build process.\n\n* **Import Compiled Cache**: Imports a pre-packaged Bazel cache.\n ```bash\n whl-deploy import cache --input=bazel_cache.tar.gz\n ```\n* **Export Compiled Cache**: Exports the current Bazel cache for use across multiple machines or in future deployments.\n ```bash\n whl-deploy export cache --output=bazel_cache.tar.gz\n ```\n\n**c. Docker Images**\n\nManage Apollo's core container images.\n\n* **Import Docker Image**: Imports a Docker image from a `.tar` file. This is useful for offline deployments or pre-loading images.\n ```bash\n whl-deploy import docker-image --input=whl_docker_image.tar\n ```\n* **Export Docker Image**:\n * **Export information about all currently recognized Apollo-related Docker images**:\n ```bash\n whl-deploy export docker-image --info\n ```\n * **Export a specific Docker image to a `.tar` file**:\n ```bash\n whl-deploy export docker-image --input=nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 --output=cuda_image.tar\n ```\n * **Note**: Here, the `--input` parameter should specify the **name and tag of the image to be exported**. For example, to export an Apollo development image, use: `whl-deploy export docker-image --input=apollo:dev-latest --output=apollo_dev.tar`\n\n**d. High-Definition Maps (HD Maps) (TODO - To Be Implemented)**\n\n* `whl-deploy import hd-maps --input=...`\n* `whl-deploy export hd-maps --output=...`\n\n**e. AI Models (TODO - To Be Implemented)**\n\n* `whl-deploy import models --input=...`\n* `whl-deploy export models --output=...`\n\n## \ud83e\udd1d Contribution & Support\n\n`whl_deploy` aims to simplify Apollo deployment. If you have any questions, suggestions, or wish to contribute code, feel free to submit an Issue or a Pull Request.\n",
"bugtrack_url": null,
"license": null,
"summary": "A deployment tool for WheelOS.",
"version": "0.0.2",
"project_urls": {
"Bug Tracker": "https://github.com/wheelos-tools/whl-conf/issues",
"Homepage": "https://github.com/wheelos-tools/whl-conf"
},
"split_keywords": [
"whl-conf",
" wheelos",
" configuration-management",
" cli-tool"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "73e56ba8f509b8d1d807b664665e54e9b76ae2e340da47a06b3bbd7f511e6ece",
"md5": "df6b7c6ea75cad76634ffbeddbae59eb",
"sha256": "2503db21cd1b2cea8dab08f99343f5acf63d02cfaa5ceaebfc71abac0f344ee0"
},
"downloads": -1,
"filename": "whl_deploy-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "df6b7c6ea75cad76634ffbeddbae59eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 52245,
"upload_time": "2025-07-20T09:46:46",
"upload_time_iso_8601": "2025-07-20T09:46:46.291939Z",
"url": "https://files.pythonhosted.org/packages/73/e5/6ba8f509b8d1d807b664665e54e9b76ae2e340da47a06b3bbd7f511e6ece/whl_deploy-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "938cd25f208a5bfcd1c4f125d725902077ac00c0626bed3436fedd3d988c0fe9",
"md5": "c9842d5f2083a701714bf1f491276133",
"sha256": "4afc5660d3772d3196192cc1d797a764df4b13a9539eb924fdd3d19e88b95419"
},
"downloads": -1,
"filename": "whl_deploy-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "c9842d5f2083a701714bf1f491276133",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 44277,
"upload_time": "2025-07-20T09:46:47",
"upload_time_iso_8601": "2025-07-20T09:46:47.572484Z",
"url": "https://files.pythonhosted.org/packages/93/8c/d25f208a5bfcd1c4f125d725902077ac00c0626bed3436fedd3d988c0fe9/whl_deploy-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 09:46:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wheelos-tools",
"github_project": "whl-conf",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "whl-deploy"
}