-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
107 lines (93 loc) · 3.25 KB
/
pyproject.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
[tool.poetry]
name = "hyperstyle-analysis-prod"
version = "0.3.0"
description = "Repository containing several tools-helpers to work with data from the Hyperskill and JetBrains Academy platforms"
authors = [
"Anastasia Birillo <[email protected]>",
"Maria Tigina <[email protected]>",
"Ilya Vlasov <[email protected]>",
]
readme = "README.md"
packages = [
{ include = "core" },
{ include = "data_collection" },
{ include = "data_labelling" },
{ include = "jba" },
{ include = "preprocessing" },
{ include = "templates" },
]
# Core dependencies
[tool.poetry.dependencies]
python = "~3.11"
pandas = "2.0.3"
dataclasses-json = "0.5.14"
hyperstyle = "1.4.2"
python-dateutil = "2.8.2"
pyyaml = "6.0"
argparse = "1.4.0"
requests = "2.25.1"
deepdiff = "6.7.1"
[tool.poetry.group.dev.dependencies]
pytest = "7.4.0"
pytest-runner = "6.0.0"
pytest-subtests = "0.11.0"
wemake-python-styleguide = "0.16.1"
flake8-import-order = "0.18.1"
# Data collection dependencies
[tool.poetry.group.data-collection]
optional = true
[tool.poetry.group.data-collection.dependencies]
dacite = "1.8.1"
# Data labeling dependencies
[tool.poetry.group.data-labelling]
optional = true
[tool.poetry.group.data-labelling.dependencies]
# JBA dependencies
[tool.poetry.group.jba]
optional = true
[tool.poetry.group.jba.dependencies]
numpy = "1.25.0"
matplotlib = "3.7.2"
python-dotenv = "1.0.0"
pandarallel = "1.6.5"
beautifulsoup4 = "4.12.2"
streamlit = "1.22.0"
streamlit-diff-viewer = "0.0.2"
plotly = "5.17.0"
# Preprocessing dependencies
[tool.poetry.group.preprocessing]
optional = true
[tool.poetry.group.preprocessing.dependencies]
# Templates dependencies
[tool.poetry.group.templates]
optional = true
[tool.poetry.group.templates.dependencies]
diff-match-patch = "20230430"
[tool.poetry.scripts]
# Data collection scripts
collect_data = 'data_collection.src.collect_data:main'
# Data labelling scripts
run_hyperstyle = 'data_labelling.src.hyperstyle.evaluate:main'
# JBA scripts
collect_course_structure = 'jba.src.processing.collect_course_structure:main'
tasktracker_content_collector = 'jba.src.processing.tasktracker_content_collector:main'
tasktracker_task_filter = 'jba.src.processing.tasktracker_task_filter:main'
tasktracker_edu_validation = 'jba.src.processing.tasktracker_edu_validation:main'
tasktracker_platform_step_mapping = 'jba.src.processing.tasktracker_platform_step_mapping:main'
process_course_data = 'jba.src.processing.data_processing:main'
plot_task_attempt = 'jba.src.plots.task_attempt:main'
plot_task_solving = 'jba.src.plots.task_solving:main'
plot_task_duplicates = 'jba.src.plots.task_duplicates:main'
submissions_gathering = 'jba.src.gathering.gather_submissions_info:main'
gradle_tests_runner = 'jba.src.test_logs.tests_runner:main'
gradle_logs_parser = 'jba.src.test_logs.logs_parser:main'
inpsections_gathering = 'jba.src.inspections.gathering:main'
# Preprocessing scripts
preprocess_submissions = 'preprocessing.src.preprocess_submissions:main'
# Templates scripts
filter_by_diff = 'templates.src.diffs.filter_by_diff:main'
search_by_freq = 'templates.src.freq.search_template_issues:main'
postprocess_by_freq = 'templates.src.freq.postprocess:main'
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"