Skip to main content

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

Choose one method to install:

1. Install from PyPI (Recommended):

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

If you install with conda, activate the target environment first and keep using that same environment for aivudaos install, aivudaos start, and related commands:

conda create -n aivuda python=3.8 -y
conda activate aivuda
pip install aivudaos

2. Install from a provided wheel:

pip install aivudaos-1.0.0.dev2026040501-py3-none-any.whl

3. Install from source (for developing):

git clone https://gitee.com/buaa_iooda/aivudaOS.git
cd aivudaOS/
pip install --user -U pip setuptools wheel
pip install --user -e . # need dated npm and node (>20) installed
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .  # use pypi mirror for build

To upgrade:

# pip index versions aivudaos --pre  # inspect available versions on PyPI
pip install --upgrade aivudaos

To uninstall:

# stop and remove the systemd service by 'aivudaos uninstall' first:
aivudaos uninstall
pip uninstall aivudaos

Usage

Add python local path first:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

After install the wheel, you need to install aivudaOS dependencies first:

aivudaos install

When aivudaos install is executed inside an activated conda environment, the generated aivudaos.service will remember that environment's Python interpreter for later restarts and boot auto-start.

This will install all the dependencies and start aivudaOS and make aivudaOS autostart.

Then get url and open it in your browser:

aivudaos web
# or
aivudaos status

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:443 expose 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 status
aivudaos start
aivudaos stop
aivudaos restart
aivudaos enable-autostart
aivudaos disable-autostart
aivudaos download-caddy
aivudaos uninstall

Build wheel (for developing)

Update pip before building:

pip install --user -U pip setuptools wheel

Build release artifacts locally:

Wheel artifacts include only aivudaos/resources/ui/dist for the frontend. The source distribution excludes dist and node_modules, while keeping the UI source files for development and rebuilding.

cd aivudaOS/
cd aivudaos/resources/ui/ && npm install && npm run build && cd ../../..
export 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aivudaos-1.0.0.dev2026051402.tar.gz (311.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aivudaos-1.0.0.dev2026051402-py3-none-any.whl (421.6 kB view details)

Uploaded Python 3

File details

Details for the file aivudaos-1.0.0.dev2026051402.tar.gz.

File metadata

  • Download URL: aivudaos-1.0.0.dev2026051402.tar.gz
  • Upload date:
  • Size: 311.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aivudaos-1.0.0.dev2026051402.tar.gz
Algorithm Hash digest
SHA256 092bae1e3faf1e43e4c2be6cfd5b02d444712bd09447ea8546a2420628293a89
MD5 94253daa591917266d27369f403203d8
BLAKE2b-256 27541212010fd5a7fd996b2bef7f2c061bcdea6d15e15fd090b75cf5f0702795

See more details on using hashes here.

Provenance

The following attestation bundles were made for aivudaos-1.0.0.dev2026051402.tar.gz:

Publisher: nightly-build.yml on shupx/aivudaOS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aivudaos-1.0.0.dev2026051402-py3-none-any.whl.

File metadata

File hashes

Hashes for aivudaos-1.0.0.dev2026051402-py3-none-any.whl
Algorithm Hash digest
SHA256 c8346026131b67820dff7f88de2371279f5e67cdbcd6073f211d67f871d8a774
MD5 dfea6474fcf885ed822c462bcf030603
BLAKE2b-256 2db3f882c02b4eff6edca18e55598ade84f62cf0bbebcccc7d25eac068477e9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aivudaos-1.0.0.dev2026051402-py3-none-any.whl:

Publisher: nightly-build.yml on shupx/aivudaOS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page