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.