scyros

Crates.ioscyros
lib.rsscyros
version0.1.0
created_at2026-01-13 14:09:40.816529+00
updated_at2026-01-13 14:09:40.816529+00
descriptionA framework to design sound, reproducible and scalable mining repositories studies on GitHub.
homepage
repositoryhttps://github.com/fxpl/scyros
max_upload_size
id2040246
size633,786
Andrea Gilot (agilot)

documentation

README

Scyros

Actions status Rust

A framework to design sound, reproducible and scalable mining repositories studies on GitHub.

Scyros is...

  • 🧪 Reproducibility-first: declarative configuration and deterministic execution to enable repeatable experiments.
  • 📈 Scalable: designed for large-scale repository mining studies on GitHub.
  • 🧱 Soundness-focused: encourages transparent, bias-aware, and methodologically explicit study design.
  • ⚙️ Modular: independent, reusable modules that can be composed into custom data-processing pipelines.

Table of Contents

Installation

This project is written is Rust and requires Rust version 1.85. Install Rust by following the instructions on the official website.

Build Scyros from source:

git clone git@github.com:fxpl/scyros.git
cd scyros
cargo build --release

The binary is produced at target/release/scyros. You can optionally move it to a directory in your PATH for easier access.

Usage

To discover available commands and modules:

scyros --help

Each module provides its own usage documentation. For example, to inspect the module used to sample random repositories from GitHub:

scyros ids --help

Some modules interact with the GitHub API and require personal access tokens (PATs). Tokens can be created by following GitHub’s documentation: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token.

⚠️ Never commit or share your tokens publicly.

Tokens must be provided as a CSV file passed via a command-line argument. The file must contain a single column named token, with one token per line:

    token
    fa56454....
    hj73647.... 

GitHub enforces API rate limits. Using multiple tokens from the same account does not increase these limits. Users are expected to comply with GitHub’s API terms and rate-limit policies:

Citing Scyros

Scyros is introduced and described in the following large-scale empirical study. If you use Scyros in academic work, please cite:.

@misc{gilot2025largescalestudyfloatingpointusage,
    title={A Large-Scale Study of Floating-Point Usage in Statically Typed Languages}, 
    author={Andrea Gilot and Tobias Wrigstad and Eva Darulova},
    year={2025},
    eprint={2509.04936},
    archivePrefix={arXiv},
    primaryClass={cs.PL},
    url={https://arxiv.org/abs/2509.04936}, 
}   

Gilot, A., Wrigstad, T., & Darulova, E. (2025). A Large-Scale Study of Floating-Point Usage in Statically Typed Languages. arXiv. https://arxiv.org/abs/2509.04936

License

This project is licensed under the Apache License 2.0. See LICENSE for details.

Commit count: 16

cargo fmt