feat(clients): add nim-allographer client with BaraDB driver support
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled

- Pure Nim wire protocol client (async + sync, no C FFI)
- Query Builder: fluent API, SQL generator, execution, transactions
- Schema Builder: create/alter/drop tables, column operations
- Connection pool with aging and timeout handling
- ORM integration via compile-time DB_BARADB switch
- Tests: test_open, test_query
- Documentation: README.md, PLAN_BARADB.md
This commit is contained in:
2026-05-21 15:49:11 +03:00
parent 2d310a33a1
commit 6bfc5b3a3c
654 changed files with 109419 additions and 0 deletions
@@ -0,0 +1,48 @@
FROM ubuntu:24.04
# prevent timezone dialogue
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
RUN apt upgrade -y
RUN apt install -y \
# for build Nim and make
build-essential \
# for unzip tar.xz
xz-utils \
# for https
ca-certificates \
# for nim regex
libpcre3-dev \
vim \
curl \
git \
sqlite3 \
libpq-dev \
libmariadb-dev
WORKDIR /root
# Nim
ARG NIM_VERSION="2.0.0"
RUN curl https://nim-lang.org/choosenim/init.sh -o init.sh
RUN sh init.sh -y
RUN rm -f init.sh
ENV PATH $PATH:/root/.nimble/bin
RUN choosenim ${NIM_VERSION}
# nimlangserver
# https://github.com/nim-lang/langserver/releases/latest
WORKDIR /root
RUN curl -o nimlangserver.tar.gz -L https://github.com/nim-lang/langserver/releases/latest/download/nimlangserver-linux-amd64.tar.gz
RUN tar zxf nimlangserver.tar.gz
RUN rm -f nimlangserver.tar.gz
RUN mv nimlangserver /root/.nimble/bin/
WORKDIR /application
COPY ./allographer.nimble .
RUN nimble install -y -d
RUN git config --global --add safe.directory /application
WORKDIR /application
@@ -0,0 +1,40 @@
FROM ubuntu:24.04
# prevent timezone dialogue
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
RUN apt upgrade -y
RUN apt install -y \
gcc \
xz-utils \
ca-certificates \
libpcre3-dev \
curl \
git \
sqlite3 \
libpq-dev \
libmariadb-dev
# gcc... for Nim
# xz-utils... for unzip tar.xz
# ca-certificates... for https
# libpcre3-dev... for nim regex
WORKDIR /root
# Nim
ARG NIM_VERSION="2.0.0"
RUN curl https://nim-lang.org/choosenim/init.sh -o init.sh
RUN sh init.sh -y
RUN rm -f init.sh
ENV PATH $PATH:/root/.nimble/bin
RUN choosenim ${NIM_VERSION}
WORKDIR /root/project
COPY ./allographer.nimble .
RUN nimble install -y -d
RUN git config --global --add safe.directory /root/project
WORKDIR /root/project