context-server 0.1.0__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- context_server-0.1.4/.github/workflows/release.yml +89 -0
- {context_server-0.1.0 → context_server-0.1.4}/.gitignore +1 -0
- {context_server-0.1.0 → context_server-0.1.4}/Cargo.lock +1 -1
- {context_server-0.1.0 → context_server-0.1.4}/Cargo.toml +1 -1
- context_server-0.1.4/Containerfile +55 -0
- {context_server-0.1.0 → context_server-0.1.4}/PKG-INFO +17 -1
- {context_server-0.1.0 → context_server-0.1.4}/README.md +16 -0
- {context_server-0.1.0 → context_server-0.1.4}/pyproject.toml +1 -1
- context_server-0.1.4/scripts/build-wheel.sh +25 -0
- context_server-0.1.0/.github/workflows/release.yml +0 -62
- {context_server-0.1.0 → context_server-0.1.4}/.cargo/config.toml.example +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/LICENSE +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/PLAN.md +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/examples/sample-docs/README.md +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/examples/sample-docs/onboarding.md +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/examples/sample-docs/release-process.md +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/embed.rs +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/index.rs +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/main.rs +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/mcp.rs +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/search.rs +0 -0
- {context_server-0.1.0 → context_server-0.1.4}/src/store.rs +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
linux:
|
|
14
|
+
name: Linux wheel (${{ matrix.arch }})
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
include:
|
|
20
|
+
- os: ubuntu-latest
|
|
21
|
+
arch: x86_64
|
|
22
|
+
- os: ubuntu-24.04-arm
|
|
23
|
+
arch: aarch64
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
# Same Containerfile as local `./scripts/build-wheel.sh` (podman/docker).
|
|
28
|
+
# Ubuntu 24.04 base is required: ort prebuilts need glibc >= ~2.38.
|
|
29
|
+
- name: Build wheel with Containerfile
|
|
30
|
+
run: |
|
|
31
|
+
set -euo pipefail
|
|
32
|
+
docker build -t context-server-wheel -f Containerfile .
|
|
33
|
+
cid="$(docker create context-server-wheel)"
|
|
34
|
+
mkdir -p dist
|
|
35
|
+
docker cp "$cid:/out/." dist/
|
|
36
|
+
docker rm "$cid"
|
|
37
|
+
ls -la dist
|
|
38
|
+
|
|
39
|
+
- uses: actions/upload-artifact@v4
|
|
40
|
+
with:
|
|
41
|
+
name: wheels-linux-${{ matrix.arch }}
|
|
42
|
+
path: dist/*
|
|
43
|
+
|
|
44
|
+
macos:
|
|
45
|
+
name: macOS wheel (aarch64)
|
|
46
|
+
runs-on: macos-latest
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v4
|
|
49
|
+
|
|
50
|
+
# ort does not ship prebuilt ONNX Runtime for x86_64-apple-darwin.
|
|
51
|
+
- uses: PyO3/maturin-action@v1
|
|
52
|
+
with:
|
|
53
|
+
target: aarch64-apple-darwin
|
|
54
|
+
args: --release --locked --out dist
|
|
55
|
+
manylinux: 'off'
|
|
56
|
+
|
|
57
|
+
- uses: actions/upload-artifact@v4
|
|
58
|
+
with:
|
|
59
|
+
name: wheels-macos-aarch64
|
|
60
|
+
path: dist/*
|
|
61
|
+
|
|
62
|
+
publish:
|
|
63
|
+
name: Publish to PyPI
|
|
64
|
+
needs: [linux, macos]
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
if: startsWith(github.ref, 'refs/tags/')
|
|
67
|
+
environment:
|
|
68
|
+
name: release
|
|
69
|
+
url: https://pypi.org/project/context-server/
|
|
70
|
+
permissions:
|
|
71
|
+
id-token: write
|
|
72
|
+
contents: read
|
|
73
|
+
steps:
|
|
74
|
+
- uses: astral-sh/setup-uv@v6
|
|
75
|
+
|
|
76
|
+
- uses: actions/download-artifact@v4
|
|
77
|
+
with:
|
|
78
|
+
pattern: wheels-*
|
|
79
|
+
path: wheels
|
|
80
|
+
merge-multiple: true
|
|
81
|
+
|
|
82
|
+
- name: Show artifacts
|
|
83
|
+
run: ls -la wheels
|
|
84
|
+
|
|
85
|
+
# Trusted Publishing (OIDC). Configure at:
|
|
86
|
+
# https://pypi.org/manage/project/context-server/settings/publishing/
|
|
87
|
+
# Owner: shanemcd, Repo: context-server, Workflow: release.yml, Environment: release
|
|
88
|
+
- name: Publish to PyPI
|
|
89
|
+
run: uv publish --trusted-publishing always -v wheels/*
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Build Linux wheels for context-server.
|
|
2
|
+
#
|
|
3
|
+
# ORT's prebuilt static libraries need glibc >= ~2.38 (__isoc23_*,
|
|
4
|
+
# __libc_single_threaded), so classic manylinux_2_28 images cannot link.
|
|
5
|
+
# Ubuntu 24.04 (glibc 2.39) matches that requirement and is what CI uses.
|
|
6
|
+
#
|
|
7
|
+
# Local:
|
|
8
|
+
# ./scripts/build-wheel.sh
|
|
9
|
+
#
|
|
10
|
+
# Extract without the helper:
|
|
11
|
+
# podman build -t context-server-wheel -f Containerfile .
|
|
12
|
+
# cid=$(podman create context-server-wheel)
|
|
13
|
+
# podman cp "$cid:/out/." ./dist/ && podman rm "$cid"
|
|
14
|
+
|
|
15
|
+
FROM docker.io/library/ubuntu:24.04
|
|
16
|
+
|
|
17
|
+
ENV DEBIAN_FRONTEND=noninteractive \
|
|
18
|
+
RUSTUP_HOME=/usr/local/rustup \
|
|
19
|
+
CARGO_HOME=/usr/local/cargo \
|
|
20
|
+
PATH=/usr/local/cargo/bin:$PATH \
|
|
21
|
+
OPENSSL_NO_VENDOR=1
|
|
22
|
+
|
|
23
|
+
RUN apt-get update \
|
|
24
|
+
&& apt-get install -y --no-install-recommends \
|
|
25
|
+
build-essential \
|
|
26
|
+
ca-certificates \
|
|
27
|
+
cmake \
|
|
28
|
+
curl \
|
|
29
|
+
git \
|
|
30
|
+
libssl-dev \
|
|
31
|
+
patchelf \
|
|
32
|
+
pkg-config \
|
|
33
|
+
python3 \
|
|
34
|
+
python3-pip \
|
|
35
|
+
python3-venv \
|
|
36
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
37
|
+
|
|
38
|
+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
|
39
|
+
| sh -s -- -y --default-toolchain stable --profile minimal \
|
|
40
|
+
&& rustc --version \
|
|
41
|
+
&& cargo --version
|
|
42
|
+
|
|
43
|
+
RUN python3 -m pip install --break-system-packages 'maturin[patchelf]>=1.0,<2.0' \
|
|
44
|
+
&& maturin --version
|
|
45
|
+
|
|
46
|
+
WORKDIR /src
|
|
47
|
+
COPY . .
|
|
48
|
+
|
|
49
|
+
# Tag as manylinux_2_39; maturin/patchelf vendors libssl into the wheel for PyPI.
|
|
50
|
+
RUN mkdir -p /out \
|
|
51
|
+
&& maturin build --release --locked --compatibility manylinux_2_39 -o /out \
|
|
52
|
+
&& maturin sdist -o /out \
|
|
53
|
+
&& ls -la /out
|
|
54
|
+
|
|
55
|
+
CMD ["ls", "-la", "/out"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: context-server
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
License-File: LICENSE
|
|
5
5
|
Summary: Lightweight MCP server for semantic search over organizational markdown
|
|
6
6
|
Home-Page: https://github.com/shanemcd/context-server
|
|
@@ -38,6 +38,14 @@ mkdir -p .linker && ln -sfn /usr/lib64/libstdc++.so.6 .linker/libstdc++.so
|
|
|
38
38
|
export RUSTFLAGS="-L native=$(pwd)/.linker"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
## Install
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install context-server
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Platform wheels: Linux x86_64/aarch64 (`manylinux_2_39`, glibc 2.39+ / Ubuntu 24.04+) and macOS Apple Silicon.
|
|
48
|
+
|
|
41
49
|
## Build
|
|
42
50
|
|
|
43
51
|
```bash
|
|
@@ -46,6 +54,14 @@ cargo build --release
|
|
|
46
54
|
|
|
47
55
|
The first embedding run downloads the MiniLM model into the local Hugging Face / fastembed cache (~tens of MB, once).
|
|
48
56
|
|
|
57
|
+
### Linux wheels (Podman)
|
|
58
|
+
|
|
59
|
+
Same Containerfile CI uses (Ubuntu 24.04 / glibc 2.39 — required by current ORT prebuilts):
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
./scripts/build-wheel.sh # writes dist/*.whl
|
|
63
|
+
```
|
|
64
|
+
|
|
49
65
|
## Usage
|
|
50
66
|
|
|
51
67
|
```bash
|
|
@@ -27,6 +27,14 @@ mkdir -p .linker && ln -sfn /usr/lib64/libstdc++.so.6 .linker/libstdc++.so
|
|
|
27
27
|
export RUSTFLAGS="-L native=$(pwd)/.linker"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
## Install
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pip install context-server
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Platform wheels: Linux x86_64/aarch64 (`manylinux_2_39`, glibc 2.39+ / Ubuntu 24.04+) and macOS Apple Silicon.
|
|
37
|
+
|
|
30
38
|
## Build
|
|
31
39
|
|
|
32
40
|
```bash
|
|
@@ -35,6 +43,14 @@ cargo build --release
|
|
|
35
43
|
|
|
36
44
|
The first embedding run downloads the MiniLM model into the local Hugging Face / fastembed cache (~tens of MB, once).
|
|
37
45
|
|
|
46
|
+
### Linux wheels (Podman)
|
|
47
|
+
|
|
48
|
+
Same Containerfile CI uses (Ubuntu 24.04 / glibc 2.39 — required by current ORT prebuilts):
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
./scripts/build-wheel.sh # writes dist/*.whl
|
|
52
|
+
```
|
|
53
|
+
|
|
38
54
|
## Usage
|
|
39
55
|
|
|
40
56
|
```bash
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Build a Linux wheel with podman using the repo Containerfile.
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
root="$(cd "$(dirname "$0")/.." && pwd)"
|
|
6
|
+
cd "$root"
|
|
7
|
+
|
|
8
|
+
IMAGE_TAG="${IMAGE_TAG:-context-server-wheel}"
|
|
9
|
+
OUT_DIR="${OUT_DIR:-$root/dist}"
|
|
10
|
+
|
|
11
|
+
mkdir -p "$OUT_DIR"
|
|
12
|
+
|
|
13
|
+
echo "Building wheel image..."
|
|
14
|
+
podman build \
|
|
15
|
+
-t "$IMAGE_TAG" \
|
|
16
|
+
-f Containerfile \
|
|
17
|
+
.
|
|
18
|
+
|
|
19
|
+
cid="$(podman create "$IMAGE_TAG")"
|
|
20
|
+
cleanup() { podman rm -f "$cid" >/dev/null 2>&1 || true; }
|
|
21
|
+
trap cleanup EXIT
|
|
22
|
+
|
|
23
|
+
podman cp "$cid:/out/." "$OUT_DIR/"
|
|
24
|
+
echo "Wheels written to $OUT_DIR:"
|
|
25
|
+
ls -la "$OUT_DIR"
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*'
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build:
|
|
14
|
-
name: Build wheels (${{ matrix.target }})
|
|
15
|
-
runs-on: ${{ matrix.os }}
|
|
16
|
-
strategy:
|
|
17
|
-
fail-fast: false
|
|
18
|
-
matrix:
|
|
19
|
-
include:
|
|
20
|
-
- os: ubuntu-latest
|
|
21
|
-
target: x86_64-unknown-linux-gnu
|
|
22
|
-
manylinux: "2_28"
|
|
23
|
-
- os: ubuntu-latest
|
|
24
|
-
target: aarch64-unknown-linux-gnu
|
|
25
|
-
manylinux: "2_28"
|
|
26
|
-
- os: macos-latest
|
|
27
|
-
target: aarch64-apple-darwin
|
|
28
|
-
- os: macos-13
|
|
29
|
-
target: x86_64-apple-darwin
|
|
30
|
-
steps:
|
|
31
|
-
- uses: actions/checkout@v4
|
|
32
|
-
|
|
33
|
-
- uses: PyO3/maturin-action@v1
|
|
34
|
-
with:
|
|
35
|
-
target: ${{ matrix.target }}
|
|
36
|
-
manylinux: ${{ matrix.manylinux || 'auto' }}
|
|
37
|
-
args: --release --locked --out dist
|
|
38
|
-
|
|
39
|
-
- uses: actions/upload-artifact@v4
|
|
40
|
-
with:
|
|
41
|
-
name: wheels-${{ matrix.target }}
|
|
42
|
-
path: dist
|
|
43
|
-
|
|
44
|
-
publish:
|
|
45
|
-
name: Publish to PyPI
|
|
46
|
-
needs: build
|
|
47
|
-
runs-on: ubuntu-latest
|
|
48
|
-
if: startsWith(github.ref, 'refs/tags/')
|
|
49
|
-
environment:
|
|
50
|
-
name: release
|
|
51
|
-
permissions:
|
|
52
|
-
id-token: write
|
|
53
|
-
steps:
|
|
54
|
-
- uses: astral-sh/setup-uv@v6
|
|
55
|
-
|
|
56
|
-
- uses: actions/download-artifact@v4
|
|
57
|
-
with:
|
|
58
|
-
pattern: wheels-*
|
|
59
|
-
path: wheels
|
|
60
|
-
merge-multiple: true
|
|
61
|
-
|
|
62
|
-
- run: uv publish -v wheels/*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|