Vitae is a Search Engine for Lattes Researchers.
This works by ingesting Lattes' XML files and storing them into a database.
With the built database, you can search for Researchers by name or ID and filters them by a lot of properties. This is also possible to export them to Lucy Lattes for graph creation or open their Curriculum on Orcid or Lattes itself.
User Application
If you're already on a setted-up environment, with a running database, you may skip the Environment Setup and read the User Guide which covers the GUI Native-like application for non-technical users.
[!INFO] Se você é um usuário brasileiro e está em um ambiente já configurado, por favor, leia: Guia de Usuário.
If you need to setup your environment, read Environment Setup and then the User Guide.
If you're a developer and wants to contribute to the project, read the Contributing document after have read both Environment Setup and User Guide.
This Python project is Poetry-based and this is required to have a deterministic environment and avoid dependency conflicts.
$ poetry install
$ cp vitae.example.toml vitae.toml
# Now edit it to use your own settings$ poetry env activateOn Visual Studio Code: Ctrl + Shift + P, then search for: "Python: Select Interpreter" and choose the one from Poetry's isolated environment.
Before running the application for the first time, complete these steps:
- Create the Database
Ensure your PostgreSQL database exists, using the same settings you specified in Environment Settings:
$ createdb <your-database> -U <your-user>
$ vitae bootstrap- Add Your Curricula Repository
Place your curricula repository in the root directory of this project (at the same level as the source code).
Warning
Add your curricula repository to .gitignore to avoid accidentally uploading it to remote.
Also, remember to have the same name on your vitae.toml file.
- Directory Structure
Your curricula's directory should look like this:
root
|-- <curricula> # Your curricula repository
| |-- 00
| |-- 01
| |-- 02
| +-- ...
|
|-- logs
|-- scripts
|-- tests
|-- vitae
|-- ...
$ vitae ingestRemember to install with poetry install before run as a script.
Otherwise, you may run as python -m vitae.
You may run the Web UI manually if you're a technical user and this brings some special functionalities, such as custom hosting, multiple workers or hot-reload, for development.
To run manually, you may use:
$ vitae web
By passing --production, you'll be hosting this on 0.0.0.0:8000 with 4 workers by default. Also, hot-reload is enabled by default for non-production runs.
If you want use your own custom settings, you may use:
$ uvicorn vitae.features.researchers.app:main
And pass your own flags, see FastAPI's and Uvicorn's documentations for more details.
To know more about each detail of this project, just open vitae and read the documentation for each feature, which includes the objective and architectural decisions for each one.
The source code also provides documentation for crucial sections.
- DBA tools
- Beekeeper Studio for SQL Queries. (Community ed. for Free)
- ChartDB for Diagram visualization. (Self-hosted for free)
- pgAdmin 4, general purpose. Comes with PostgreSQL. (Free)
- Python Linters, Formatters, Static Analysis

