-
Notifications
You must be signed in to change notification settings - Fork 0
/
pixi.toml
69 lines (64 loc) · 2.99 KB
/
pixi.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[project]
name = "unstructured-bargaining-analysis"
version = "0.1.0"
description = "Data analysis scripts for the unstructured bargaining experiment."
authors = ["Mia Lu <[email protected]>", "Martin Stancsics <[email protected]>"]
channels = ["conda-forge", "bioconda"]
platforms = ["linux-64", "win-64", "osx-64", "osx-arm64"]
[tasks]
prepare-to-publish = "snakemake --cores 1 prepare_to_deploy"
paper = "snakemake --cores 1 paper"
classify-chat-messages = { cmd = "snakemake --cores 1 classify_chat_messages", env = { ALLOW_OPENAI_REQUESTS = "true" } }
reclassify-chat-messages = { cmd = "snakemake --cores 1 --forcerun classify_chat_messages", env = { ALLOW_OPENAI_REQUESTS = "true", DELETE_CACHE = "true" } }
create-presentations = "snakemake --cores 1 presentations"
create-figures = "snakemake --cores 1 figures"
create-datasets = "snakemake --cores 1 create_datasets"
power-analysis = "snakemake --cores 1 power_analysis"
run-analysis = "snakemake --cores 1 run_analysis"
anonymize = "python src/data/anonymize_survey.py"
update-latex-deps = "snakemake --cores 1 update_latex_deps"
[dependencies]
python = "3.11.*"
snakemake = {version = "8.11.*", channel = "bioconda"}
polars = "0.20.*"
numpy = "1.26.*"
scipy = "1.13.*"
statsmodels = "0.14.*"
jupyterlab = "4.1.*"
nbconvert = "7.16.*"
altair = "5.3.*"
pyarrow = "15.0.*"
seaborn = ">=0.13.2,<0.14"
scikit-learn = ">=1.5.0,<1.6"
spacy = ">=3.7.4,<3.8"
pip = ">=24.0,<25"
quarto = ">=1.4.550,<1.5"
openai = ">=1.35.13,<1.36"
mpltern = ">=1.0.4,<1.1"
typer = ">=0.9.4,<0.10"
requests = ">=2.32.3,<3"
[environments]
default = { solve-group = "main"}
checks = { features = ["checks"], solve-group = "main" }
build-graphs = { features = ["build-graphs"], no-default-feature = true }
[feature.checks.dependencies]
ruff = "*"
codespell = "*"
pyright = "*"
gh = "*"
[feature.checks.tasks]
checks = { depends_on = ["format", "lint", "typecheck", "spellcheck", "data-check"] }
format = "ruff check --fix --select I; ruff format; exit 0"
lint = "ruff check --extend-select I; exit 0"
spellcheck = "codespell --ignore-words codespell-ignore-words.txt --skip '*.csv,playground,out,*bib,gh-pages' && echo 'Spellcheck passed!'; exit 0"
typecheck = { cmd = "pyright; exit 0", env = { PYRIGHT_PYTHON_IGNORE_WARNINGS = "true" } }
data-check = "gh variable list --json name --json value -q '.[] | select(.name | contains(\"RAW_DATA_ANON_CHECKSUMS\")) .value' | shasum -a 256 --check --quiet && echo 'Data integrity check passed!'"
[feature.build-graphs.dependencies]
snakemake = {version = "8.11.*", channel = "bioconda"}
graphviz = "*"
typer = ">=0.12.3,<0.13"
[feature.build-graphs.tasks]
create-build-graph-dir = "mkdir -p build-graphs"
dag = { cmd = "snakemake --dag | dot -Tsvg > build-graphs/dag.svg", depends-on = ["create-build-graph-dir"] }
rulegraph = { cmd = "snakemake --rulegraph | dot -Tsvg > build-graphs/rulegraph.svg", depends-on = ["create-build-graph-dir"] }
filegraph = { cmd = "snakemake --filegraph | dot -Tsvg > build-graphs/filegraph.svg", depends-on = ["create-build-graph-dir"] }