Skip to content

Commit 951cc59

Browse files
committed
refactor: rebrand as @photostructure/sqlite-vec
Changed npm package name from @mceachen/sqlite-vec to @photostructure/sqlite-vec to reflect that PhotoStructure Inc. is funding and maintaining this fork. **Changes:** - package.json: Update name, version (0.4.1), repository URLs - README.md: Update branding to "PhotoStructure's Production Fork" - Explain why fork exists (PhotoStructure's production dependency) - Update installation instructions for new package name - Credit original authors (Alex Garcia, Vlad Lasky) prominently **Rationale:** - Honesty: PhotoStructure is paying for maintenance, should own branding - Sustainability: Company ownership reduces bus factor - Professional: Standard practice for companies maintaining infrastructure - Transparent: Users know who's backing the dependency This remains open source (MIT/Apache-2.0). Contributions welcome.
1 parent 3086893 commit 951cc59

2 files changed

Lines changed: 43 additions & 25 deletions

File tree

README.md

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,24 @@
33
[![](https://dcbadge.vercel.app/api/server/VCtQ8cGhUs)](https://discord.gg/Ve7WeCJFXk)
44

55
> [!NOTE]
6-
> **Community Fork:** This fork of [`asg017/sqlite-vec`](https://github.com/asg017/sqlite-vec) merges pending upstream PRs and provides continued maintenance while the original repository is inactive.
6+
> **PhotoStructure's Production Fork:** This is [PhotoStructure](https://photostructure.com)'s actively maintained fork of [`asg017/sqlite-vec`](https://github.com/asg017/sqlite-vec), optimized for production use with additional features, comprehensive testing, and ongoing maintenance funded by PhotoStructure Inc.
77
>
8-
> Credits: [Alex Garcia](https://github.com/asg017) (original implementation), [Vlad Lasky](https://github.com/vlasky) (merged 15+ pending upstream PRs).
8+
> **Credits:** [Alex Garcia](https://github.com/asg017) (original implementation), [Vlad Lasky](https://github.com/vlasky) (community fork with 15+ merged upstream PRs), PhotoStructure Inc. (ongoing maintenance and improvements).
9+
>
10+
> **Why this fork exists:**
11+
> - PhotoStructure depends on sqlite-vec for production vector search in our photo management platform
12+
> - We've added production-critical features, security hardening, and comprehensive testing
13+
> - We're committed to maintaining this for as long as PhotoStructure exists
14+
> - All improvements remain open source (MIT/Apache-2.0) for the community
915
>
1016
> **Fork improvements:**
11-
> - Security hardening (safe integer parsing, vendor checksum validation, pinned CI actions, OIDC releases)
12-
> - Fixed multiple memory leaks via AddressSanitizer/Valgrind testing (see [CHANGELOG](CHANGELOG-mceachen.md))
13-
> - Node.js: added Alpine/musl and Windows ARM64 prebuilds, all platforms bundled (no post-install scripts)
14-
> - Updated to latest SQLite release
17+
> - **Testing:** AddressSanitizer/Valgrind/UBSan integration, 30+ error path tests, memory leak fixes
18+
> - **Security:** Safe integer parsing, vendor checksum validation, pinned CI actions, OIDC releases
19+
> - **Node.js:** Alpine/musl + Windows ARM64 prebuilds, bundled binaries (no post-install scripts)
20+
> - **Features:** Distance constraints, OPTIMIZE command, ALTER TABLE RENAME, GLOB/LIKE operators
21+
> - **Documentation:** Comprehensive error path coverage, KNN filtering behavior, production deployment guides
1522
>
16-
> Commits are kept small for easy cherry-picking back upstream.
23+
> Maintained by PhotoStructure Inc. Contributions welcome. See [CHANGELOG-mceachen.md](CHANGELOG-mceachen.md) for detailed changes.
1724
1825
An extremely small, "fast enough" vector search SQLite extension that runs
1926
anywhere! A successor to [`sqlite-vss`](https://github.com/asg017/sqlite-vss)
@@ -70,27 +77,38 @@ For the latest features from this fork, see "Installing from This Fork" below.
7077
| rqlite | `rqlited -extensions-path=sqlite-vec.tar.gz` | [`sqlite-vec` with rqlite](https://alexgarcia.xyz/sqlite-vec/rqlite.html) | [![rqlite](https://img.shields.io/badge/rqlite-sqlite_extensions-blue)](https://rqlite.io/docs/guides/extensions/) |
7178
| `sqlite-utils` | `sqlite-utils install sqlite-utils-sqlite-vec` | [`sqlite-vec` with sqlite-utils](https://alexgarcia.xyz/sqlite-vec/sqlite-utils.html) | [![sqlite-utils](https://img.shields.io/pypi/v/sqlite-utils-sqlite-vec.svg?color=B6B6D9&label=sqlite-utils+plugin&logoColor=white&logo=python)](https://datasette.io/plugins/datasette-sqlite-vec) |
7279

73-
### Installing from This Fork
80+
### Installing from PhotoStructure's Fork
81+
82+
Install directly from npm or GitHub to get PhotoStructure's production-ready fork with additional features and comprehensive testing.
83+
84+
#### Node.js (Recommended)
85+
86+
PhotoStructure publishes prebuilt binaries to npm for all major platforms:
87+
88+
```bash
89+
npm install @photostructure/sqlite-vec
90+
```
91+
92+
[![npm](https://img.shields.io/npm/v/@photostructure/sqlite-vec.svg?color=green&logo=nodedotjs&logoColor=white)](https://www.npmjs.com/package/@photostructure/sqlite-vec)
7493

75-
Install directly from GitHub to get the latest features from this community fork.
94+
**Supported platforms:** Linux (x64, ARM64, musl), macOS (x64, ARM64), Windows (x64, ARM64)
7695

77-
#### Available Languages
96+
#### Other Languages (Build from Source)
7897

7998
| Language | Install Latest (main branch) | Install Specific Version |
8099
|----------|------------------------------|--------------------------|
81-
| **Go** | `go get github.com/vlasky/sqlite-vec/bindings/go/cgo@main` | `go get github.com/vlasky/sqlite-vec/bindings/go/cgo@v0.2.4-alpha` |
82-
| **Lua** | `luarocks install lsqlite3` then copy [`sqlite_vec.lua`](bindings/lua/) to your project. See [Lua example](/examples/simple-lua/) | Download [`sqlite_vec.lua` at v0.2.4-alpha](https://github.com/vlasky/sqlite-vec/blob/v0.2.4-alpha/bindings/lua/sqlite_vec.lua) |
83-
| **Node.js** | `npm install @mceachen/sqlite-vec` | `npm install @mceachen/sqlite-vec@0.3.0` |
84-
| **Python** | `pip install git+https://github.com/vlasky/sqlite-vec.git` | `pip install git+https://github.com/vlasky/sqlite-vec.git@v0.2.4-alpha` |
85-
| **Ruby** | `gem 'sqlite-vec', git: 'https://github.com/vlasky/sqlite-vec'` | `gem 'sqlite-vec', git: 'https://github.com/vlasky/sqlite-vec', tag: 'v0.2.4-alpha'` |
86-
| **Rust** | `cargo add sqlite-vec --git https://github.com/vlasky/sqlite-vec` | `cargo add sqlite-vec --git https://github.com/vlasky/sqlite-vec --tag v0.2.4-alpha` |
87-
88-
**Python Note:** Requires Python built with loadable extension support (`--enable-loadable-sqlite-extensions`). If you encounter an error about extension support not being available:
89-
- Use `uv` to create virtual environments (automatically uses system Python which typically has extension support)
100+
| **Go** | `go get github.com/photostructure/sqlite-vec/bindings/go/cgo@main` | `go get github.com/photostructure/sqlite-vec/bindings/go/cgo@v0.4.1` |
101+
| **Lua** | `luarocks install lsqlite3` then copy [`sqlite_vec.lua`](bindings/lua/) to your project. See [Lua example](/examples/simple-lua/) | Download [`sqlite_vec.lua` at v0.4.1](https://github.com/photostructure/sqlite-vec/blob/v0.4.1/bindings/lua/sqlite_vec.lua) |
102+
| **Python** | `pip install git+https://github.com/photostructure/sqlite-vec.git` | `pip install git+https://github.com/photostructure/sqlite-vec.git@v0.4.1` |
103+
| **Ruby** | `gem 'sqlite-vec', git: 'https://github.com/photostructure/sqlite-vec'` | `gem 'sqlite-vec', git: 'https://github.com/photostructure/sqlite-vec', tag: 'v0.4.1'` |
104+
| **Rust** | `cargo add sqlite-vec --git https://github.com/photostructure/sqlite-vec` | `cargo add sqlite-vec --git https://github.com/photostructure/sqlite-vec --tag v0.4.1` |
105+
106+
**Python Note:** Requires Python built with loadable extension support (`--enable-loadable-sqlite-extensions`). If you encounter errors:
107+
- Use `uv` to create virtual environments (uses system Python with extension support)
90108
- Or use system Python instead of pyenv/custom builds
91109
- Or rebuild your Python with `./configure --enable-loadable-sqlite-extensions`
92110

93-
**Available version tags:** See [Releases](https://github.com/vlasky/sqlite-vec/releases)
111+
**Available version tags:** See [Releases](https://github.com/photostructure/sqlite-vec/releases)
94112

95113
#### Build from Source
96114

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "@mceachen/sqlite-vec",
2+
"name": "@photostructure/sqlite-vec",
33
"version": "0.4.1",
4-
"description": "A vector search SQLite extension that runs anywhere",
4+
"description": "A vector search SQLite extension that runs anywhere - PhotoStructure's production-ready fork",
55
"main": "./index.cjs",
66
"module": "./index.mjs",
77
"types": "./index.d.ts",
@@ -17,7 +17,7 @@
1717
},
1818
"repository": {
1919
"type": "git",
20-
"url": "git+https://github.com/mceachen/sqlite-vec.git"
20+
"url": "git+https://github.com/photostructure/sqlite-vec.git"
2121
},
2222
"keywords": [
2323
"sqlite",
@@ -33,9 +33,9 @@
3333
],
3434
"license": "(MIT OR Apache-2.0)",
3535
"bugs": {
36-
"url": "https://github.com/mceachen/sqlite-vec/issues"
36+
"url": "https://github.com/photostructure/sqlite-vec/issues"
3737
},
38-
"homepage": "https://github.com/mceachen/sqlite-vec#readme",
38+
"homepage": "https://github.com/photostructure/sqlite-vec#readme",
3939
"engines": {
4040
"node": ">=14.0.0"
4141
},

0 commit comments

Comments
 (0)