forked from NVIDIA-NeMo/RL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyrefly.toml
More file actions
116 lines (113 loc) · 5.59 KB
/
pyrefly.toml
File metadata and controls
116 lines (113 loc) · 5.59 KB
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
108
109
110
111
112
113
114
115
116
python-version = "3.12.0"
replace-imports-with-any = [
"pynvml.*",
"hydra._internal.*",
"hydra.core.override_parser.*",
"datasets.*",
"transformers.*",
"vllm.*",
"math_verify.*",
"sympy.*",
"torchdata.*",
"nemo.*",
"megatron.*",
"ray.*",
"numpy.*",
]
project-includes = [
# TODO: enable these once we have 100 correctness
#"nemo_rl/**/*.py",
#"examples/**/*.py",
#"docs/*.py",
#"tools/**/*.py",
# Generate the list of errors per file
# uv run --group dev pyrefly check $(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py') --output-format json | jq -r --slurpfile all_files <(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py' | jq -R -s 'split("\n")[:-1]') --arg pwd "$(pwd)/" '(.errors | group_by(.path) | map({(.[0].path | sub($pwd; "")): length}) | add // {}) as $error_counts | $all_files[0][] | . as $file | "\($error_counts[$file] // 0)\t\($file)"' | sort -n
# Generate list of files with 0 errors
# uv run --group dev pyrefly check $(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py') --output-format json | jq -r --slurpfile all_files <(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py' | jq -R -s 'split("\n")[:-1]') --arg pwd "$(pwd)/" '(.errors | group_by(.path) | map({(.[0].path | sub($pwd; "")): length}) | add // {}) as $error_counts | $all_files[0][] | . as $file | if ($error_counts[$file] // 0) == 0 then $file else empty end'
# uv run --group dev pyrefly check $(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py') --output-format json | jq -r --slurpfile all_files <(git ls-files 'nemo_rl/**/*.py' 'examples/**/*.py' 'docs/*.py' 'tools/**/*.py' | jq -R -s 'split("\n")[:-1]') --arg pwd "$(pwd)/" '(.errors | group_by(.path) | map({(.[0].path | sub($pwd; "")): length}) | add // {}) as $error_counts | $all_files[0][] | . as $file | if ($error_counts[$file] // 0) == 0 then " \"\($file)\"," else empty end'
"docs/conf.py",
"docs/helpers.py",
"examples/converters/convert_dcp_to_hf.py",
"examples/converters/convert_megatron_to_hf.py",
"nemo_rl/algorithms/__init__.py",
"nemo_rl/algorithms/interfaces.py",
"nemo_rl/algorithms/utils.py",
"nemo_rl/converters/__init__.py",
"nemo_rl/converters/huggingface/__init__.py",
"nemo_rl/converters/huggingface/vllm_export.py",
"nemo_rl/converters/megatron/__init__.py",
"nemo_rl/converters/megatron/vllm_export.py",
"nemo_rl/data/__init__.py",
"nemo_rl/data/datasets.py",
"nemo_rl/data/eval_datasets/__init__.py",
"nemo_rl/data/eval_datasets/aime2024.py",
"nemo_rl/data/eval_datasets/aime2025.py",
"nemo_rl/data/eval_datasets/gpqa.py",
"nemo_rl/data/eval_datasets/local_math_dataset.py",
"nemo_rl/data/eval_datasets/math.py",
"nemo_rl/data/eval_datasets/mmlu.py",
"nemo_rl/data/eval_datasets/mmlu_pro.py",
"nemo_rl/data/hf_datasets/__init__.py",
"nemo_rl/data/hf_datasets/chat_templates.py",
"nemo_rl/data/hf_datasets/deepscaler.py",
"nemo_rl/data/hf_datasets/dpo.py",
"nemo_rl/data/hf_datasets/helpsteer3.py",
"nemo_rl/data/hf_datasets/oai_format_dataset.py",
"nemo_rl/data/hf_datasets/oasst.py",
"nemo_rl/data/hf_datasets/openmathinstruct2.py",
"nemo_rl/data/hf_datasets/prompt_response_dataset.py",
"nemo_rl/data/hf_datasets/squad.py",
"nemo_rl/data/interfaces.py",
"nemo_rl/data/packing/__init__.py",
"nemo_rl/data/processors.py",
"nemo_rl/distributed/__init__.py",
"nemo_rl/distributed/collectives.py",
"nemo_rl/distributed/named_sharding.py",
"nemo_rl/distributed/ray_actor_environment_registry.py",
"nemo_rl/distributed/virtual_cluster.py",
"nemo_rl/distributed/worker_group_utils.py",
"nemo_rl/environments/__init__.py",
"nemo_rl/environments/games/sliding_puzzle.py",
"nemo_rl/environments/interfaces.py",
"nemo_rl/environments/math_environment.py",
"nemo_rl/environments/metrics.py",
"nemo_rl/environments/utils.py",
"nemo_rl/evals/__init__.py",
"nemo_rl/evals/answer_parsing.py",
"nemo_rl/experience/__init__.py",
"nemo_rl/experience/rollouts.py",
"nemo_rl/metrics/__init__.py",
"nemo_rl/metrics/metrics_utils.py",
"nemo_rl/models/__init__.py",
"nemo_rl/models/dtensor/__init__.py",
"nemo_rl/models/dtensor/parallelize.py",
"nemo_rl/models/generation/__init__.py",
"nemo_rl/models/generation/interfaces.py",
"nemo_rl/models/generation/vllm_backend.py",
"nemo_rl/models/huggingface/__init__.py",
"nemo_rl/models/megatron/__init__.py",
"nemo_rl/models/megatron/community_import.py",
"nemo_rl/models/megatron/converters/__init__.py",
"nemo_rl/models/megatron/converters/common.py",
"nemo_rl/models/megatron/converters/deepseek.py",
"nemo_rl/models/megatron/converters/llama.py",
"nemo_rl/models/megatron/converters/qwen2.py",
"nemo_rl/models/megatron/converters/qwen3.py",
"nemo_rl/models/policy/__init__.py",
"nemo_rl/models/policy/interfaces.py",
"nemo_rl/models/policy/utils.py",
"nemo_rl/utils/__init__.py",
"nemo_rl/utils/checkpoint.py",
"nemo_rl/utils/config.py",
"nemo_rl/utils/native_checkpoint.py",
"nemo_rl/utils/nsys.py",
"nemo_rl/utils/nvml.py",
"nemo_rl/utils/prefetch_venvs.py",
"nemo_rl/utils/timer.py",
"nemo_rl/utils/venvs.py",
"tools/model_diagnostics/1.max_model_len_respected.py",
"tools/model_diagnostics/2.long_generation_decode_vs_prefill.py",
]
# Disable TypedDict mutation errors since TypedDict objects are regular dicts at runtime
[errors]
missing-attribute = false