AivudaOS packaged for pip installation and PyPI publishing.
Project description
AivudaOS
aivudaOS is a lightweight OS on swarm robot's onboard computer. It offers a graphical panel which allows you to interact with the onboard system and manage the APPs.
Install
- Install from PyPI:
pip install aivudaos
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple aivudaos # use pypi mirror (may not be the latest)
# pip install aivudaos==1.0.0.dev2026040602 # for a certain version
- Install from a provided wheel:
pip install aivudaos-1.0.0.dev2026040501-py3-none-any.whl
- Install from source:
git clone https://gitee.com/buaa_iooda/aivudaOS.git
cd aivudaOS/
pip install . # need dated npm and node (>20) installed
To upgrade:
# pip index versions aivudaos --pre # inspect available versions on PyPI
pip install aivudaos --upgrade
To uninstall:
# stop and remove the systemd service by 'aivudaos uninstall' first:
aivudaos uninstall
pip uninstall aivudaos
Usage
After install the wheel, you need to install aivudaOS dependencies first:
aivudaos install
This will install all the dependencies and start aivudaOS and make aivudaOS autostart.
Then get url and open it in your browser:
aivudaos web
It will remind you to visit http://127.0.0.1:80 on the local browser, or vist https://<avahi_hostname>.local:443 on a remote browser
The following port is used by aivudaOS:
127.0.0.1:8000: internal backend, reverse proxy by caddy;http://127.0.0.1:80: expose the service by caddy for http;https://<avahi_hostname>.local:443expose the service by caddy for https,
where the <avahi_hostname> can be read by
aivudaos get-avahi-hostname
aivudaos get-avahi-hostname --debug
Each robot has a randomly generated and unique avahi_hostname on install, which can also be changed in the system setting of the aivudaOS panel.
After installation, you can use the unified CLI:
aivudaos --help
aivudaos --version
aivudaos install
aivudaos web
aivudaos start
aivudaos stop
aivudaos restart
aivudaos enable-autostart
aivudaos disable-autostart
aivudaos download-caddy
aivudaos uninstall
Build wheel
Build release artifacts locally:
Wheel artifacts include only
aivudaos/resources/ui/distfor the frontend. The source distribution keeps the non-distUI source files for development and rebuilding.
cd aivudaOS/
cd aivudaos/resources/ui/ && npm install && npm run build && cd ../../..
AIVUDAOS_BUILD_SEQ=01
python -m build
# PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple python -m build # use pypi mirror
If your environment does not provide python -m build isolation support, use:
AIVUDAOS_BUILD_SEQ=01 python -m build --no-isolation
Upload to PyPi:
cd aivudaOS
AIVUDAOS_BUILD_SEQ=01 \
TWINE_USERNAME=__token__ \
TWINE_PASSWORD="$PYPI_TOKEN" \
TWINE_NON_INTERACTIVE=1 \
./publish_aivudaos_pypi.sh
## or not upload
cd aivudaOS
AIVUDAOS_BUILD_SEQ=01 \
./publish_aivudaos_pypi.sh --skip-upload
The automated workflow is activated at https://github.com/shupx/aivudaOS/actions/workflows/nightly-build.yml, which deploys a check every night and build and publish wheels to PyPi if there is a update.
Develop
Refer to README_dev.md
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 aivudaos-1.0.0.dev2026040710.tar.gz.
File metadata
- Download URL: aivudaos-1.0.0.dev2026040710.tar.gz
- Upload date:
- Size: 16.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04b0bbdd2e543bbedfe26de866a98b95f5268cf8f8098133f3fe9824b9d54b62
|
|
| MD5 |
7b8642c9398c41ff2e6ef7b8bea8a2d3
|
|
| BLAKE2b-256 |
5787df2efc47fb79c8d36159f98eeb2062e4d124a28cc5a22d614ce03df089b2
|
Provenance
The following attestation bundles were made for aivudaos-1.0.0.dev2026040710.tar.gz:
Publisher:
nightly-build.yml on shupx/aivudaOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aivudaos-1.0.0.dev2026040710.tar.gz -
Subject digest:
04b0bbdd2e543bbedfe26de866a98b95f5268cf8f8098133f3fe9824b9d54b62 - Sigstore transparency entry: 1246248171
- Sigstore integration time:
-
Permalink:
shupx/aivudaOS@2cd743112242524eba84ab628d66ead54cda1bdd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/shupx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
nightly-build.yml@2cd743112242524eba84ab628d66ead54cda1bdd -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file aivudaos-1.0.0.dev2026040710-py3-none-any.whl.
File metadata
- Download URL: aivudaos-1.0.0.dev2026040710-py3-none-any.whl
- Upload date:
- Size: 188.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d1a11d53292d9c060cd8ece1e3883dff7e005bb5815d5331c4c96324d3eb2a8
|
|
| MD5 |
4a898789fc6fc63ea2bb2457349c8146
|
|
| BLAKE2b-256 |
3a9398cee93cdd4c72a69e4ea4190c48db403bd5a39bdc158fa1805010f33567
|
Provenance
The following attestation bundles were made for aivudaos-1.0.0.dev2026040710-py3-none-any.whl:
Publisher:
nightly-build.yml on shupx/aivudaOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aivudaos-1.0.0.dev2026040710-py3-none-any.whl -
Subject digest:
7d1a11d53292d9c060cd8ece1e3883dff7e005bb5815d5331c4c96324d3eb2a8 - Sigstore transparency entry: 1246248175
- Sigstore integration time:
-
Permalink:
shupx/aivudaOS@2cd743112242524eba84ab628d66ead54cda1bdd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/shupx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
nightly-build.yml@2cd743112242524eba84ab628d66ead54cda1bdd -
Trigger Event:
workflow_dispatch
-
Statement type: