Dynamic Linter for Python
It is now possible to run DyLin directly on GitHub workflows. You just need to add 5 lines to your workflow file. For anonymity, the link to the GitHub actions will be added after the reviews.
You need docker
, git
, and python>=3.9
installed for running the experiments.
For Kaggle experiments, you need to have a Kaggle API key set in kaggle.json
in the root directory.
To install requirements for a local (not in a container) run:
pip install -r requirements.txt
The checkers are implemented in src/analyses
.
All experiments are self-contained, i.e. they download the required repositories, source code, and data. Run the micro-benchmark:
pytest tests
Run DyLin on GitHub repositories:
bash build_projects.sh
bash run_all_with_cov.sh # to collect analysis coverage
bash run_all_no_cov.sh # no analysis coverage
Results will be in project_results
.
Run the GitHub project's test suites:
bash build_testcov.sh
bash run_all_testcov.sh
Results will be in project_testcovs
.
Run Ruff on GitHub projects:
bash build_lint.sh
bash run_all_linters.sh
Results will be in project_lints
.
Run DyLin on a Kaggle competition:
bash build_kaggle.sh <kaggle competition id: e.g. titanic>
bash run_kaggle.sh
Results will be in kaggle_results
.