size_categories:10K<n<100K format:json modality:tabular modality:text library:datasets library:pandas library:mlcroissant library:polars region:us
---
configs:
- config_name: ghs_parameters
  data_files:
  - split: kotlin
    path: ghs/parameters/kotlin.json
  - split: java
    path: ghs/parameters/java.json
  - split: python
    path: ghs/parameters/python.json
- config_name: repo_metadata
  data_files:
  - split: jvm
    path: ghs/data/jvm.jsonl
  - split: python
    path: ghs/data/python.jsonl
- config_name: repo_metadata_permissive
  data_files:
  - split: jvm
    path: ghs/data/jvm_permissive.jsonl
  - split: python
    path: ghs/data/python_permissive.jsonl
- config_name: readmes
  data_files:
  - split: jvm
    path: readmes/jvm.jsonl
  - split: python
    path: readmes/python.jsonl
- config_name: workflows
  data_files:
  - split: jvm
    path: workflows/jvm.jsonl
  - split: python
    path: workflows/python.jsonl
- config_name: repo_contents
  data_files:
  - split: python
    path: repo_contents/python.jsonl
  - split: jvm
    path: repo_contents/jvm.jsonl
- config_name: splits
  data_files:
  - split: python_single_dm_in_root_folder
    path: splits/python_single_dm_in_root_folder.jsonl
  - split: python_single_dm_in_root_folder_no_docker
    path: splits/python_single_dm_in_root_folder_no_docker.jsonl
  - split: python_baseline_failure
    path: splits/python_baseline_failure.jsonl
  - split: jvm_single_dm_in_root_folder
    path: splits/jvm_single_dm_in_root_folder.jsonl
  - split: jvm_single_dm_in_root_folder_no_docker
    path: splits/jvm_single_dm_in_root_folder_no_docker.jsonl
  - split: jvm_baseline_failure
    path: splits/jvm_baseline_failure.jsonl
---


# 🌱⚙️ Environment Setup

This repository contains data associated with Environment Setup benchmark. It contains:

* statistics about repositories from GitHub Search under `ghs/data` folder;
* several data splits under `splits` folder;
* Git repositories under `repos` folder;
* READMEs under `readmes` folder (available as `readmes` config);
* GitHub Actions workflows under `workflows` folder (available as `workflows` config);
* list of files in the repositories (available as `repo_contents` config).

## Data splits

We provide the repositories at each step of our filtering process.

### JVM

1. We obtain the list of repositories from GitHub Search: `ghs/data/jvm_permissive.jsonl`
2. We clone the repositories to `repos/full/jvm`
3. We filter repositories from previous step to keep only those with configuration files related to a single build tool in root directory: `splits/jvm_single_dm_in_root_folder.jsonl` (`splits/jvm_single_dm_in_root_folder.jsonl` additionally contains 'dm' field with build tool for each repository)
4. We filter the repositories from previous step to keep only those without Docker-related configuration files: `splits/jvm_single_dm_in_root_folder_no_docker.jsonl`
5. We filter the repositories from previous step to keep only those that our deterministic script couldn't configure correctly: `splits/jvm_baseline_failure.jsonl`

The list of 665 repositories from our benchmark is available in `splits/jvm_baseline_failure.jsonl`. For convenience, the final set of Git repositories is also stored separately under `repos/final/jvm`.

### Python

1. We obtain the list of repositories from GitHub Search: `ghs/data/python_permissive.jsonl`
2. We clone the repositories to `repos/full/python`
3. We filter repositories from previous step to keep only those with configuration files related to a single build tool in root directory: `splits/python_single_dm_in_root_folder.jsonl` (`splits/python_single_dm_in_root_folder.jsonl` additionally contains 'dm' field with dependency manager for each repository)
4. We filter the repositories from previous step to keep only those without Docker-related configuration files: `splits/python_single_dm_in_root_folder_no_docker.jsonl`
5. We filter the repositories from previous step to keep only those that our deterministic script couldn't configure correctly: `splits/python_baseline_failure.jsonl`

The list of 329 repositories from our benchmark is available in `splits/python_baseline_failure.jsonl`. For convenience, the final set of Git repositories is also stored separately under `repos/final/python`.