Factotum is a simple app designed to make it easier to work with a variety of data file formats. Import your data files as tables into a temporary database and use the full power of SQL.
Factotum is built on the Electron framework, with a Python server running in the background. All client-server communications occur over HTTP.
Factotum provides compatibility with the following data file formats:
- Comma Separated Values (CSV):
.csv
- Tab Separated Values (TSV):
.tsv
- Microsoft Excel:
.xls
,.xlsx
,.xlsm
,.xlsb
- OpenOffice Formats:
.odf
,.ods
,.odt
- Apache Parquet:
.parquet
- Apache AVRO:
.avro
- Apache ORC:
.orc
- Apache Arrow IPC:
.feather
- JavaScript Object Notation (JSON):
.json
- Statistical Analysis System (SAS):
.sas7bdat
,.xpt
- Extensible Markup Language (XML):
.xml
- Statistical Package for the Social Sciences (SPSS):
.sav
,.zsav
,.por
- Stata Data Format:
.dta
- Hierarchical Data Format (HDF):
.h5
,.hdf5
- Structure Data Format for Chemical Data:
.sdf
Factotum utilizes the following SQL engines for data processing:
- Polars: A DataFrame library implemented in Rust.
- DuckDB: An in-memory analytical database written in C++.
To get started with Factotum in a development environment, follow these steps:
yarn
npm run setup-micromamba
npm run setup-venv
npm run server:build
npm start