Skip to content

Commit 8b8183b

Browse files
python-uv.dockerfile (#3948)
1 parent d96e81c commit 8b8183b

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

.github/workflows/python-dockers.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ jobs:
4242
args: gcc=13 v=1.16.0
4343
- name: Langchain
4444
file: langchain
45+
- name: Python 3.12 + uv
46+
file: python-uv
47+
args: python=3.12
48+
- name: Python 3.13 + uv
49+
file: python-uv
50+
args: python=3.13
4551
name: ${{ matrix.img.name }}${{ matrix.os.suffix }}
4652
runs-on: ${{ matrix.os.runs-on }}
4753
steps:

docker/python-uv.dockerfile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
ARG python=3.13
2+
FROM python:$python
3+
4+
# Required by vcpkg source build on ARM
5+
ENV VCPKG_FORCE_SYSTEM_BINARIES=1
6+
# Required by vcpkg source build
7+
RUN apt update -y && apt install -y curl ninja-build tar unzip zip
8+
9+
# `tiledbsoma>=1.16` requires GCC ≥13
10+
RUN echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list.d/testing.list && \
11+
echo "deb http://deb.debian.org/debian unstable main" > /etc/apt/sources.list.d/unstable.list && \
12+
echo 'APT::Default-Release "stable";' > /etc/apt/apt.conf.d/99defaultrelease && \
13+
apt update -y && \
14+
apt install -y -t unstable gcc-13 g++-13 && \
15+
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \
16+
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \
17+
update-alternatives --set gcc /usr/bin/gcc-13 && \
18+
update-alternatives --set g++ /usr/bin/g++-13
19+
20+
RUN pip install --upgrade pip \
21+
&& pip install uv \
22+
&& uv init example
23+
24+
WORKDIR example
25+
# Required on ARM, until ARM Linux wheels are published:
26+
# - https://github.com/single-cell-data/TileDB-SOMA/issues/3890
27+
# - https://github.com/single-cell-data/TileDB-SOMA/issues/3909
28+
RUN echo "cmake<4" > constraints.txt
29+
RUN uv pip install --system --build-constraints constraints.txt tiledbsoma
30+
31+
ENTRYPOINT [ "python", "-c", "import tiledbsoma; tiledbsoma.show_package_versions()" ]

0 commit comments

Comments
 (0)