Integrating Data, Code, and Publications for Open Science
Triptych is an open-source framework designed to support the organization, preservation, sharing, and traceability of scientific artifacts in the context of Open Science.
The framework connects research data, source code, and scientific publications distributed across heterogeneous platforms such as GitHub, Zenodo, OSF, and arXiv, enabling researchers to manage the complete lifecycle of a scientific project without abandoning their preferred tools.
Scientific projects often rely on multiple independent platforms:
- Datasets stored in repositories such as Zenodo or OSF;
- Source code maintained on GitHub or GitLab;
- Publications and preprints shared through services such as arXiv.
Although these platforms provide specialized functionalities, they usually operate in isolation, making it difficult to:
- Track relationships between artifacts;
- Reproduce computational experiments;
- Understand how results were generated;
- Reuse research assets across projects.
Triptych addresses these challenges by providing an interoperability layer capable of explicitly linking distributed scientific artifacts.
-
📂 Research Project Management
- Create and organize scientific projects.
- Associate objectives, methodologies, results, and resources.
-
🔗 Artifact Integration
- Connect datasets, source code, and publications.
- Establish explicit relationships among research artifacts.
-
☁️ External Repository Integration
-
Native support for:
- GitHub
- Zenodo
- OSF
- arXiv
-
-
🧾 Metadata Management
-
Support for rich metadata based on standards such as:
- Dublin Core
- DataCite
- ISO 19115
-
-
📚 Preprint Submission
- Automated submission workflow for preprints.
-
🌍 Translation Support
- Automatic translation and grammar revision for project descriptions and preprints.
-
🔎 Search and Discovery
- Search projects and artifacts through keywords and metadata.
-
🤝 Collaborative Research
- Support collaborative scientific workflows involving multiple researchers.
Triptych follows a layered architecture composed of four main layers:
┌─────────────────────────────┐
│ Presentation Layer │
│ Triptych Portal │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ Application Layer │
│ Authentication │
│ Project Management │
│ Data Management │
│ Metadata Management │
│ Translation Services │
│ Preprint Submission │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ Data Layer │
│ Local Storage │
│ Metadata Repository │
│ Provenance Repository │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ External Services │
│ GitHub • Zenodo • OSF │
│ arXiv • Maritaca AI │
└─────────────────────────────┘
.
├── frontend/ # Web portal and user interface
├── versaopython/ # Backend services and business logic
├── docker-compose.yml # Container orchestration
├── heroku.yml # Deployment configuration
├── init.sql # Database initialization script
└── README.md
- Docker and Docker Compose
- Python 3.x
- Node.js and npm
git clone https://github.com/UFFeScience/triptych.git
cd triptych
docker-compose up --buildThe application should then be accessible through the configured frontend endpoint.
| Service | Purpose |
|---|---|
| GitHub | Source code management |
| Zenodo | Research data publication |
| OSF | Research project and data management |
| arXiv | Preprint publication |
| Maritaca AI | Translation and text improvement |
Triptych was designed to support the FAIR principles:
- Findable → rich metadata and indexing.
- Accessible → integration with open repositories.
- Interoperable → standardized metadata and provenance models.
- Reusable → explicit provenance and artifact relationships.
If you use Triptych in academic work, please cite:
@inproceedings{rolim2026triptych,
title={Triptych: Integrando Dados, C{\'o}digo e Publica{\c{c}}{\~o}es para a Pesquisa Cient{\'i}fica},
author={Rolim, Ygor and Kunstmann, Liliane and Pina, Debora and Dorneles, Carina F. and Lage, Marcos and Oliveira, Daniel},
booktitle={Simp{\'o}sio Brasileiro de Bancos de Dados (SBBD)},
year={2026}
}Contributions are welcome.
- Fork the repository.
- Create a feature branch.
git checkout -b feature/my-feature- Commit your changes.
git commit -m "Add new feature"- Push to your fork and open a Pull Request.
This project is distributed under the license specified in this repository.
Developed by researchers from:
- Universidade Federal Fluminense (UFF)
- Universidade Federal Rural do Rio de Janeiro (UFRRJ)
- Universidade Federal do Rio de Janeiro (UFRJ)
- Universidade Federal de Santa Catarina (UFSC)
Triptych — Connecting scientific data, software, and publications for reproducible research.