Vocab Bloom Hub

Un diccionario que puedes ejecutar junto a tu aplicación

Vocab Bloom Hub es un diccionario de inglés autoalojado — 300 000 entradas con significados, ejemplos, formas flexionadas y traducciones al ruso, español, francés, alemán, portugués, chino y árabe — detrás de una API pública de solo lectura, con SDK, una interfaz de administración y un dataset publicado. Un comando para instalar, MIT para el código, CC BY 4.0 para los datos.

Instalación en un comando

Basta con el archivo compose y la plantilla de entorno: las imágenes se descargan de GitHub Container Registry, Postgres arranca al lado y el diccionario se carga solo en el primer arranque.

mkdir vocab-bloom-hub && cd vocab-bloom-hub
curl -fsSLO https://raw.githubusercontent.com/Fristail27/vocab-bloom-hub/main/docker-compose.yml
curl -fsSL  https://raw.githubusercontent.com/Fristail27/vocab-bloom-hub/main/.env.example -o .env
# edit .env: ADMIN_PASSWORD, POSTGRES_PASSWORD
docker compose up -d
curl -s localhost:3010/api/ready   # {"status":"ok"} once the dictionary is in

Qué obtienes

API pública

Versionada, de solo lectura, sin login: búsqueda tolerante a erratas, lemas con significados, formas, traducciones, sinónimos y antónimos, consulta por lotes, listas paginadas por cursor, una entrada aleatoria — cada respuesta en un mismo sobre, cacheada con ETag.

SDK

Clientes tipados para Node.js / TypeScript y Python generados a partir del mismo documento OpenAPI: un método por endpoint, iteración por cursor, errores tipados, caché por ETag, reintentos opcionales, un DataFrame para notebooks.

Interfaz de administración

Edita palabras, significados, traducciones, sinónimos y antónimos en el navegador, consulta las estadísticas, importa y exporta todo el diccionario como dataset.

Dataset

El diccionario se publica en HuggingFace bajo CC BY 4.0 y se carga solo en una instancia vacía; las exportaciones lo mueven entre entornos, también sin conexión.

Pensado para operadores

Sondas de salud y disponibilidad, apagado ordenado, migraciones al arrancar, métricas Prometheus, logs JSON estructurados con id de petición — lo que un servicio necesita para que lo ejecute otra persona.

Búsqueda

Niveles exacto, de prefijo, difuso y por traducción sobre índices de Postgres: las lecturas frecuentes responden en milisegundos sobre el diccionario completo.

Dos SDK, un contrato

Ambos clientes se generan a partir del documento OpenAPI versionado de la API pública, así que nunca se desvían del servidor.

Node.js / TypeScript

import { VocabBloomClient } from '@vocab-bloom-hub/client';

const client = new VocabBloomClient({ baseUrl: 'https://your-instance.example/api' });

const { data } = await client.search({ search: 'runing', limit: 5 }); // typo tolerant
const run = await client.word('run'); // every part of speech, forms, meanings, translations

for await (const word of client.iterateWords({ part_of_speech: ['verb'], word_level: ['b1'] })) {
  console.log(word.word);
}

Python

from vocab_bloom_hub import VocabBloomClient

client = VocabBloomClient("https://your-instance.example/api")

hits = client.search("runing", limit=5)          # typo tolerant
run = client.word("run")                          # forms, meanings, translations

for word in client.iter_words(part_of_speech=["verb"], word_level=["b1"]):
    print(word.word)

df = client.words_dataframe(part_of_speech=["noun"])   # pip install "vocab-bloom-hub[pandas]"

Datos y licencia

El código es MIT. Los datos del diccionario — servidos por la API, exportados como datasets, publicados en HuggingFace — son CC BY 4.0: libres para usar y adaptar, también comercialmente, con atribución. En gran parte están generados por LLM y no verificados por personas; lee qué significa eso antes de confiar en ellos.