Scan timing: clone 3.76s · analysis 42.07s · 4.0 MB · GitHub API rate-limit (preflight)
https://github.com/google-research/timesfm.git
· scanned 2026-06-19 22:18 UTC (1 month, 1 week ago)
· 10 languages
455 raw signals (256 security + 199 graph) 5th percentile · Python · small (2-20K LoC)
Last scanned 1 month, 1 week ago · v1 · 392 actionable findings from 2 signal sources. 63 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
53.0 | 0.25 | 13.25 |
testing_score |
63.0 | 0.20 | 12.60 |
documentation_score |
84.0 | 0.15 | 12.60 |
practices_score |
67.0 | 0.15 | 10.05 |
code_quality |
39.0 | 0.10 | 3.90 |
| Overall | 1.00 | 67.4 |
All 559 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
swish_block |
software | healthy | tests/test_torch_layers.py:41 |
test_output_shape |
software | healthy | tests/test_torch_layers.py:210 |
test_output_shape_3d |
software | healthy | tests/test_torch_layers.py:59 |
test_residual_connection_nonzero |
software | healthy | tests/test_torch_layers.py:66 |
test_all_activations_produce_valid_output |
software | healthy | tests/test_torch_layers.py:93 |
test_invalid_activation_raises |
software | healthy | tests/test_torch_layers.py:108 |
test_gradient_flows_through_both_paths |
software | healthy | tests/test_torch_layers.py:121 |
test_output_shape_preserved |
software | healthy | tests/test_torch_layers.py:153 |
test_zero_scale_produces_zeros |
software | healthy | tests/test_torch_layers.py:160 |
test_unit_scale_preserves_rms_magnitude |
software | healthy | tests/test_torch_layers.py:173 |
test_no_nan_on_zero_input |
software | healthy | tests/test_torch_layers.py:192 |
test_output_dims_not_multiple_of_4_raises |
software | healthy | tests/test_torch_layers.py:223 |
test_fourier_components_bounded |
software | healthy | tests/test_torch_layers.py:235 |
test_3d_input_supported |
software | healthy | tests/test_torch_layers.py:251 |
test_single_batch_matches_numpy |
software | healthy | tests/test_torch_utils.py:43 |
test_incremental_accumulation_matches_full_computation |
software | healthy | tests/test_torch_utils.py:66 |
no_mask |
software | healthy | tests/test_torch_utils.py:76 |
test_masked_elements_excluded_from_statistics |
software | healthy | tests/test_torch_utils.py:99 |
test_all_masked_yields_zero_stats |
software | healthy | tests/test_torch_utils.py:119 |
test_batched_computation_independent |
software | healthy | tests/test_torch_utils.py:137 |
test_constant_input_yields_zero_sigma |
software | healthy | tests/test_torch_utils.py:163 |
test_forward_then_reverse_is_identity |
software | healthy | tests/test_torch_utils.py:189 |
test_forward_produces_correct_normalization |
software | healthy | tests/test_torch_utils.py:206 |
test_reverse_produces_correct_denormalization |
software | healthy | tests/test_torch_utils.py:217 |
test_zero_sigma_does_not_produce_nan |
software | healthy | tests/test_torch_utils.py:228 |
test_near_zero_sigma_guarded_by_tolerance |
software | healthy | tests/test_torch_utils.py:244 |
test_roundtrip_with_batched_3d_input |
software | healthy | tests/test_torch_utils.py:257 |
test_roundtrip_with_batched_4d_input |
software | healthy | tests/test_torch_utils.py:270 |
test_negative_values_handled_correctly |
software | healthy | tests/test_torch_utils.py:289 |
test_is_mutable |
software | healthy | tests/test_torch_utils.py:312 |
test_key_value_shape_consistency |
software | healthy | tests/test_torch_utils.py:325 |
test_defaults_match_safe_inference_settings |
software | healthy | tests/test_configs.py:45 |
test_frozen_prevents_mutation |
software | healthy | tests/test_configs.py:188 |
test_replace_creates_independent_copy |
software | healthy | tests/test_configs.py:73 |
test_equality_is_structural |
software | healthy | tests/test_configs.py:86 |
test_inequality_on_any_field_difference |
software | healthy | tests/test_configs.py:92 |
test_activation_accepts_all_valid_literals |
software | healthy | tests/test_configs.py:118 |
test_model_dims_must_be_divisible_by_num_heads |
software | healthy | tests/test_configs.py:139 |
test_stacked_config_composes_correctly |
software | healthy | tests/test_configs.py:160 |
test_torch_load_checkpoint_and_from_pretrained_local |
software | healthy | tests/test_model_loading.py:27 |
test_flax_model_init_kwargs |
software | healthy | tests/test_model_loading.py:62 |
test_no_nans_returns_unchanged |
software | healthy | tests/test_base_utils.py:40 |
test_strips_leading_nans_only |
software | healthy | tests/test_base_utils.py:46 |
test_single_leading_nan |
software | healthy | tests/test_base_utils.py:53 |
test_no_leading_nan_with_internal_nans |
software | healthy | tests/test_base_utils.py:59 |
test_single_valid_element |
software | healthy | tests/test_base_utils.py:66 |
test_all_nans_returns_full_array |
software | healthy | tests/test_base_utils.py:72 |
test_preserves_dtype |
software | healthy | tests/test_base_utils.py:87 |
test_no_nans_returns_identical |
software | healthy | tests/test_base_utils.py:102 |
test_interpolates_single_interior_nan |
software | healthy | tests/test_base_utils.py:108 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
AGENTS.md |
software | healthy | AGENTS.md |
__init__.py |
software | healthy | tests/__init__.py |
test_torch_layers.py |
software | healthy | tests/test_torch_layers.py |
test_torch_utils.py |
software | healthy | tests/test_torch_utils.py |
test_configs.py |
software | healthy | tests/test_configs.py |
test_model_loading.py |
software | healthy | tests/test_model_loading.py |
test_base_utils.py |
software | healthy | tests/test_base_utils.py |
poetry.lock |
software | healthy | v1/poetry.lock |
README.md |
software | healthy | v1/README.md |
TROUBLESHOOTING.md |
software | healthy | v1/TROUBLESHOOTING.md |
pyproject.toml |
software | healthy | v1/pyproject.toml |
LICENSE |
software | healthy | v1/LICENSE |
test_data_loader.py |
software | healthy | v1/tests/test_data_loader.py |
test_timesfm.py |
software | healthy | v1/tests/test_timesfm.py |
contributing.md |
software | healthy | v1/docs/contributing.md |
README.md |
software | healthy | v1/peft/README.md |
finetune.sh |
software | healthy | v1/peft/finetune.sh |
finetune.py |
software | healthy | v1/peft/finetune.py |
__init__.py |
software | healthy | v1/src/adapter/__init__.py |
dora_layers.py |
software | healthy | v1/src/adapter/dora_layers.py |
lora_layers.py |
software | healthy | v1/src/adapter/lora_layers.py |
utils.py |
software | healthy | v1/src/adapter/utils.py |
__init__.py |
software | healthy | v1/src/finetuning/__init__.py |
finetuning_torch.py |
software | healthy | v1/src/finetuning/finetuning_torch.py |
finetuning_example.py |
software | healthy | v1/src/finetuning/finetuning_example.py |
time_features.py |
software | healthy | v1/src/timesfm/time_features.py |
__init__.py |
software | healthy | v1/src/timesfm/__init__.py |
xreg_lib.py |
software | healthy | v1/src/timesfm/xreg_lib.py |
patched_decoder.py |
software | healthy | v1/src/timesfm/patched_decoder.py |
timesfm_jax.py |
software | healthy | v1/src/timesfm/timesfm_jax.py |
data_loader.py |
software | healthy | v1/src/timesfm/data_loader.py |
timesfm_base.py |
software | healthy | v1/src/timesfm/timesfm_base.py |
timesfm_torch.py |
software | healthy | v1/src/timesfm/timesfm_torch.py |
pytorch_patched_decoder.py |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py |
__init__.py |
software | healthy | v1/experiments/baselines/__init__.py |
timegpt_pipeline.py |
software | healthy | v1/experiments/baselines/timegpt_pipeline.py |
README.md |
software | healthy | v1/experiments/long_horizon_benchmarks/README.md |
run_eval.py |
software | healthy | v1/experiments/long_horizon_benchmarks/run_eval.py |
run_timesfm.py |
software | healthy | v1/experiments/extended_benchmarks/run_timesfm.py |
README.md |
software | healthy | v1/experiments/extended_benchmarks/README.md |
run_timegpt.py |
software | healthy | v1/experiments/extended_benchmarks/run_timegpt.py |
utils.py |
software | healthy | v1/experiments/extended_benchmarks/utils.py |
SKILL.md |
software | healthy | timesfm-forecasting/SKILL.md |
forecast_csv.py |
software | healthy | timesfm-forecasting/scripts/forecast_csv.py |
check_system.py |
software | healthy | timesfm-forecasting/scripts/check_system.py |
data_preparation.md |
software | healthy | timesfm-forecasting/references/data_preparation.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestResidualBlock |
software | healthy | tests/test_torch_layers.py:37 |
TestRMSNorm |
software | healthy | tests/test_torch_layers.py:150 |
TestRandomFourierFeatures |
software | healthy | tests/test_torch_layers.py:207 |
TestUpdateRunningStats |
software | healthy | tests/test_torch_utils.py:40 |
TestRevIN |
software | healthy | tests/test_torch_utils.py:186 |
TestDecodeCache |
software | healthy | tests/test_torch_utils.py:309 |
TestForecastConfig |
software | healthy | tests/test_configs.py:42 |
TestResidualBlockConfig |
software | healthy | tests/test_configs.py:104 |
TestTransformerConfig |
software | healthy | tests/test_configs.py:136 |
TestRandomFourierFeaturesConfig |
software | healthy | tests/test_configs.py:185 |
TestModelLoading |
software | healthy | tests/test_model_loading.py:24 |
TestStripLeadingNans |
software | healthy | tests/test_base_utils.py:37 |
TestLinearInterpolation |
software | healthy | tests/test_base_utils.py:99 |
DoraTheta |
software | healthy | v1/src/adapter/dora_layers.py:23 |
DoraThetaDescriptor |
software | healthy | v1/src/adapter/dora_layers.py:76 |
DoraLinear |
software | healthy | v1/src/adapter/dora_layers.py:83 |
DoraAttentionProjection |
software | healthy | v1/src/adapter/dora_layers.py:121 |
DoraCombinedQKVProjection |
software | healthy | v1/src/adapter/dora_layers.py:166 |
LoraTheta |
software | healthy | v1/src/adapter/lora_layers.py:23 |
LoraThetaDescriptor |
software | healthy | v1/src/adapter/lora_layers.py:67 |
LoraLinear |
software | healthy | v1/src/adapter/lora_layers.py:74 |
LoraAttentionProjection |
software | healthy | v1/src/adapter/lora_layers.py:103 |
LoraCombinedQKVProjection |
software | healthy | v1/src/adapter/lora_layers.py:139 |
MetricsLogger |
software | healthy | v1/src/finetuning/finetuning_torch.py:21 |
WandBLogger |
software | healthy | v1/src/finetuning/finetuning_torch.py:46 |
DistributedManager |
software | healthy | v1/src/finetuning/finetuning_torch.py:78 |
FinetuningConfig |
software | healthy | v1/src/finetuning/finetuning_torch.py:120 |
TimesFMFinetuner |
software | healthy | v1/src/finetuning/finetuning_torch.py:162 |
TimeSeriesDataset |
software | healthy | v1/src/finetuning/finetuning_example.py:51 |
TimeCovariates |
software | healthy | v1/src/timesfm/time_features.py:112 |
BatchedInContextXRegBase |
software | healthy | v1/src/timesfm/xreg_lib.py:56 |
BatchedInContextXRegLinear |
software | healthy | v1/src/timesfm/xreg_lib.py:389 |
ResidualBlock |
software | healthy | v1/src/timesfm/patched_decoder.py:84 |
PatchedTimeSeriesDecoder |
software | healthy | v1/src/timesfm/patched_decoder.py:211 |
PatchedDecoderFinetuneModel |
software | healthy | v1/src/timesfm/patched_decoder.py:482 |
TimesFmJax |
software | healthy | v1/src/timesfm/timesfm_jax.py:41 |
TimeSeriesdata |
software | healthy | v1/src/timesfm/data_loader.py:27 |
TimesFmHparams |
software | healthy | v1/src/timesfm/timesfm_base.py:145 |
TimesFmCheckpoint |
software | healthy | v1/src/timesfm/timesfm_base.py:184 |
TimesFmBase |
software | healthy | v1/src/timesfm/timesfm_base.py:205 |
TimesFmTorch |
software | healthy | v1/src/timesfm/timesfm_torch.py:30 |
TimesFMConfig |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:29 |
ResidualBlock |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:239 |
RMSNorm |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:271 |
TransformerMLP |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:297 |
TimesFMAttention |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:320 |
TimesFMDecoderLayer |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:418 |
StackedDecoder |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:468 |
PositionalEmbedding |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:518 |
PatchedTimeSeriesDecoder |
software | healthy | v1/src/timesfm/pytorch_patched_decoder.py:574 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
v1 |
software | healthy | v1 |
tests |
software | healthy | v1/tests |
docs |
software | healthy | v1/docs |
peft |
software | healthy | v1/peft |
src |
software | healthy | v1/src |
adapter |
software | healthy | v1/src/adapter |
finetuning |
software | healthy | v1/src/finetuning |
timesfm |
software | healthy | v1/src/timesfm |
experiments |
software | healthy | v1/experiments |
baselines |
software | healthy | v1/experiments/baselines |
long_horizon_benchmarks |
software | healthy | v1/experiments/long_horizon_benchmarks |
extended_benchmarks |
software | healthy | v1/experiments/extended_benchmarks |
timesfm-forecasting |
software | healthy | timesfm-forecasting |
scripts |
software | healthy | timesfm-forecasting/scripts |
references |
software | healthy | timesfm-forecasting/references |
examples |
software | healthy | timesfm-forecasting/examples |
finetuning |
software | healthy | timesfm-forecasting/examples/finetuning |
anomaly-detection |
software | healthy | timesfm-forecasting/examples/anomaly-detection |
output |
software | healthy | timesfm-forecasting/examples/anomaly-detection/output |
global-temperature |
software | healthy | timesfm-forecasting/examples/global-temperature |
output |
software | healthy | timesfm-forecasting/examples/global-temperature/output |
covariates-forecasting |
software | healthy | timesfm-forecasting/examples/covariates-forecasting |
output |
software | healthy | timesfm-forecasting/examples/covariates-forecasting/output |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
timesfm |
software | healthy | src/timesfm |
utils |
software | healthy | src/timesfm/utils |
torch |
software | healthy | src/timesfm/torch |
flax |
software | healthy | src/timesfm/flax |
timesfm_2p5 |
software | healthy | src/timesfm/timesfm_2p5 |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::main |
cicd | healthy | .github/workflows/main.yml |
gha::manual_publish |
cicd | healthy | .github/workflows/manual_publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/main.yml |
build-and-publish |
cicd | healthy | .github/workflows/manual_publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ifsisg9i |
software | healthy | /tmp/repobility-clone-ifsisg9i |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
PYPI_API_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/da5d58d3-85f2-4a83-a867-74a096ca8de4/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/da5d58d3-85f2-4a83-a867-74a096ca8de4/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.