usearch 0.8.1 → 0.9.0

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.
@@ -160,11 +160,51 @@ jobs:
160
160
  - name: Run tests
161
161
  run: swift test
162
162
 
163
+ # Publishes to both Docker Hub and GitHub Container Registry
164
+ # https://docs.github.com/en/actions/publishing-packages/publishing-docker-images#publishing-images-to-docker-hub-and-github-packages
165
+ publish_docker:
166
+ name: Publish Docker Image
167
+ needs: versioning
168
+ runs-on: ubuntu-latest
169
+ steps:
170
+ - uses: actions/checkout@v3
171
+ with:
172
+ ref: 'main'
173
+ - run: git submodule update --init --recursive
174
+ - name: Login to Docker Hub
175
+ uses: docker/login-action@v2
176
+ with:
177
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
178
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
179
+ - name: Log in to GitHub Registry
180
+ uses: docker/login-action@2
181
+ with:
182
+ registry: ghcr.io
183
+ username: ${{ github.actor }}
184
+ password: ${{ secrets.GITHUB_TOKEN }}
185
+ - name: Set up Docker Buildx
186
+ uses: docker/setup-buildx-action@v2
187
+ - name: Extract tags & labels for Docker
188
+ id: meta
189
+ uses: docker/metadata-action@4
190
+ with:
191
+ images: |
192
+ unum/usearch
193
+ ghcr.io/${{ github.repository }}
194
+ - name: Build and push
195
+ uses: docker/build-push-action@v4
196
+ with:
197
+ context: .
198
+ push: true
199
+ tags: ${{ steps.meta.outputs.tags }}
200
+ labels: ${{ steps.meta.outputs.labels }}
201
+
202
+
163
203
  build_docs:
164
204
  name: Build Docs
165
205
  runs-on: ubuntu-22.04
166
206
  if: ${{ always() }}
167
- needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift]
207
+ needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker]
168
208
  permissions:
169
209
  contents: write
170
210
  steps:
package/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "usearch"
3
- version = "0.8.1"
3
+ version = "0.9.0"
4
4
  authors = ["Ashot Vardanian <1983160+ashvardanian@users.noreply.github.com>"]
5
5
  description = "Smaller & Faster Single-File Vector Search Engine from Unum"
6
6
  edition = "2021"
package/Dockerfile CHANGED
@@ -1,6 +1,8 @@
1
1
  # syntax=docker/dockerfile:1
2
2
 
3
3
  FROM ubuntu:23.04
4
+ ENV DEBIAN_FRONTEND=noninteractive
5
+
4
6
  RUN apt-get update && \
5
7
  apt-get install -y --no-install-recommends python3.11 python3-pip && \
6
8
  apt-get clean && \
@@ -10,5 +12,5 @@ RUN pip3 install --no-cache-dir --break-system-packages ucall usearch
10
12
  WORKDIR /usearch
11
13
  COPY python/usearch/server.py server.py
12
14
 
13
- CMD ["python3", "./server.py"]
15
+ ENTRYPOINT ["python3", "./server.py"]
14
16
  EXPOSE 8545
package/README.md CHANGED
@@ -417,7 +417,7 @@ assert!(new_haversine(&quant, 0, 0, 0).is_ok());
417
417
 
418
418
  ```xml
419
419
  <dependency>
420
- <groupId>cloud.unum.usearch</groupId>
420
+ <groupId>cloud.unum</groupId>
421
421
  <artifactId>usearch</artifactId>
422
422
  <version>0.2.3</version>
423
423
  </dependency>
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.9.0
package/build.gradle CHANGED
@@ -6,7 +6,7 @@ plugins {
6
6
  id 'maven-publish'
7
7
  }
8
8
 
9
- group "cloud.unum.usearch"
9
+ group "cloud.unum"
10
10
  version = file("VERSION").text.trim()
11
11
 
12
12
  sourceCompatibility = 1.8
package/conanfile.py CHANGED
@@ -4,7 +4,7 @@ from conans import ConanFile
4
4
  class USearchConan(ConanFile):
5
5
 
6
6
  name = 'USearch'
7
- version = '0.8.1'
7
+ version = '0.9.0'
8
8
  license = 'Apache 2.0'
9
9
  url = 'https://github.com/unum-cloud/usearch'
10
10
  description = 'Smaller & Faster Single-File Vector Search Engine from Unum'
@@ -136,4 +136,19 @@ brew install --cask wolfram-engine
136
136
 
137
137
  ```sh
138
138
  docker build -t unum/usearch . && docker run unum/usearch
139
+ ```
140
+
141
+ For multi-architecture builds and publications:
142
+
143
+ ```sh
144
+ version=$(cat VERSION)
145
+ docker buildx create --use &&
146
+ docker login &&
147
+ docker buildx build \
148
+ --platform "linux/amd64,linux/arm64" \
149
+ --build-arg version=$version \
150
+ --file Dockerfile \
151
+ --tag unum/usearch:$version \
152
+ --tag unum/usearch:latest \
153
+ --push .
139
154
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usearch",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "Smaller & Faster Single-File Vector Search Engine from Unum",
5
5
  "author": "Ashot Vardanian",
6
6
  "license": "Apache 2.0",