Labirinto
A web front-end portal for a virtual laboratory of NLP tools
Install / Use
/learn @proycon/LabirintoREADME
Labirinto
Labirinto is a virtual laboratory portal, it makes a collection of software browseable and searchable for the end-user. Labirinto presents the software's metadata following the CodeMeta specification in an intuitive way and allows the user to filter and perform a limited search. The portal gives access to software if it offers web-based interfaces.
This system is specifically geared towards research software, and for instance allows linking to relevant scientific publications for each tool.
Architecture
Labirinto is a front-end only, it runs fully client-side and is written in Javascript using the Vue.js framework.
Labirinto relies on software metadata specifications according to the CodeMeta standard
(linked open data / JSON-LD). Metadata of the desired software collection should be combined into a single registry
(JSON-LD), which can be hosted and obtained from wherever you want. CodeMetaPy
can be used to build such a registry from individual codemeta.json files.
Note that Labirinto does not and will never offer an editable database or metadata editor for the software metadata; this is a front-end that does not even require a database backend or any server-side component for that matter. Our philosophy is that software metadata should be in a simple format and either live right alongside the source code in a version controlled repository (e.g. on github, bitbucket, etc), or be obtained from a software repository such as as the Python Package Index, CRAN, CPAN, Maven Central and automatically converted to a unified format.
Labirinto is used by and included in the LaMachine software distribution, providing an overview and access to all software installed in LaMachine. The metadata for tools participating in LaMachine is, when not explicitly provided yet, automatically converted to the CodeMeta standard (by CodeMetaPy or CodeMetar), and subsequently combined into a single registry for use with Labirinto.
Build Setup
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
# run unit tests
npm run unit
# run all tests
npm test
Related Skills
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
