hostdb 0.19.5 → 0.21.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.
package/README.md CHANGED
@@ -139,6 +139,8 @@ Auto-generated manifest updated after each GitHub Release. Structure:
139
139
  | ClickHouse | Analytical | Completed | 25.12.3.21 | Official binaries (no Windows) |
140
140
  | Qdrant | Vector | Completed | 1.16.3 | Official binaries |
141
141
  | Meilisearch | Search | In Progress | 1.33.1 | Official binaries |
142
+ | InfluxDB | Time-series | In Progress | 3.8.0 | Official + source build (darwin-x64) |
143
+ | TypeDB | Graph | In Progress | 3.8.0 | Official binaries (Cloudsmith) |
142
144
 
143
145
  See `pnpm dbs` for the full list.
144
146
 
package/bin/cli.js CHANGED
@@ -64,7 +64,9 @@ child.on('exit', (code, signal) => {
64
64
 
65
65
  // Exit with same code or signal-based exit code
66
66
  if (signal) {
67
- process.exit(128 + (signal === 'SIGINT' ? 2 : signal === 'SIGTERM' ? 15 : 1))
67
+ process.exit(
68
+ 128 + (signal === 'SIGINT' ? 2 : signal === 'SIGTERM' ? 15 : 1),
69
+ )
68
70
  }
69
71
  process.exit(code ?? 0)
70
72
  })
package/cli/bin.ts CHANGED
@@ -33,10 +33,10 @@ const PLATFORM_ALIASES: Record<string, Platform[]> = {
33
33
  // macOS specific
34
34
  'mac-arm': ['darwin-arm64'],
35
35
  'mac-intel': ['darwin-x64'],
36
- 'm1': ['darwin-arm64'],
37
- 'm2': ['darwin-arm64'],
38
- 'm3': ['darwin-arm64'],
39
- 'm4': ['darwin-arm64'],
36
+ m1: ['darwin-arm64'],
37
+ m2: ['darwin-arm64'],
38
+ m3: ['darwin-arm64'],
39
+ m4: ['darwin-arm64'],
40
40
  // Windows
41
41
  win: ['win32-x64'],
42
42
  windows: ['win32-x64'],
@@ -109,7 +109,9 @@ function resolveTargetPlatform(
109
109
  const target = platforms[0]
110
110
  if (!availablePlatforms[target]) {
111
111
  console.error(`Error: Platform '${platformInput}' not found`)
112
- console.error(`\nAvailable: ${Object.keys(availablePlatforms).join(', ')}`)
112
+ console.error(
113
+ `\nAvailable: ${Object.keys(availablePlatforms).join(', ')}`,
114
+ )
113
115
  process.exit(1)
114
116
  }
115
117
  return target
@@ -120,7 +122,9 @@ function resolveTargetPlatform(
120
122
  const target = platforms.find((p) => availablePlatforms[p])
121
123
  if (!target) {
122
124
  console.error(`Error: No matching platform for '${platformInput}'`)
123
- console.error(`\nAvailable: ${Object.keys(availablePlatforms).join(', ')}`)
125
+ console.error(
126
+ `\nAvailable: ${Object.keys(availablePlatforms).join(', ')}`,
127
+ )
124
128
  process.exit(1)
125
129
  }
126
130
  return target
@@ -210,7 +214,9 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
210
214
  dbFilter = resolved
211
215
  } else if (resolved) {
212
216
  console.error(`Error: Database '${filter}' not found`)
213
- console.error(`\nAvailable: ${Object.keys(releases.databases).join(', ')}`)
217
+ console.error(
218
+ `\nAvailable: ${Object.keys(releases.databases).join(', ')}`,
219
+ )
214
220
  process.exit(1)
215
221
  }
216
222
  }
@@ -218,23 +224,27 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
218
224
  // Determine what to show based on filters
219
225
  if (!dbFilter && !versionFilter && !platformFilter) {
220
226
  // No filters: show all databases
221
- const result = Object.keys(releases.databases).sort().map((db) => {
222
- const versions = Object.keys(releases.databases[db])
223
- const info = databases.databases[db]
224
- return {
225
- database: db,
226
- displayName: info?.displayName || db,
227
- type: info?.type || '',
228
- versions: versions.length,
229
- }
230
- })
227
+ const result = Object.keys(releases.databases)
228
+ .sort()
229
+ .map((db) => {
230
+ const versions = Object.keys(releases.databases[db])
231
+ const info = databases.databases[db]
232
+ return {
233
+ database: db,
234
+ displayName: info?.displayName || db,
235
+ type: info?.type || '',
236
+ versions: versions.length,
237
+ }
238
+ })
231
239
 
232
240
  if (jsonOutput) {
233
241
  console.log(JSON.stringify(result, null, 2))
234
242
  } else {
235
243
  console.log('Available databases:\n')
236
244
  for (const r of result) {
237
- console.log(` ${r.database.padEnd(15)} ${r.displayName.padEnd(15)} ${r.type.padEnd(20)} (${r.versions} versions)`)
245
+ console.log(
246
+ ` ${r.database.padEnd(15)} ${r.displayName.padEnd(15)} ${r.type.padEnd(20)} (${r.versions} versions)`,
247
+ )
238
248
  }
239
249
  }
240
250
  return
@@ -267,9 +277,13 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
267
277
  })
268
278
 
269
279
  if (jsonOutput) {
270
- console.log(JSON.stringify({ database: dbFilter, versions: result }, null, 2))
280
+ console.log(
281
+ JSON.stringify({ database: dbFilter, versions: result }, null, 2),
282
+ )
271
283
  } else {
272
- const platformLabel = platformFilter ? ` (${platformFilter.join(', ')})` : ''
284
+ const platformLabel = platformFilter
285
+ ? ` (${platformFilter.join(', ')})`
286
+ : ''
273
287
  console.log(`Versions for ${dbFilter}${platformLabel}:\n`)
274
288
  for (const r of result) {
275
289
  console.log(` ${r.version.padEnd(15)} (${r.platforms.join(', ')})`)
@@ -282,31 +296,43 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
282
296
  // Database and version: show platforms
283
297
  const dbReleases = releases.databases[dbFilter]
284
298
  if (!dbReleases[versionFilter]) {
285
- console.error(`Error: Version '${versionFilter}' not found for ${dbFilter}`)
286
- console.error(`\nAvailable: ${sortVersionsDesc(Object.keys(dbReleases)).join(', ')}`)
299
+ console.error(
300
+ `Error: Version '${versionFilter}' not found for ${dbFilter}`,
301
+ )
302
+ console.error(
303
+ `\nAvailable: ${sortVersionsDesc(Object.keys(dbReleases)).join(', ')}`,
304
+ )
287
305
  process.exit(1)
288
306
  }
289
307
 
290
308
  const release = dbReleases[versionFilter]
291
- const result = (Object.keys(release.platforms) as Platform[]).sort().map((p) => {
292
- const asset = release.platforms[p]!
293
- return {
294
- platform: p,
295
- url: asset.url,
296
- sha256: asset.sha256,
297
- size: asset.size,
298
- sizeMB: (asset.size / 1024 / 1024).toFixed(1),
299
- }
300
- })
309
+ const result = (Object.keys(release.platforms) as Platform[])
310
+ .sort()
311
+ .map((p) => {
312
+ const asset = release.platforms[p]!
313
+ return {
314
+ platform: p,
315
+ url: asset.url,
316
+ sha256: asset.sha256,
317
+ size: asset.size,
318
+ sizeMB: (asset.size / 1024 / 1024).toFixed(1),
319
+ }
320
+ })
301
321
 
302
322
  if (jsonOutput) {
303
- console.log(JSON.stringify({
304
- database: dbFilter,
305
- version: versionFilter,
306
- releaseTag: release.releaseTag,
307
- releasedAt: release.releasedAt,
308
- platforms: result,
309
- }, null, 2))
323
+ console.log(
324
+ JSON.stringify(
325
+ {
326
+ database: dbFilter,
327
+ version: versionFilter,
328
+ releaseTag: release.releaseTag,
329
+ releasedAt: release.releasedAt,
330
+ platforms: result,
331
+ },
332
+ null,
333
+ 2,
334
+ ),
335
+ )
310
336
  } else {
311
337
  console.log(`Platforms for ${dbFilter} ${versionFilter}:\n`)
312
338
  for (const r of result) {
@@ -320,8 +346,12 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
320
346
  // All three: show specific assets
321
347
  const dbReleases = releases.databases[dbFilter]
322
348
  if (!dbReleases[versionFilter]) {
323
- console.error(`Error: Version '${versionFilter}' not found for ${dbFilter}`)
324
- console.error(`\nAvailable: ${sortVersionsDesc(Object.keys(dbReleases)).join(', ')}`)
349
+ console.error(
350
+ `Error: Version '${versionFilter}' not found for ${dbFilter}`,
351
+ )
352
+ console.error(
353
+ `\nAvailable: ${sortVersionsDesc(Object.keys(dbReleases)).join(', ')}`,
354
+ )
325
355
  process.exit(1)
326
356
  }
327
357
 
@@ -329,7 +359,9 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
329
359
  const matchingPlatforms = platformFilter.filter((p) => release.platforms[p])
330
360
 
331
361
  if (matchingPlatforms.length === 0) {
332
- console.error(`Error: No matching platforms for ${dbFilter} ${versionFilter}`)
362
+ console.error(
363
+ `Error: No matching platforms for ${dbFilter} ${versionFilter}`,
364
+ )
333
365
  console.error(`\nAvailable: ${Object.keys(release.platforms).join(', ')}`)
334
366
  console.error(`Requested: ${platformFilter.join(', ')}`)
335
367
  process.exit(1)
@@ -350,7 +382,9 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
350
382
  })
351
383
 
352
384
  if (jsonOutput) {
353
- console.log(JSON.stringify(result.length === 1 ? result[0] : result, null, 2))
385
+ console.log(
386
+ JSON.stringify(result.length === 1 ? result[0] : result, null, 2),
387
+ )
354
388
  } else {
355
389
  for (const r of result) {
356
390
  const sizeMB = (r.size / 1024 / 1024).toFixed(1)
@@ -366,13 +400,19 @@ function cmdList(filters: string[], jsonOutput: boolean): void {
366
400
 
367
401
  if (!dbFilter && platformFilter) {
368
402
  // Platform only: show all databases/versions for that platform
369
- const result: Array<{ database: string; version: string; platforms: string[] }> = []
403
+ const result: Array<{
404
+ database: string
405
+ version: string
406
+ platforms: string[]
407
+ }> = []
370
408
 
371
409
  for (const db of Object.keys(releases.databases).sort()) {
372
410
  const dbReleases = releases.databases[db]
373
411
  for (const version of sortVersionsDesc(Object.keys(dbReleases))) {
374
412
  const release = dbReleases[version]
375
- const matchingPlatforms = platformFilter.filter((p) => release.platforms[p])
413
+ const matchingPlatforms = platformFilter.filter(
414
+ (p) => release.platforms[p],
415
+ )
376
416
  if (matchingPlatforms.length > 0) {
377
417
  result.push({
378
418
  database: db,
@@ -411,13 +451,17 @@ function cmdUrl(database: string, version: string, platform: string) {
411
451
  const db = resolveDatabase(database)
412
452
  if (!db || !releases.databases[db]) {
413
453
  console.error(`Error: Database '${database}' not found`)
414
- console.error(`\nAvailable: ${Object.keys(releases.databases).sort().join(', ')}`)
454
+ console.error(
455
+ `\nAvailable: ${Object.keys(releases.databases).sort().join(', ')}`,
456
+ )
415
457
  process.exit(1)
416
458
  }
417
459
 
418
460
  if (!releases.databases[db][version]) {
419
461
  console.error(`Error: Version '${version}' not found for ${db}`)
420
- console.error(`\nAvailable: ${sortVersionsDesc(Object.keys(releases.databases[db])).join(', ')}`)
462
+ console.error(
463
+ `\nAvailable: ${sortVersionsDesc(Object.keys(releases.databases[db])).join(', ')}`,
464
+ )
421
465
  process.exit(1)
422
466
  }
423
467
 
@@ -434,13 +478,17 @@ function cmdInfo(database: string, version: string, platform: string) {
434
478
  const db = resolveDatabase(database)
435
479
  if (!db || !releases.databases[db]) {
436
480
  console.error(`Error: Database '${database}' not found`)
437
- console.error(`\nAvailable: ${Object.keys(releases.databases).sort().join(', ')}`)
481
+ console.error(
482
+ `\nAvailable: ${Object.keys(releases.databases).sort().join(', ')}`,
483
+ )
438
484
  process.exit(1)
439
485
  }
440
486
 
441
487
  if (!releases.databases[db][version]) {
442
488
  console.error(`Error: Version '${version}' not found for ${db}`)
443
- console.error(`\nAvailable: ${sortVersionsDesc(Object.keys(releases.databases[db])).join(', ')}`)
489
+ console.error(
490
+ `\nAvailable: ${sortVersionsDesc(Object.keys(releases.databases[db])).join(', ')}`,
491
+ )
444
492
  process.exit(1)
445
493
  }
446
494
 
@@ -448,16 +496,22 @@ function cmdInfo(database: string, version: string, platform: string) {
448
496
  const targetPlatform = resolveTargetPlatform(platform, release.platforms)
449
497
  const asset = release.platforms[targetPlatform]!
450
498
 
451
- console.log(JSON.stringify({
452
- database: db,
453
- version,
454
- platform: targetPlatform,
455
- url: asset.url,
456
- sha256: asset.sha256,
457
- size: asset.size,
458
- releaseTag: release.releaseTag,
459
- releasedAt: release.releasedAt,
460
- }, null, 2))
499
+ console.log(
500
+ JSON.stringify(
501
+ {
502
+ database: db,
503
+ version,
504
+ platform: targetPlatform,
505
+ url: asset.url,
506
+ sha256: asset.sha256,
507
+ size: asset.size,
508
+ releaseTag: release.releaseTag,
509
+ releasedAt: release.releasedAt,
510
+ },
511
+ null,
512
+ 2,
513
+ ),
514
+ )
461
515
  }
462
516
 
463
517
  function main() {
@@ -516,7 +570,10 @@ function main() {
516
570
  process.exit(1)
517
571
  }
518
572
  const db = resolveDatabase(filteredArgs[1])
519
- cmdList(db ? [db, filteredArgs[2]] : [filteredArgs[1], filteredArgs[2]], jsonOutput)
573
+ cmdList(
574
+ db ? [db, filteredArgs[2]] : [filteredArgs[1], filteredArgs[2]],
575
+ jsonOutput,
576
+ )
520
577
  break
521
578
  }
522
579
 
package/databases.json CHANGED
@@ -8,6 +8,7 @@
8
8
  "sourceRepo": "https://github.com/apache/cassandra",
9
9
  "license": "Apache-2.0",
10
10
  "commercialUse": true,
11
+ "hostedServiceAllowed": true,
11
12
  "protocol": null,
12
13
  "note": "Java-based; requires JVM bundled or installed",
13
14
  "latestLts": "5.0",
@@ -43,20 +44,21 @@
43
44
  "description": "Multi-model database supporting graphs, documents, and key-value with unified query language",
44
45
  "type": "Multi-model",
45
46
  "sourceRepo": "https://github.com/arangodb/arangodb",
46
- "license": "Apache-2.0",
47
- "commercialUse": true,
47
+ "license": "BSL-1.1 / ArangoDB Community License",
48
+ "commercialUse": false,
49
+ "hostedServiceAllowed": false,
48
50
  "protocol": null,
49
- "note": "",
51
+ "note": "Unsupported: License changed to BSL-1.1 (source) + ArangoDB Community License (binaries) in v3.12. Community binaries have 100GB dataset limit. Dropped native macOS and Windows binaries in v3.12 (Docker only). linux-arm64 is evaluation-only, not production-recommended.",
50
52
  "latestLts": "3.12",
51
53
  "versions": {
52
- "3.12.6": true
54
+ "3.12.6": false
53
55
  },
54
56
  "platforms": {
55
57
  "linux-x64": true,
56
- "linux-arm64": true,
57
- "darwin-x64": true,
58
- "darwin-arm64": true,
59
- "win32-x64": true
58
+ "linux-arm64": false,
59
+ "darwin-x64": false,
60
+ "darwin-arm64": false,
61
+ "win32-x64": false
60
62
  },
61
63
  "cliTools": {
62
64
  "server": "arangod",
@@ -77,7 +79,7 @@
77
79
  "defaultUser": "root",
78
80
  "queryLanguage": "AQL"
79
81
  },
80
- "status": "pending"
82
+ "status": "unsupported"
81
83
  },
82
84
  "clickhouse": {
83
85
  "displayName": "ClickHouse",
@@ -86,6 +88,7 @@
86
88
  "sourceRepo": "https://github.com/ClickHouse/ClickHouse",
87
89
  "license": "Apache-2.0",
88
90
  "commercialUse": true,
91
+ "hostedServiceAllowed": true,
89
92
  "protocol": null,
90
93
  "note": "Windows binaries unavailable. Require WSL.",
91
94
  "latestLts": "25.12",
@@ -121,18 +124,19 @@
121
124
  "sourceRepo": "https://github.com/chroma-core/chroma",
122
125
  "license": "Apache-2.0",
123
126
  "commercialUse": true,
127
+ "hostedServiceAllowed": true,
124
128
  "protocol": null,
125
- "note": "LLM-focused vector database; simpler than Milvus",
129
+ "note": "Unsupported: Python-only distribution via pip. No standalone native binaries for any platform. Rust core is compiled as Python extension, not standalone executable.",
126
130
  "latestLts": "1.0",
127
131
  "versions": {
128
- "1.0.12": true
132
+ "1.0.12": false
129
133
  },
130
134
  "platforms": {
131
- "linux-x64": true,
132
- "linux-arm64": true,
133
- "darwin-x64": true,
134
- "darwin-arm64": true,
135
- "win32-x64": true
135
+ "linux-x64": false,
136
+ "linux-arm64": false,
137
+ "darwin-x64": false,
138
+ "darwin-arm64": false,
139
+ "win32-x64": false
136
140
  },
137
141
  "cliTools": {
138
142
  "server": "chroma",
@@ -149,7 +153,7 @@
149
153
  "defaultUser": null,
150
154
  "queryLanguage": "HTTP"
151
155
  },
152
- "status": "pending"
156
+ "status": "unsupported"
153
157
  },
154
158
  "cockroachdb": {
155
159
  "displayName": "CockroachDB",
@@ -158,6 +162,7 @@
158
162
  "sourceRepo": "https://github.com/cockroachdb/cockroach",
159
163
  "license": "CSL (v24.3+), BSL (older)",
160
164
  "commercialUse": true,
165
+ "hostedServiceAllowed": false,
161
166
  "protocol": "postgresql",
162
167
  "note": "CockroachDB Software License restricts competing cloud services; fine for local dev",
163
168
  "latestLts": "25.4",
@@ -195,6 +200,7 @@
195
200
  "sourceRepo": "https://github.com/apache/couchdb",
196
201
  "license": "Apache-2.0",
197
202
  "commercialUse": true,
203
+ "hostedServiceAllowed": true,
198
204
  "protocol": null,
199
205
  "note": "",
200
206
  "latestLts": "3.5",
@@ -232,6 +238,7 @@
232
238
  "sourceRepo": "https://github.com/duckdb/duckdb",
233
239
  "license": "MIT",
234
240
  "commercialUse": true,
241
+ "hostedServiceAllowed": true,
235
242
  "protocol": null,
236
243
  "note": "",
237
244
  "latestLts": "1.4",
@@ -268,25 +275,26 @@
268
275
  "sourceRepo": "https://github.com/dgraph-io/dgraph",
269
276
  "license": "Apache-2.0",
270
277
  "commercialUse": true,
278
+ "hostedServiceAllowed": true,
271
279
  "protocol": null,
272
- "note": "Native GraphQL support; single Go binary",
273
- "latestLts": "24.1",
280
+ "note": "Unsupported: Official binaries are Linux-only since v21.03.0 (macOS/Windows dropped Feb 2021). Requires two processes (dgraph zero + dgraph alpha) with no single-process mode. Dynamically links jemalloc which blocks Windows builds. Ratel UI removed from binary, now separate project. Acquired twice (Dgraph Labs → Hypermode → Istari Digital Oct 2025).",
281
+ "latestLts": "25.2",
274
282
  "versions": {
275
- "24.1.3": true
283
+ "25.2.0": false
276
284
  },
277
285
  "platforms": {
278
286
  "linux-x64": true,
279
287
  "linux-arm64": true,
280
- "darwin-x64": true,
281
- "darwin-arm64": true,
282
- "win32-x64": true
288
+ "darwin-x64": false,
289
+ "darwin-arm64": false,
290
+ "win32-x64": false
283
291
  },
284
292
  "cliTools": {
285
293
  "server": "dgraph",
286
294
  "client": null,
287
- "utilities": ["dgraph-ratel"],
295
+ "utilities": [],
288
296
  "enhanced": [],
289
- "note": "GraphQL/HTTP API; use Ratel UI or curl"
297
+ "note": "GraphQL/HTTP API; no bundled CLI query console. Requires two processes: 'dgraph zero' + 'dgraph alpha'"
290
298
  },
291
299
  "connection": {
292
300
  "runtime": "server",
@@ -296,7 +304,7 @@
296
304
  "defaultUser": null,
297
305
  "queryLanguage": "HTTP"
298
306
  },
299
- "status": "pending"
307
+ "status": "unsupported"
300
308
  },
301
309
  "ferretdb": {
302
310
  "displayName": "FerretDB",
@@ -305,6 +313,7 @@
305
313
  "sourceRepo": "https://github.com/FerretDB/FerretDB",
306
314
  "license": "Apache-2.0",
307
315
  "commercialUse": true,
316
+ "hostedServiceAllowed": true,
308
317
  "protocol": "mongodb",
309
318
  "note": "Version 2 requires Postgres-DocumentDB (not on windows) but v1 may in theory build on windows",
310
319
  "dependency": {
@@ -339,6 +348,43 @@
339
348
  },
340
349
  "status": "completed"
341
350
  },
351
+ "firebird": {
352
+ "displayName": "Firebird",
353
+ "description": "Relational database with embedded and client/server modes, full SQL support with stored procedures and triggers",
354
+ "type": "Relational",
355
+ "sourceRepo": "https://github.com/FirebirdSQL/firebird",
356
+ "license": "IDPL-1.0",
357
+ "commercialUse": true,
358
+ "hostedServiceAllowed": true,
359
+ "protocol": null,
360
+ "note": "Single-file database. Supports both embedded (no server process, single-file like SQLite) and client/server modes. Official pre-built binaries available for all platforms.",
361
+ "latestLts": "5.0",
362
+ "versions": {
363
+ "5.0.3": true
364
+ },
365
+ "platforms": {
366
+ "linux-x64": true,
367
+ "linux-arm64": true,
368
+ "darwin-x64": true,
369
+ "darwin-arm64": true,
370
+ "win32-x64": true
371
+ },
372
+ "cliTools": {
373
+ "server": "firebird",
374
+ "client": "isql",
375
+ "utilities": ["gbak", "gfix", "gstat", "nbackup", "gsec"],
376
+ "enhanced": []
377
+ },
378
+ "connection": {
379
+ "runtime": "server",
380
+ "defaultPort": 3050,
381
+ "scheme": null,
382
+ "defaultDatabase": null,
383
+ "defaultUser": "SYSDBA",
384
+ "queryLanguage": "SQL"
385
+ },
386
+ "status": "pending"
387
+ },
342
388
  "gel": {
343
389
  "displayName": "Gel",
344
390
  "description": "Graph-relational database built on PostgreSQL, formerly EdgeDB, with strict typing and declarative schema",
@@ -346,18 +392,19 @@
346
392
  "sourceRepo": "https://github.com/geldata/gel",
347
393
  "license": "Apache-2.0",
348
394
  "commercialUse": true,
395
+ "hostedServiceAllowed": true,
349
396
  "protocol": "postgresql",
350
- "note": "Formerly EdgeDB; PostgreSQL-based with graph capabilities",
397
+ "note": "Formerly EdgeDB; PostgreSQL-based with graph capabilities. No Windows binary (Docker only). No GitHub Release assets; distributed via custom install script. linux-arm64 support uncertain.",
351
398
  "latestLts": "7.0",
352
399
  "versions": {
353
400
  "7.0.0": true
354
401
  },
355
402
  "platforms": {
356
403
  "linux-x64": true,
357
- "linux-arm64": true,
404
+ "linux-arm64": false,
358
405
  "darwin-x64": true,
359
406
  "darwin-arm64": true,
360
- "win32-x64": true
407
+ "win32-x64": false
361
408
  },
362
409
  "cliTools": {
363
410
  "server": "gel-server",
@@ -376,6 +423,82 @@
376
423
  },
377
424
  "status": "pending"
378
425
  },
426
+ "influxdb": {
427
+ "displayName": "InfluxDB",
428
+ "description": "Purpose-built time-series database with SQL support, rewritten in Rust for InfluxDB 3.0",
429
+ "type": "Time-series",
430
+ "sourceRepo": "https://github.com/influxdata/influxdb",
431
+ "license": "Apache-2.0 AND MIT",
432
+ "commercialUse": true,
433
+ "hostedServiceAllowed": true,
434
+ "protocol": null,
435
+ "note": "v3.0 is a Rust rewrite using Apache Arrow/DataFusion. Single binary with bundled Python runtime for plugin system. Most popular time-series database by adoption.",
436
+ "latestLts": "3.0",
437
+ "versions": {
438
+ "3.8.0": true
439
+ },
440
+ "platforms": {
441
+ "linux-x64": true,
442
+ "linux-arm64": true,
443
+ "darwin-x64": true,
444
+ "darwin-arm64": true,
445
+ "win32-x64": true
446
+ },
447
+ "cliTools": {
448
+ "server": "influxdb3",
449
+ "client": null,
450
+ "utilities": [],
451
+ "enhanced": [],
452
+ "note": "HTTP API; use official SDKs or SQL via CLI"
453
+ },
454
+ "connection": {
455
+ "runtime": "server",
456
+ "defaultPort": 8086,
457
+ "scheme": "http",
458
+ "defaultDatabase": null,
459
+ "defaultUser": null,
460
+ "queryLanguage": "SQL"
461
+ },
462
+ "status": "in-progress"
463
+ },
464
+ "kuzu": {
465
+ "displayName": "Kuzu",
466
+ "description": "Embedded graph database with Cypher query language, designed as the DuckDB/SQLite of graph databases",
467
+ "type": "Graph",
468
+ "sourceRepo": "https://github.com/kuzudb/kuzu",
469
+ "license": "MIT",
470
+ "commercialUse": true,
471
+ "hostedServiceAllowed": true,
472
+ "protocol": null,
473
+ "note": "Unsupported: Repo archived Oct 2025 ('Kuzu is working on something new'). Community forks: Ladybug (ex-Facebook/Google lead), Bighorn (Kineviz), RyuGraph (Predictable Labs). No clear successor yet. Last release v0.11.3 binaries still downloadable but unmaintained.",
474
+ "latestLts": "0.11",
475
+ "versions": {
476
+ "0.11.3": false
477
+ },
478
+ "platforms": {
479
+ "linux-x64": true,
480
+ "linux-arm64": true,
481
+ "darwin-x64": true,
482
+ "darwin-arm64": true,
483
+ "win32-x64": true
484
+ },
485
+ "cliTools": {
486
+ "server": null,
487
+ "client": "kuzu",
488
+ "utilities": [],
489
+ "enhanced": [],
490
+ "note": "Embedded database; single CLI binary, no server process"
491
+ },
492
+ "connection": {
493
+ "runtime": "embedded",
494
+ "defaultPort": null,
495
+ "scheme": null,
496
+ "defaultDatabase": null,
497
+ "defaultUser": null,
498
+ "queryLanguage": "Cypher"
499
+ },
500
+ "status": "unsupported"
501
+ },
379
502
  "mariadb": {
380
503
  "displayName": "MariaDB",
381
504
  "description": "Community-developed fork of MySQL with enhanced performance, storage engines, and features",
@@ -383,6 +506,7 @@
383
506
  "sourceRepo": "https://github.com/MariaDB/server",
384
507
  "license": "GPL-2.0",
385
508
  "commercialUse": true,
509
+ "hostedServiceAllowed": true,
386
510
  "protocol": null,
387
511
  "note": "",
388
512
  "latestLts": "11.8",
@@ -421,6 +545,7 @@
421
545
  "sourceRepo": "https://github.com/meilisearch/meilisearch",
422
546
  "license": "MIT",
423
547
  "commercialUse": true,
548
+ "hostedServiceAllowed": true,
424
549
  "protocol": null,
425
550
  "note": "",
426
551
  "latestLts": "1.33",
@@ -458,18 +583,19 @@
458
583
  "sourceRepo": "https://github.com/milvus-io/milvus",
459
584
  "license": "Apache-2.0",
460
585
  "commercialUse": true,
586
+ "hostedServiceAllowed": true,
461
587
  "protocol": null,
462
- "note": "Largest vector DB by GitHub stars; enterprise-grade",
588
+ "note": "Unsupported: Docker-only distribution. No native binaries for any platform. Complex multi-component architecture requiring etcd + MinIO. GitHub releases contain only Docker Compose files.",
463
589
  "latestLts": "2.5",
464
590
  "versions": {
465
- "2.5.4": true
591
+ "2.5.4": false
466
592
  },
467
593
  "platforms": {
468
- "linux-x64": true,
469
- "linux-arm64": true,
470
- "darwin-x64": true,
471
- "darwin-arm64": true,
472
- "win32-x64": true
594
+ "linux-x64": false,
595
+ "linux-arm64": false,
596
+ "darwin-x64": false,
597
+ "darwin-arm64": false,
598
+ "win32-x64": false
473
599
  },
474
600
  "cliTools": {
475
601
  "server": "milvus",
@@ -486,7 +612,7 @@
486
612
  "defaultUser": null,
487
613
  "queryLanguage": "HTTP"
488
614
  },
489
- "status": "pending"
615
+ "status": "unsupported"
490
616
  },
491
617
  "mongodb": {
492
618
  "displayName": "MongoDB",
@@ -494,9 +620,10 @@
494
620
  "type": "Document",
495
621
  "sourceRepo": "https://github.com/mongodb/mongo",
496
622
  "license": "SSPL-1.0",
497
- "commercialUse": false,
623
+ "commercialUse": true,
624
+ "hostedServiceAllowed": false,
498
625
  "protocol": null,
499
- "note": "TODO - disable if used commercially; use FerretDB as alternative",
626
+ "note": "SSPL restricts offering MongoDB as a competing managed database service (i.e., MongoDB Atlas competitors). Commercial use in applications, local dev, and internal use is fine. FerretDB available as fully open-source alternative.",
500
627
  "latestLts": "8.0",
501
628
  "versions": {
502
629
  "8.2.3": true,
@@ -538,6 +665,7 @@
538
665
  "sourceRepo": "https://github.com/mysql/mysql-server",
539
666
  "license": "GPL-2.0",
540
667
  "commercialUse": true,
668
+ "hostedServiceAllowed": true,
541
669
  "protocol": null,
542
670
  "note": "",
543
671
  "latestLts": "8.4",
@@ -577,6 +705,7 @@
577
705
  "sourceRepo": "https://github.com/opensearch-project/OpenSearch",
578
706
  "license": "Apache-2.0",
579
707
  "commercialUse": true,
708
+ "hostedServiceAllowed": true,
580
709
  "protocol": "elasticsearch",
581
710
  "note": "",
582
711
  "latestLts": "3.4",
@@ -614,6 +743,7 @@
614
743
  "sourceRepo": "https://github.com/postgres/postgres",
615
744
  "license": "PostgreSQL",
616
745
  "commercialUse": true,
746
+ "hostedServiceAllowed": true,
617
747
  "protocol": null,
618
748
  "note": "",
619
749
  "latestLts": "18",
@@ -659,6 +789,7 @@
659
789
  "sourceRepo": "https://github.com/FerretDB/documentdb",
660
790
  "license": "Apache-2.0",
661
791
  "commercialUse": true,
792
+ "hostedServiceAllowed": true,
662
793
  "protocol": "postgresql",
663
794
  "note": "Backend for FerretDB; includes pg_cron, pgvector, PostGIS, rum extensions",
664
795
  "latestLts": "17",
@@ -695,6 +826,7 @@
695
826
  "sourceRepo": "https://github.com/qdrant/qdrant",
696
827
  "license": "Apache-2.0",
697
828
  "commercialUse": true,
829
+ "hostedServiceAllowed": true,
698
830
  "protocol": null,
699
831
  "note": "",
700
832
  "latestLts": "1.16",
@@ -732,6 +864,7 @@
732
864
  "sourceRepo": "https://github.com/questdb/questdb",
733
865
  "license": "Apache-2.0",
734
866
  "commercialUse": true,
867
+ "hostedServiceAllowed": true,
735
868
  "protocol": null,
736
869
  "note": "",
737
870
  "dependency": {
@@ -773,9 +906,10 @@
773
906
  "type": "Key-Value",
774
907
  "sourceRepo": "https://github.com/redis/redis",
775
908
  "license": "RSALv2/SSPLv1 (7.4+), AGPL-3.0 (8.0+)",
776
- "commercialUse": false,
909
+ "commercialUse": true,
910
+ "hostedServiceAllowed": false,
777
911
  "protocol": null,
778
- "note": "TODO - disable if used commercially; use Valkey as drop-in replacement",
912
+ "note": "RSALv2 restricts building competing products to Redis itself. AGPL-3.0 (8.0+) requires source disclosure if you modify Redis and offer it as a network service. Commercial use in applications, local dev, and internal use is fine. Valkey available as BSD-licensed drop-in alternative.",
779
913
  "latestLts": "8.4",
780
914
  "versions": {
781
915
  "8.4.0": true,
@@ -804,13 +938,51 @@
804
938
  },
805
939
  "status": "completed"
806
940
  },
807
- "sqlite": {
941
+ "rocksdb": {
942
+ "displayName": "RocksDB",
943
+ "description": "High-performance embedded key-value store based on LSM trees, developed by Meta",
944
+ "type": "Embedded KV",
945
+ "sourceRepo": "https://github.com/facebook/rocksdb",
946
+ "license": "GPL-2.0 OR Apache-2.0",
947
+ "commercialUse": true,
948
+ "hostedServiceAllowed": true,
949
+ "protocol": null,
950
+ "note": "Single-file database. Library-first with ldb and sst_dump CLI tools. No official pre-built binaries - build from source required for all platforms. Widely used as storage engine by CockroachDB, TiKV, MySQL/MyRocks.",
951
+ "latestLts": "10.10",
952
+ "versions": {
953
+ "10.10.1": true
954
+ },
955
+ "platforms": {
956
+ "linux-x64": true,
957
+ "linux-arm64": true,
958
+ "darwin-x64": true,
959
+ "darwin-arm64": true,
960
+ "win32-x64": true
961
+ },
962
+ "cliTools": {
963
+ "server": null,
964
+ "client": "ldb",
965
+ "utilities": ["sst_dump"],
966
+ "enhanced": []
967
+ },
968
+ "connection": {
969
+ "runtime": "embedded",
970
+ "defaultPort": null,
971
+ "scheme": null,
972
+ "defaultDatabase": null,
973
+ "defaultUser": null,
974
+ "queryLanguage": "API"
975
+ },
976
+ "status": "pending"
977
+ },
978
+ "sqlite": {
808
979
  "displayName": "SQLite",
809
980
  "description": "Self-contained, serverless, zero-configuration SQL database engine",
810
981
  "type": "Embedded SQL",
811
982
  "sourceRepo": "https://github.com/sqlite/sqlite",
812
983
  "license": "Public Domain",
813
984
  "commercialUse": true,
985
+ "hostedServiceAllowed": true,
814
986
  "protocol": null,
815
987
  "note": "",
816
988
  "latestLts": "3.51",
@@ -845,10 +1017,11 @@
845
1017
  "description": "Multi-model database combining graph, document, key-value, and time-series with SQL-like syntax",
846
1018
  "type": "Multi-model",
847
1019
  "sourceRepo": "https://github.com/surrealdb/surrealdb",
848
- "license": "Apache-2.0",
1020
+ "license": "BSL-1.1",
849
1021
  "commercialUse": true,
1022
+ "hostedServiceAllowed": false,
850
1023
  "protocol": null,
851
- "note": "Rust-based; single binary; fills graph database gap",
1024
+ "note": "Rust-based; single binary. License is BSL-1.1 (not Apache-2.0); prohibits competing DBaaS offerings. Converts to Apache-2.0 after 4 years per release. Fine for local dev and internal use.",
852
1025
  "latestLts": "2.3",
853
1026
  "versions": {
854
1027
  "2.3.2": true
@@ -884,8 +1057,9 @@
884
1057
  "sourceRepo": "https://github.com/pingcap/tidb",
885
1058
  "license": "Apache-2.0",
886
1059
  "commercialUse": true,
1060
+ "hostedServiceAllowed": true,
887
1061
  "protocol": "mysql",
888
- "note": "",
1062
+ "note": "No native Windows binary. macOS binaries only available via TiUP package manager, not direct download. Can run standalone with UniStore (without TiKV/PD).",
889
1063
  "latestLts": "8.5",
890
1064
  "versions": {
891
1065
  "8.5.4": true
@@ -895,7 +1069,7 @@
895
1069
  "linux-arm64": true,
896
1070
  "darwin-x64": true,
897
1071
  "darwin-arm64": true,
898
- "win32-x64": true
1072
+ "win32-x64": false
899
1073
  },
900
1074
  "cliTools": {
901
1075
  "server": "tidb-server",
@@ -914,15 +1088,54 @@
914
1088
  },
915
1089
  "status": "pending"
916
1090
  },
1091
+ "typedb": {
1092
+ "displayName": "TypeDB",
1093
+ "description": "Strongly-typed graph database with TypeQL query language, built for knowledge representation and reasoning",
1094
+ "type": "Graph",
1095
+ "sourceRepo": "https://github.com/typedb/typedb",
1096
+ "license": "MPL-2.0",
1097
+ "commercialUse": true,
1098
+ "hostedServiceAllowed": true,
1099
+ "protocol": null,
1100
+ "note": "Rewritten from Java to Rust in v3.0 (Dec 2024). Binaries distributed via Cloudsmith and GitHub Releases.",
1101
+ "latestLts": "3.8",
1102
+ "versions": {
1103
+ "3.8.0": true
1104
+ },
1105
+ "platforms": {
1106
+ "linux-x64": true,
1107
+ "linux-arm64": true,
1108
+ "darwin-x64": true,
1109
+ "darwin-arm64": true,
1110
+ "win32-x64": true
1111
+ },
1112
+ "cliTools": {
1113
+ "server": "typedb",
1114
+ "client": "typedb-console",
1115
+ "utilities": [],
1116
+ "enhanced": [],
1117
+ "note": "Single binary for server ('typedb server'); separate console binary for queries"
1118
+ },
1119
+ "connection": {
1120
+ "runtime": "server",
1121
+ "defaultPort": 1729,
1122
+ "scheme": "http",
1123
+ "defaultDatabase": null,
1124
+ "defaultUser": null,
1125
+ "queryLanguage": "TypeQL"
1126
+ },
1127
+ "status": "completed"
1128
+ },
917
1129
  "timescaledb": {
918
1130
  "displayName": "TimescaleDB",
919
1131
  "description": "Time-series database built on PostgreSQL for fast analytics and scalability",
920
1132
  "type": "Time-series",
921
1133
  "sourceRepo": "https://github.com/timescale/timescaledb",
922
- "license": "Apache-2.0",
1134
+ "license": "Apache-2.0 / TSL",
923
1135
  "commercialUse": true,
1136
+ "hostedServiceAllowed": false,
924
1137
  "protocol": "postgresql",
925
- "note": "",
1138
+ "note": "Dual-licensed: core is Apache-2.0, advanced features under Timescale License (TSL) which restricts competing DBaaS. PostgreSQL extension, not standalone.",
926
1139
  "latestLts": "2.24",
927
1140
  "versions": {
928
1141
  "2.24.0": true
@@ -958,6 +1171,7 @@
958
1171
  "sourceRepo": "https://github.com/valkey-io/valkey",
959
1172
  "license": "BSD-3-Clause",
960
1173
  "commercialUse": true,
1174
+ "hostedServiceAllowed": true,
961
1175
  "protocol": "redis",
962
1176
  "note": "",
963
1177
  "latestLts": "9.0",
@@ -995,8 +1209,9 @@
995
1209
  "sourceRepo": "https://github.com/weaviate/weaviate",
996
1210
  "license": "BSD-3-Clause",
997
1211
  "commercialUse": true,
1212
+ "hostedServiceAllowed": true,
998
1213
  "protocol": null,
999
- "note": "Popular AI/vector alternative; Go-based single binary",
1214
+ "note": "Go-based single binary. No official Windows binary; macOS distributed as universal binary (x64+arm64).",
1000
1215
  "latestLts": "1.29",
1001
1216
  "versions": {
1002
1217
  "1.29.0": true
@@ -1006,7 +1221,7 @@
1006
1221
  "linux-arm64": true,
1007
1222
  "darwin-x64": true,
1008
1223
  "darwin-arm64": true,
1009
- "win32-x64": true
1224
+ "win32-x64": false
1010
1225
  },
1011
1226
  "cliTools": {
1012
1227
  "server": "weaviate",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostdb",
3
- "version": "0.19.5",
3
+ "version": "0.21.0",
4
4
  "description": "Source and download pre-built database binaries for multiple platforms, distributed via GitHub Releases",
5
5
  "private": false,
6
6
  "type": "module",
@@ -34,6 +34,7 @@
34
34
  "download:couchdb": "tsx builds/couchdb/download.ts",
35
35
  "download:duckdb": "tsx builds/duckdb/download.ts",
36
36
  "download:ferretdb": "tsx builds/ferretdb/download.ts",
37
+ "download:influxdb": "tsx builds/influxdb/download.ts",
37
38
  "download:mariadb": "tsx builds/mariadb/download.ts",
38
39
  "download:meilisearch": "tsx builds/meilisearch/download.ts",
39
40
  "download:mongodb": "tsx builds/mongodb/download.ts",
@@ -45,6 +46,7 @@
45
46
  "download:redis": "tsx builds/redis/download.ts",
46
47
  "download:sqlite": "tsx builds/sqlite/download.ts",
47
48
  "download:surrealdb": "tsx builds/surrealdb/download.ts",
49
+ "download:typedb": "tsx builds/typedb/download.ts",
48
50
  "download:valkey": "tsx builds/valkey/download.ts",
49
51
  "edb:fileids": "tsx scripts/fetch-edb-fileids.ts",
50
52
  "format": "prettier --write .",
package/releases.json CHANGED
@@ -643,10 +643,10 @@
643
643
  "releaseTag": "postgresql-documentdb-17-0.107.0",
644
644
  "releasedAt": "2026-01-23T23:05:02Z",
645
645
  "platforms": {
646
- "linux-arm64": {
647
- "url": "https://github.com/robertjbass/hostdb/releases/download/postgresql-documentdb-17-0.107.0/postgresql-documentdb-17-0.107.0-linux-arm64.tar.gz",
648
- "sha256": "ab960ac1d5893264299e3ebb5267efe35585a49360da8d51b38d8c8a30893f6d",
649
- "size": 78415221
646
+ "darwin-x64": {
647
+ "url": "https://github.com/robertjbass/hostdb/releases/download/postgresql-documentdb-17-0.107.0/postgresql-documentdb-17-0.107.0-darwin-x64.tar.gz",
648
+ "sha256": "15a3e342adbf9007609bd2aa3a69c47264fd97e998f38403b9b461149c0b5a85",
649
+ "size": 38520395
650
650
  }
651
651
  }
652
652
  }
@@ -853,6 +853,40 @@
853
853
  }
854
854
  }
855
855
  },
856
+ "typedb": {
857
+ "3.8.0": {
858
+ "version": "3.8.0",
859
+ "releaseTag": "typedb-3.8.0",
860
+ "releasedAt": "2026-02-08T18:21:49Z",
861
+ "platforms": {
862
+ "darwin-arm64": {
863
+ "url": "https://github.com/robertjbass/hostdb/releases/download/typedb-3.8.0/typedb-3.8.0-darwin-arm64.tar.gz",
864
+ "sha256": "faff22f18304a28ae02ad2a7db1981dfabc23041ec2061597bc0d60db0efac51",
865
+ "size": 25309984
866
+ },
867
+ "darwin-x64": {
868
+ "url": "https://github.com/robertjbass/hostdb/releases/download/typedb-3.8.0/typedb-3.8.0-darwin-x64.tar.gz",
869
+ "sha256": "be456e44eea2721e8134934586e6f8d91cf6aea46d5f445e03719b188d6b0cb1",
870
+ "size": 26717845
871
+ },
872
+ "linux-arm64": {
873
+ "url": "https://github.com/robertjbass/hostdb/releases/download/typedb-3.8.0/typedb-3.8.0-linux-arm64.tar.gz",
874
+ "sha256": "69668be944fde20bddf8932192d1387fa02cf2d55cbfb39daa4e6a312f59a342",
875
+ "size": 29852879
876
+ },
877
+ "linux-x64": {
878
+ "url": "https://github.com/robertjbass/hostdb/releases/download/typedb-3.8.0/typedb-3.8.0-linux-x64.tar.gz",
879
+ "sha256": "b524826c72008cad7bea27dfc5c10bec8692b39636e937887eca4b7a380f6acb",
880
+ "size": 30190104
881
+ },
882
+ "win32-x64": {
883
+ "url": "https://github.com/robertjbass/hostdb/releases/download/typedb-3.8.0/typedb-3.8.0-win32-x64.zip",
884
+ "sha256": "a34ef0180278bef570c7bd4b9e64423c49c3d81977b0eb6d5d897e5f8af9aaeb",
885
+ "size": 24220045
886
+ }
887
+ }
888
+ }
889
+ },
856
890
  "valkey": {
857
891
  "9.0.1": {
858
892
  "version": "9.0.1",