Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
62039f7
Added dev image build
rjtokenring Nov 3, 2025
c8f7660
Fix image pointers for development gitflow
rjtokenring Nov 3, 2025
fc8e33d
Merge branch 'arduino:main' into main
rjtokenring Mar 27, 2026
cefedd8
cleanup and align to upstream
rjtokenring Mar 27, 2026
2690559
Merge branch 'arduino:main' into main
rjtokenring Mar 30, 2026
6885352
Merge branch 'arduino:main' into main
rjtokenring Apr 1, 2026
1c2b20e
Merge branch 'arduino:main' into main
rjtokenring Apr 1, 2026
68d1d72
Merge branch 'arduino:main' into main
rjtokenring Apr 2, 2026
224291e
Merge branch 'arduino:main' into main
rjtokenring Apr 8, 2026
2ff67e8
Merge branch 'arduino:main' into main
rjtokenring Apr 10, 2026
7664019
Merge branch 'arduino:main' into main
rjtokenring Apr 10, 2026
4e14398
Merge branch 'arduino:main' into main
rjtokenring Apr 13, 2026
e065f5c
Merge branch 'arduino:main' into main
rjtokenring Apr 13, 2026
afa3b18
Merge branch 'arduino:main' into main
rjtokenring Apr 14, 2026
6ccaeac
Merge branch 'arduino:main' into main
rjtokenring Apr 15, 2026
a8b44d8
Merge branch 'arduino:main' into main
rjtokenring Apr 16, 2026
6eb748f
Merge branch 'arduino:main' into main
rjtokenring Apr 16, 2026
2bc01ca
Merge branch 'arduino:main' into main
rjtokenring Apr 17, 2026
f3cd0ed
Merge branch 'arduino:main' into main
rjtokenring Apr 20, 2026
4bbcb05
Merge branch 'arduino:main' into main
rjtokenring Apr 20, 2026
08922f8
uv test
rjtokenring Apr 20, 2026
9aa4d97
move to UV
rjtokenring Apr 20, 2026
b521b25
build only wheel file to speed up deployment
rjtokenring Apr 20, 2026
5ffa62f
clean cache
rjtokenring Apr 20, 2026
0059aba
Revert "build only wheel file to speed up deployment"
rjtokenring Apr 20, 2026
928dd13
Merge remote-tracking branch 'upstream/main' into uv-base-image
rjtokenring Apr 21, 2026
2c33b3e
remove pyarrow
rjtokenring Apr 21, 2026
5444213
fixes
rjtokenring Apr 21, 2026
21ae50b
fix CI
rjtokenring Apr 21, 2026
b9e31b9
Merge remote-tracking branch 'upstream/main' into uv-base-image
rjtokenring Apr 21, 2026
e2a883e
clean pyarrow
rjtokenring Apr 21, 2026
c537f09
add pyarrow only for streamlit
rjtokenring Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions Taskfile.dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ tasks:
deps:
- init
cmds:
- pip install reuse
- pip install uv
- uv pip install --system reuse
- uv cache clean

check:python:version:
desc: Check if Python version is at least {{.PYTHON_VERSION_MIN}}
Expand All @@ -38,8 +40,10 @@ tasks:
cmds:
- sudo apt update
- sudo apt install libasound2-dev
- pip install build
- pip install -e ".[dev]"
- pip install uv
- uv pip install --system build
- uv pip install --system -e ".[dev]"
- uv cache clean

doc:
desc: Generate documentation
Expand Down
6 changes: 4 additions & 2 deletions containers/python-apps-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ FROM ${REGISTRY}app-bricks/python-base:${BASE_IMAGE_VERSION}
COPY ./streamlit/config.toml /home/app/.streamlit/config.toml

COPY ./requirements-base.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt && rm /app/requirements.txt
RUN uv pip install --system --no-cache-dir -r /app/requirements.txt && rm /app/requirements.txt && uv cache clean

COPY ./*.sh /
COPY ./arduino*.whl /app/
RUN bash -c 'WHL_FILES=(/app/*.whl) && pip install --no-cache-dir "${WHL_FILES[@]}"[all] && pip cache purge'; \
RUN bash -c 'WHL_FILES=(/app/*.whl) && uv pip install --system --no-cache-dir "${WHL_FILES[@]}"[all] && pip cache purge && uv cache clean'; \
rm /app/*.whl; \
# Remove pyarrow from base image
uv pip uninstall --system pyarrow; \
# fix permissions for /home/app
chown arduino:arduino -R /home/app; \
chmod 777 -R /home/app; \
Expand Down
4 changes: 4 additions & 0 deletions containers/python-apps-base/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ if [ "$1" = "provision" ]; then
arduino-bricks-list-modules --provision-compose
else
if grep -q "arduino:streamlit_ui" "$APP_YAML"; then
if ! uv pip show pyarrow > /dev/null 2>&1; then
echo "pyarrow not found, installing..."
uv pip install --no-cache-dir pyarrow==20.0.0
fi
exec streamlit run --server.port 7000 "$PYTHON_SCRIPT"
else
echo "======== App is starting ============================"
Expand Down
7 changes: 6 additions & 1 deletion containers/python-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,16 @@ RUN set -ex; \
apt-get update -y; \
apt-get upgrade -y; \
apt-get install -y --no-install-recommends --no-install-suggests build-essential libasound2-dev libalsaplayer-dev libzbar0 binutils portaudio19-dev; \
pip install --no-cache-dir -r /app/requirements.txt && rm /app/requirements.txt; \
pip install --no-cache-dir uv; \
# Now use UV to install the dependencies
uv pip install --system --no-cache-dir -r /app/requirements.txt && rm /app/requirements.txt; \
# Remove pyarrow from base image
uv pip uninstall --system pyarrow; \
# remove debug symbols from shared objects and reduce size
find /usr/local/lib/python3.13/site-packages -type f -name "*.so" -exec strip -s {} +; \
find /usr/local/lib/python3.13/site-packages -type f -name "*.so.*" -exec strip -s {} +; \
# remove unneeded files/packages
uv cache clean; \
apt remove build-essential libasound2-dev libalsaplayer-dev binutils -y; \
apt-get clean; \
apt-get autoclean -y; \
Expand Down
2 changes: 0 additions & 2 deletions containers/python-base/requirements-base.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
uv
pandas==2.3.2
pillow
opencv-python-headless
pyyaml
requests
pyalsaaudio==0.11.0
pyarrow==20.0.0
streamlit
pyzbar
cryptography
Expand Down
Loading