Public record
Software health reportschema 0.23.0 · metrics 1.13.0 · 2026-07-21 21:17 UTC

flyteorg / flytekit

Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible.

PythonApache-2.0★ 315 stars⑂ 339 forkssince Aug 2019View on GitHub ↗

flyteorg/flytekit holds a health index of 73 out of 100, placing it in the Good band. It scores highest on Vitality (91/100) and lowest on Security (4/100). It was last updated today. 5 contributors account for most of its recent work.

73
overall / 100
Good

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

73
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

FlyteOrganization
338 followers49 public repossince Jan 2018

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
PyPIflytekit1.16.26413,0944805 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

91Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
22.2/36Commit cadence — 32/52 weeks with commits
18/18Commit volume — 100 commits in the last year
0/10OpenSSF Scorecard: Maintained — no data
Inputs used
commits_last_year100
human_commit_share0.91
days_since_last_push0
active_weeks_last_year32

Release discipline

100Excellent
How it's scored
27/27Ships releases — 100 releases published
36/36Release recency — latest release 5 days ago
27/27Release cadence — a release every ~10.4 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count100
latest_release_tagv1.16.26
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases10.4

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

79Good · 18% of overall
How it's scored
40.5/60Stars — 315 stars
21.1/25Forks — 339 forks
13.2/15Watchers — 234 watchers
Inputs used
forks339
stars315
watchers234
growth_stateorganic
growth_factor_pct100
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
0/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateyes
How it's scored
74.9/80Monthly downloads — 413,094 downloads/month across pypi
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesflytekit
dependents
ecosystemspypi
total_downloads
monthly_downloads413,094
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

84Good · 24% of overall
How it's scored
45.9/54Bus factor — 5 contributor(s) cover half of all commits
19/22.5Commit distribution — top contributor authored 16% of commits
13.5/13.5Contributor breadth — 99 contributors
0/10OpenSSF Scorecard: Contributors — no data
Inputs used
bus_factor5
contributors_sampled99
top_contributor_share0.157
How it's scored
0/46.8Issue resolution — no issues or no data
29.8/38.3PR acceptance — 2,560/3,286 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — no data
Inputs used
merged_prs2,560
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs726
Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
18.2/25Owner reach — 338 followers of flyteorg
24.4/25Track record — 49 public repos, account ~8 yr old
Inputs used
followers338
owner_typeOrganization
is_verified
owner_loginflyteorg
public_repos49
account_age_days3,112
How it's scored
25/25Published & resolvable — 1 package(s) on pypi
35/35Publish recency — latest publish 5 days ago
20/20Version history — 480 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesflytekit
ecosystemspypi
any_deprecatedno
min_days_since_publish5

Engineering Quality

Are baseline engineering and documentation practices in place?

91Excellent · 20% of overall
How it's scored
24/24CI workflows — 4 workflow(s)
24/24Tests present
16/16Linter config
9.6/9.6Pre-commit hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configyes

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://docs.flyte.org/en/latest/api/flytekit/docs_index.html
10/10Repository description
10/10Topics — 13 topics
0/10Wiki
Inputs used
topicsflyte, flyte-tasks, pypi, spark, workflows, sdk, python, mlops, extensible, automation, data-science, data, hacktoberfest
has_wikino
homepagehttps://docs.flyte.org/en/latest/api/flytekit/docs_index.html
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

4Critical · 16% of overall
How it's scored
0/30Security policy (SECURITY.md)
0/25Dependabot config
0/25Dependency lockfiles — published library — lockfiles are an application concern, not expected
0/20CodeQL workflow
Inputs used
sourcefile_signals
lockfilesuv.lock
manifestsplugins/setup.py, pyproject.toml, setup.cfg, setup.py
has_codeql_workflowno
has_security_policyno
has_dependabot_configno
Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.
How it's scored
2/35Direct dependencies free of known advisories — 28 affected: click 8.1.7 (high 7.2), click 8.3.1 (high 7.2), msgpack 1.1.0 (high 7.5), +25 more
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
9.1/40No advisories left outstanding — 23 advisory-carrying package(s) unaddressed past 90 days; oldest published 792 days ago
Inputs used
sourceosv
advisories867
affected_packages97
assessed_packages669
unassessed_packages71
affected_by_severitycritical 6, high 19, moderate 16, low 4, unknown 52
direct_affected_packages28
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 669 resolved dependencies against OSV. 71 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

58Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 85 of 91 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.934
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — Makefile, docs/Makefile, plugins/Makefile
22/22Automated tests
11/11Lint / format config
0/11Static type checking
10/10Reproducible environment — Dockerfile, lockfile
2/10Demonstrated agent practice — 1 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 9 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — no data
Inputs used
has_nixno
has_testsyes
lockfilesuv.lock
has_dockerfileyes
typed_languageno
bootstrap_filesMakefile, docs/Makefile, plugins/Makefile
has_devcontainerno
has_linter_configyes
typecheck_configs
agent_commit_share0.01
toolchain_manifests
dependency_bot_commit_share0.09
How it's scored
0/45Type-checkable code — Python without a type-check config
54.5/55Manageable file sizes — 9/980 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes151,999
source_files_sampled980
oversized_source_files9
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples, notebooks
Inputs used
example_dirsexamples, notebooks
has_mcp_signalno
api_schema_files

Key facts

315GitHub stars
99contributors
100commits, last 12 months
0days since last push
100releases
5bus factor
0open issues
PyPIpackage ecosystems

Data collection warnings

  • deps.dev does not index pypi:flytekit@1.16.26; advisories assessed against the repository dependency graph instead
  • Advisory severity resolved for 120 of 365 advisories (lookup cap); the remainder are reported as unknown severity
  • OpenSSF Scorecard did not return a usable result (exit code -9); skipping Scorecard checks

More detail

Star and fork history 315 ★ / 339 ⇿
315Stars
339Forks
99Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

0125250375315336152019-082023-012026-07
Major 0Minor 4Patch 54

Each point covers 7 days.

Direct dependencies 39
RegistryPackageVersion constraintManifest
PyPIadlfs>=2023.3.0pyproject.toml
PyPIcachetools>=5.3.3pyproject.toml
PyPIclick>=6.6pyproject.toml
PyPIcloudpickle>=2.0.0pyproject.toml
PyPIcroniter>=0.3.20pyproject.toml
PyPIdataclasses-json>=0.5.2,<0.5.12pyproject.toml
PyPIdiskcache>=5.2.1pyproject.toml
PyPIdocker>=4.0.0pyproject.toml
PyPIdocstring-parser>=0.9.0pyproject.toml
PyPIflyteidl>=1.16.7,<2.0.0a0pyproject.toml
PyPIfsspec>=2024.9.0pyproject.toml
PyPIgcsfs>=2024.9.0,!=2025.5.0,!=2025.5.0post1pyproject.toml
PyPIgoogleapis-common-protos>=1.57pyproject.toml
PyPIgrpciopyproject.toml
PyPIgrpcio-statuspyproject.toml
PyPIimportlib-metadatapyproject.toml
PyPIjoblibpyproject.toml
PyPIjsonlinespyproject.toml
PyPIjsonpicklepyproject.toml
PyPIkeyring>=18.0.1pyproject.toml
PyPImarkdown-it-pypyproject.toml
PyPImarshmallow>=3,<4pyproject.toml
PyPImarshmallow-enumpyproject.toml
PyPImarshmallow-jsonschema>=0.12.0pyproject.toml
PyPIsetuptools<82pyproject.toml
PyPImashumaro>=3.15pyproject.toml
PyPImsgpack>=1.1.0pyproject.toml
PyPIprotobuf!=4.25.0pyproject.toml
PyPIpygmentspyproject.toml
PyPIpython-json-logger>=2.0.0pyproject.toml
PyPIpytimeparse>=1.1.8pyproject.toml
PyPIpyyaml!=6.0.0,!=5.4.0,!=5.4.1pyproject.toml
PyPIrequests>=2.18.4pyproject.toml
PyPIrichpyproject.toml
PyPIrich_clickpyproject.toml
PyPIs3fs>=2024.9.0pyproject.toml
PyPIstatsd>=3.0.0pyproject.toml
PyPItyping_extensionspyproject.toml
PyPIurllib3>=1.22pyproject.toml
All dependencies 740

Full resolved dependency set from the GitHub dependency graph: 143 direct and 597 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
PyPIadlfs2023.10.0direct
PyPIadlfs2023.9.0direct
PyPIadlfs2024.4.1direct
PyPIadlfs2024.7.0direct
PyPIadlfs2026.2.0direct
PyPIcachetools5.3.2direct
PyPIcachetools5.3.3direct
PyPIcachetools5.5.0direct
PyPIcachetools7.0.1direct
PyPIclickdirect
PyPIclick8.1.7direct
PyPIclick8.3.1direct
PyPIcloudpickledirect
PyPIcloudpickle2.2.1direct
PyPIcloudpickle3.0.0direct
PyPIcloudpickle3.1.0direct
PyPIcloudpickle3.1.2direct
PyPIcroniter2.0.1direct
PyPIcroniter2.0.5direct
PyPIcroniter3.0.3direct
PyPIcroniter6.0.0direct
PyPIdataclasses-json0.5.9direct
PyPIdiskcache5.6.3direct
PyPIdocker6.1.3direct
PyPIdocker7.1.0direct
PyPIdocstring-parser0.15direct
PyPIdocstring-parser0.16direct
PyPIdocstring-parser0.17.0direct
PyPIflyteidldirect
PyPIflyteidl1.10.6direct
PyPIflyteidl1.10.7b0direct
PyPIflyteidl1.13.4direct
PyPIflyteidl1.16.3direct
PyPIflyteidl1.16.4direct
PyPIfsspecdirect
PyPIfsspec2023.10.0direct
PyPIfsspec2023.9.2direct
PyPIfsspec2024.5.0direct
PyPIfsspec2024.9.0direct
PyPIfsspec2026.2.0direct
PyPIgcsfs2023.9.2direct
PyPIgcsfs2024.5.0direct
PyPIgcsfs2024.9.0.post1direct
PyPIgcsfs2026.2.0direct
PyPIgoogleapis-common-protos1.61.0direct
PyPIgoogleapis-common-protos1.62.0direct
PyPIgoogleapis-common-protos1.63.0direct
PyPIgoogleapis-common-protos1.65.0direct
PyPIgoogleapis-common-protos1.72.0direct
PyPIgrpciodirect
PyPIgrpcio1.59.3direct
PyPIgrpcio1.60.1direct
PyPIgrpcio1.64.0direct
PyPIgrpcio1.66.2direct
PyPIgrpcio1.78.0direct
PyPIgrpcio-status1.59.3direct
PyPIgrpcio-status1.60.1direct
PyPIgrpcio-status1.62.2direct
PyPIgrpcio-status1.62.3direct
PyPIgrpcio-status1.66.2direct
PyPIgrpcio-status1.78.0direct
PyPIimportlib-metadata6.8.0direct
PyPIimportlib-metadata7.0.1direct
PyPIimportlib-metadata7.1.0direct
PyPIimportlib-metadata8.5.0direct
PyPIimportlib-metadata8.6.1direct
PyPIimportlib-metadata8.7.1direct
PyPIjoblib1.3.2direct
PyPIjoblib1.4.2direct
PyPIjoblib1.5.3direct
PyPIjsonlines4.0.0direct
PyPIjsonpickle3.0.2direct
PyPIjsonpickle3.0.4direct
PyPIjsonpickle3.3.0direct
PyPIjsonpickle4.1.1direct
PyPIkeyring24.3.0direct
PyPIkeyring25.2.1direct
PyPIkeyring25.4.1direct
PyPIkeyring25.7.0direct
PyPImarkdown-it-py3.0.0direct
PyPImarkdown-it-py4.0.0direct
PyPImarshmallow3.20.1direct
PyPImarshmallow3.20.2direct
PyPImarshmallow3.21.2direct
PyPImarshmallow3.22.0direct
PyPImarshmallow3.26.2direct
PyPImarshmallow-enum1.5.1direct
PyPImarshmallow-jsonschema0.13.0direct
PyPImashumaro3.10direct
PyPImashumaro3.12direct
PyPImashumaro3.13.1direct
PyPImashumaro3.15direct
PyPImashumaro3.20direct
PyPImsgpack1.1.0direct
PyPImsgpack1.1.2direct
PyPIprotobuf4.24.4direct
PyPIprotobuf4.25.0direct
PyPIprotobuf4.25.5direct
PyPIprotobuf4.25.8direct
PyPIprotobuf5.28.2direct
PyPIprotobuf6.33.5direct
PyPIpygments2.17.1direct
PyPIpygments2.17.2direct
PyPIpygments2.18.0direct
PyPIpygments2.19.2direct
PyPIpython-json-logger2.0.7direct
PyPIpython-json-logger4.0.0direct
PyPIpytimeparse1.1.8direct
PyPIpyyaml6.0.1direct
PyPIpyyaml6.0.2direct
PyPIpyyaml6.0.3direct
PyPIrequests2.31.0direct
PyPIrequests2.32.2direct
PyPIrequests2.32.3direct
PyPIrequests2.32.5direct
PyPIrich13.7.0direct
PyPIrich13.7.1direct
PyPIrich13.9.2direct
PyPIrich14.3.2direct
PyPIrich-click1.7.1direct
PyPIrich-click1.7.3direct
PyPIrich-click1.8.2direct
PyPIrich-click1.8.3direct
PyPIrich-click1.9.7direct
PyPIs3fsdirect
PyPIs3fs2023.9.2direct
PyPIs3fs2024.5.0direct
PyPIs3fs2024.9.0direct
PyPIs3fs2026.2.0direct
PyPIsetuptoolsdirect
PyPIsetuptools69.5.1direct
PyPIstatsd3.3.0direct
PyPIstatsd4.0.1direct
PyPItyping-extensionsdirect
PyPItyping-extensions4.12.2direct
PyPItyping-extensions4.15.0direct
PyPItyping-extensions4.8.0direct
PyPItyping-extensions4.9.0direct
PyPIurllib31.26.18direct
PyPIurllib32.0.7direct
PyPIurllib32.2.1direct
PyPIurllib32.2.3direct
PyPIurllib32.6.3direct
PyPIabsl-py2.4.0indirect
PyPIaioboto3indirect
PyPIaiobotocore2.13.0indirect
PyPIaiobotocore2.15.2indirect
PyPIaiobotocore2.5.4indirect
PyPIaiofiles23.2.1indirect
PyPIaiohappyeyeballs2.4.3indirect
PyPIaiohappyeyeballs2.4.4indirect
PyPIaiohappyeyeballs2.6.1indirect
PyPIaiohttpindirect
PyPIaiohttp3.10.10indirect
PyPIaiohttp3.10.11indirect
PyPIaiohttp3.13.3indirect
PyPIaiohttp3.9.0indirect
PyPIaiohttp3.9.3indirect
PyPIaioitertools0.11.0indirect
PyPIaioitertools0.12.0indirect
PyPIaioresponses0.7.6indirect
PyPIaiosignal1.3.1indirect
PyPIaiosignal1.4.0indirect
PyPIalembic1.13.3indirect
PyPIannotated-types0.7.0indirect
PyPIanyio4.12.1indirect
PyPIanyio4.6.0indirect
PyPIapache-airflowindirect
PyPIapache-airflow2.10.3indirect
PyPIapache-airflow-providers-apache-beam5.8.0indirect
PyPIapache-airflow-providers-common-compat1.2.0indirect
PyPIapache-airflow-providers-common-io1.4.1indirect
PyPIapache-airflow-providers-common-sql1.25.0rc1indirect
PyPIapache-airflow-providers-fab1.4.0indirect
PyPIapache-airflow-providers-ftp3.11.1indirect
PyPIapache-airflow-providers-googleindirect
PyPIapache-airflow-providers-google10.23.0indirect
PyPIapache-airflow-providers-http4.13.1indirect
PyPIapache-airflow-providers-imap3.7.0indirect
PyPIapache-airflow-providers-smtp1.8.0indirect
PyPIapache-airflow-providers-sqlite3.9.0indirect
PyPIapache-beam2.59.0indirect
PyPIapispec6.6.1indirect
PyPIargcomplete3.5.1indirect
PyPIarrow1.3.0indirect
PyPIasgiref3.8.1indirect
PyPIasn1crypto1.5.1indirect
PyPIasttokens2.4.1indirect
PyPIastunparse1.6.3indirect
PyPIasync-timeout4.0.3indirect
PyPIasync-timeout5.0.1indirect
PyPIasyncsshindirect
PyPIattrs23.1.0indirect
PyPIattrs23.2.0indirect
PyPIattrs24.2.0indirect
PyPIautoflake2.3.1indirect
PyPIazure-core1.29.5indirect
PyPIazure-core1.30.0indirect
PyPIazure-core1.30.1indirect
PyPIazure-core1.31.0indirect
PyPIazure-datalake-store0.0.53indirect
PyPIazure-identity1.15.0indirect
PyPIazure-identity1.16.0indirect
PyPIazure-identity1.19.0indirect
PyPIazure-storage-blob12.19.0indirect
PyPIazure-storage-blob12.20.0indirect
PyPIazure-storage-blob12.23.1indirect
PyPIbabel2.16.0indirect
PyPIbackoff2.2.1indirect
PyPIbackports-tarfile1.2.0indirect
PyPIbinaryornot0.4.4indirect
PyPIblinker1.8.2indirect
PyPIboto3indirect
PyPIbotocore1.31.17indirect
PyPIbotocore1.34.106indirect
PyPIbotocore1.35.36indirect
PyPIcachelib0.9.0indirect
PyPIcattrs24.1.2indirect
PyPIcertifi2023.11.17indirect
PyPIcertifi2024.2.2indirect
PyPIcertifi2024.7.4indirect
PyPIcertifi2024.8.30indirect
PyPIcffi1.16.0indirect
PyPIcffi1.17.1indirect
PyPIcfgv3.4.0indirect
PyPIchardet5.2.0indirect
PyPIcharset-normalizer3.3.2indirect
PyPIcharset-normalizer3.4.0indirect
PyPIclickclick20.10.2indirect
PyPIcodespell2.3.0indirect
PyPIcolorama0.4.6indirect
PyPIcoloredlogs15.0.1indirect
PyPIcolorlog6.8.2indirect
PyPIcomet-mlindirect
PyPIcomm0.2.2indirect
PyPIconfigupdater3.2indirect
PyPIconnexion2.14.2indirect
PyPIcookiecutter2.4.0indirect
PyPIcookiecutter2.5.0indirect
PyPIcoverage7.5.3indirect
PyPIcrcmod1.7indirect
PyPIcron-descriptor1.4.5indirect
PyPIcryptography41.0.5indirect
PyPIcryptography42.0.2indirect
PyPIcryptography43.0.1indirect
PyPIdaskindirect
PyPIdatasetsindirect
PyPIdb-dtypes1.3.0indirect
PyPIdbt-coreindirect
PyPIdebugpy1.8.7indirect
PyPIdecorator5.1.1indirect
PyPIdeprecated1.2.14indirect
PyPIdill0.3.1.1indirect
PyPIdistlib0.3.8indirect
PyPIdnspython2.7.0indirect
PyPIdocker-image-py0.1.12indirect
PyPIdocopt0.6.2indirect
PyPIdocutils0.21.2indirect
PyPIdolt-integrationsindirect
PyPIduckdbindirect
PyPIemail-validator2.2.0indirect
PyPIenvdindirect
PyPIexceptiongroup1.1.3indirect
PyPIexceptiongroup1.2.0indirect
PyPIexceptiongroup1.2.2indirect
PyPIexceptiongroup1.3.1indirect
PyPIexecnet2.1.1indirect
PyPIexecuting2.0.1indirect
PyPIexecuting2.1.0indirect
PyPIfastavro1.9.7indirect
PyPIfasteners0.19indirect
PyPIfilelock3.13.1indirect
PyPIfilelock3.20.3indirect
PyPIflask2.2.5indirect
PyPIflask-appbuilder4.5.0indirect
PyPIflask-babel2.0.0indirect
PyPIflask-caching2.3.0indirect
PyPIflask-jwt-extended4.6.0indirect
PyPIflask-limiter3.8.0indirect
PyPIflask-login0.6.3indirect
PyPIflask-session0.5.0indirect
PyPIflask-sqlalchemy2.5.1indirect
PyPIflask-wtf1.2.1indirect
PyPIflatbuffers23.5.26indirect
PyPIflatbuffers25.12.19indirect
PyPIflatten-dictindirect
PyPIflytekitindirect
PyPIflytekit1.10.1indirect
PyPIflytekit1.10.3indirect
PyPIflytekit1.14.0b0indirect
PyPIfrozenlist1.4.0indirect
PyPIfrozenlist1.4.1indirect
PyPIgast0.7.0indirect
PyPIgcloud-aio-auth5.3.2indirect
PyPIgcloud-aio-bigquery7.1.0indirect
PyPIgcloud-aio-storage9.3.0indirect
PyPIgeopandasindirect
PyPIgitdb4.0.11indirect
PyPIgitpython3.1.40indirect
PyPIgoogle-ads25.0.0indirect
PyPIgoogle-analytics-admin0.23.0indirect
PyPIgoogle-api-core2.14.0indirect
PyPIgoogle-api-core2.16.2indirect
PyPIgoogle-api-core2.19.0indirect
PyPIgoogle-api-core2.21.0indirect
PyPIgoogle-api-core2.29.0indirect
PyPIgoogle-api-python-client2.149.0indirect
PyPIgoogle-apitools0.5.31indirect
PyPIgoogle-authindirect
PyPIgoogle-auth2.23.4indirect
PyPIgoogle-auth2.27.0indirect
PyPIgoogle-auth2.29.0indirect
PyPIgoogle-auth2.35.0indirect
PyPIgoogle-auth-httplib20.2.0indirect
PyPIgoogle-auth-oauthlib1.1.0indirect
PyPIgoogle-auth-oauthlib1.2.0indirect
PyPIgoogle-auth-oauthlib1.2.1indirect
PyPIgoogle-cloud-aiplatform1.70.0indirect
PyPIgoogle-cloud-appengine-logging1.4.5indirect
PyPIgoogle-cloud-audit-log0.3.0indirect
PyPIgoogle-cloud-automl2.13.5indirect
PyPIgoogle-cloud-batch0.17.29indirect
PyPIgoogle-cloud-bigqueryindirect
PyPIgoogle-cloud-bigquery3.23.1indirect
PyPIgoogle-cloud-bigquery3.26.0indirect
PyPIgoogle-cloud-bigquery-datatransfer3.16.0indirect
PyPIgoogle-cloud-bigquery-storageindirect
PyPIgoogle-cloud-bigquery-storage2.25.0indirect
PyPIgoogle-cloud-bigquery-storage2.26.0indirect
PyPIgoogle-cloud-bigtable2.26.0indirect
PyPIgoogle-cloud-build3.25.0indirect
PyPIgoogle-cloud-compute1.19.2indirect
PyPIgoogle-cloud-container2.52.0indirect
PyPIgoogle-cloud-core2.3.3indirect
PyPIgoogle-cloud-core2.4.1indirect
PyPIgoogle-cloud-datacatalog3.20.1indirect
PyPIgoogle-cloud-dataflow-client0.8.12indirect
PyPIgoogle-cloud-dataform0.5.11indirect
PyPIgoogle-cloud-dataplex2.2.2indirect
PyPIgoogle-cloud-dataproc5.13.0indirect
PyPIgoogle-cloud-dataproc-metastore1.15.5indirect
PyPIgoogle-cloud-datastore2.20.1indirect
PyPIgoogle-cloud-dlp3.23.0indirect
PyPIgoogle-cloud-kms3.0.0indirect
PyPIgoogle-cloud-language2.14.0indirect
PyPIgoogle-cloud-logging3.11.2indirect
PyPIgoogle-cloud-memcache1.9.5indirect
PyPIgoogle-cloud-monitoring2.22.2indirect
PyPIgoogle-cloud-orchestration-airflow1.14.0indirect
PyPIgoogle-cloud-os-login2.14.6indirect
PyPIgoogle-cloud-pubsub2.25.0indirect
PyPIgoogle-cloud-pubsublite1.11.1indirect
PyPIgoogle-cloud-recommendations-ai0.10.12indirect
PyPIgoogle-cloud-redis2.15.5indirect
PyPIgoogle-cloud-resource-manager1.12.5indirect
PyPIgoogle-cloud-run0.10.9indirect
PyPIgoogle-cloud-secret-managerindirect
PyPIgoogle-cloud-secret-manager2.20.2indirect
PyPIgoogle-cloud-spanner3.49.1indirect
PyPIgoogle-cloud-speech2.27.0indirect
PyPIgoogle-cloud-storage2.13.0indirect
PyPIgoogle-cloud-storage2.14.0indirect
PyPIgoogle-cloud-storage2.16.0indirect
PyPIgoogle-cloud-storage2.18.2indirect
PyPIgoogle-cloud-storage-control1.10.0indirect
PyPIgoogle-cloud-storage-transfer1.12.0indirect
PyPIgoogle-cloud-tasks2.16.5indirect
PyPIgoogle-cloud-texttospeech2.18.0indirect
PyPIgoogle-cloud-translate3.16.0indirect
PyPIgoogle-cloud-videointelligence2.13.5indirect
PyPIgoogle-cloud-vision3.7.4indirect
PyPIgoogle-cloud-workflows1.14.5indirect
PyPIgoogle-crc32c1.5.0indirect
PyPIgoogle-crc32c1.6.0indirect
PyPIgoogle-pasta0.2.0indirect
PyPIgoogle-re2indirect
PyPIgoogle-re21.1.20240702indirect
PyPIgoogle-resumable-media2.6.0indirect
PyPIgoogle-resumable-media2.7.0indirect
PyPIgoogle-resumable-media2.7.2indirect
PyPIgreat-expectationsindirect
PyPIgreat-tablesindirect
PyPIgreenlet3.1.1indirect
PyPIgrpc-google-iam-v10.13.1indirect
PyPIgrpc-google-iam-v10.14.3indirect
PyPIgrpc-interceptor0.15.4indirect
PyPIgrpcio-gcp0.2.2indirect
PyPIgrpcio-health-checkingindirect
PyPIgrpcio-health-checking1.62.3indirect
PyPIgunicorn23.0.0indirect
PyPIh110.14.0indirect
PyPIh110.16.0indirect
PyPIh5py3.15.1indirect
PyPIhdfs2.7.3indirect
PyPIhttpcore1.0.6indirect
PyPIhttpcore1.0.9indirect
PyPIhttplib20.22.0indirect
PyPIhttpx0.27.2indirect
PyPIhttpx0.28.1indirect
PyPIhumanfriendly10.0indirect
PyPIhypothesis6.103.0indirect
PyPIicdiff2.0.7indirect
PyPIidentify2.5.36indirect
PyPIidna3.10indirect
PyPIidna3.4indirect
PyPIidna3.6indirect
PyPIidna3.7indirect
PyPIimmutabledict4.2.0indirect
PyPIimportlib-resources6.1.1indirect
PyPIimportlib-resources6.4.5indirect
PyPIinflection0.5.1indirect
PyPIiniconfig2.0.0indirect
PyPIipykernelindirect
PyPIipykernel6.29.5indirect
PyPIipython8.25.0indirect
PyPIipython8.28.0indirect
PyPIisodate0.6.1indirect
PyPIitsdangerous2.2.0indirect
PyPIjaraco-classes3.3.0indirect
PyPIjaraco-classes3.4.0indirect
PyPIjaraco-context5.3.0indirect
PyPIjaraco-context6.0.1indirect
PyPIjaraco-functools4.0.1indirect
PyPIjaraco-functools4.1.0indirect
PyPIjedi0.19.1indirect
PyPIjeepney0.8.0indirect
PyPIjinja23.1.2indirect
PyPIjinja23.1.3indirect
PyPIjinja23.1.6indirect
PyPIjmespath1.0.1indirect
PyPIjs2py0.74indirect
PyPIjson-merge-patch0.2indirect
PyPIjsonschema4.23.0indirect
PyPIjsonschema-specifications2024.10.1indirect
PyPIjupyterindirect
PyPIjupyter-client8.6.3indirect
PyPIjupyter-core5.7.2indirect
PyPIkeras2.15.0indirect
PyPIkeyrings-alt5.0.1indirect
PyPIkubernetesindirect
PyPIkubernetes28.1.0indirect
PyPIkubernetes29.0.0indirect
PyPIlazy-object-proxy1.10.0indirect
PyPIleptonaiindirect
PyPIlibclang18.1.1indirect
PyPIlimits3.13.0indirect
PyPIlinkify-it-py2.0.3indirect
PyPIlockfile0.12.2indirect
PyPIlooker-sdk24.18.0indirect
PyPImako1.3.5indirect
PyPImarkdown3.10.1indirect
PyPImarkupsafe2.1.3indirect
PyPImarkupsafe2.1.5indirect
PyPImarkupsafe3.0.1indirect
PyPImarkupsafe3.0.3indirect
PyPImarshmallow-oneofschema3.1.1indirect
PyPImarshmallow-sqlalchemy0.28.2indirect
PyPImatplotlib-inline0.1.7indirect
PyPImdit-py-plugins0.4.2indirect
PyPImdurl0.1.2indirect
PyPImemrayindirect
PyPImethodtools0.4.7indirect
PyPIml-dtypes0.3.2indirect
PyPImlflowindirect
PyPImock5.1.0indirect
PyPImore-itertools10.1.0indirect
PyPImore-itertools10.2.0indirect
PyPImore-itertools10.5.0indirect
PyPImpmath1.3.0indirect
PyPImsal1.25.0indirect
PyPImsal1.26.0indirect
PyPImsal1.28.0indirect
PyPImsal1.31.0indirect
PyPImsal-extensions1.0.0indirect
PyPImsal-extensions1.1.0indirect
PyPImsal-extensions1.2.0indirect
PyPImultidict6.0.4indirect
PyPImultidict6.0.5indirect
PyPImultidict6.1.0indirect
PyPImypy1.6.1indirect
PyPImypy-extensions1.0.0indirect
PyPInatsort8.4.0indirect
PyPInbconvertindirect
PyPIneptune-scaleindirect
PyPInest-asyncio1.6.0indirect
PyPInetworkxindirect
PyPInetworkx3.1indirect
PyPInodeenv1.9.0indirect
PyPInumpyindirect
PyPInumpy1.23.5indirect
PyPInumpy1.24.4indirect
PyPInumpy1.26.4indirect
PyPInumpy2.1.2indirect
PyPInvidia-cublas-cu1212.1.3.1indirect
PyPInvidia-cuda-cupti-cu1212.1.105indirect
PyPInvidia-cuda-nvrtc-cu1212.1.105indirect
PyPInvidia-cuda-runtime-cu1212.1.105indirect
PyPInvidia-cudnn-cu128.9.2.26indirect
PyPInvidia-cufft-cu1211.0.2.54indirect
PyPInvidia-curand-cu1210.3.2.106indirect
PyPInvidia-cusolver-cu1211.4.5.107indirect
PyPInvidia-cusparse-cu1212.1.0.106indirect
PyPInvidia-nccl-cu122.18.1indirect
PyPInvidia-nvjitlink-cu1212.3.101indirect
PyPInvidia-nvtx-cu1212.1.105indirect
PyPIoauth2client4.1.3indirect
PyPIoauthlib3.2.2indirect
PyPIobjsize0.7.0indirect
PyPIomegaconfindirect
PyPIonnxindirect
PyPIonnx-pytorchindirect
PyPIonnxruntime1.16.1indirect
PyPIonnxscriptindirect
PyPIopenaiindirect
PyPIopentelemetry-api1.16.0indirect
PyPIopentelemetry-exporter-otlp1.16.0indirect
PyPIopentelemetry-exporter-otlp-proto-grpc1.16.0indirect
PyPIopentelemetry-exporter-otlp-proto-http1.16.0indirect
PyPIopentelemetry-proto1.16.0indirect
PyPIopentelemetry-sdk1.16.0indirect
PyPIopentelemetry-semantic-conventions0.37b0indirect
PyPIopt-einsum3.4.0indirect
PyPIoptunaindirect
PyPIordered-set4.1.0indirect
PyPIorjson3.10.3indirect
PyPIorjson3.10.7indirect
PyPIoverrides7.7.0indirect
PyPIpackaging23.1indirect
PyPIpackaging23.2indirect
PyPIpackaging24.0indirect
PyPIpackaging24.1indirect
PyPIpandasindirect
PyPIpandas1.5.3indirect
PyPIpandas2.0.3indirect
PyPIpandas2.1.4indirect
PyPIpandas2.2.2indirect
PyPIpandas-gbq0.23.2indirect
PyPIpanderaindirect
PyPIpapermillindirect
PyPIparso0.8.4indirect
PyPIpathspec0.12.1indirect
PyPIpendulum3.0.0indirect
PyPIperianindirect
PyPIpexpect4.9.0indirect
PyPIpillow10.3.0indirect
PyPIpillow10.4.0indirect
PyPIpillow12.2.0indirect
PyPIplatformdirs3.11.0indirect
PyPIplatformdirs4.2.2indirect
PyPIplotlyindirect
PyPIpluggy1.3.0indirect
PyPIpluggy1.5.0indirect
PyPIpolarsindirect
PyPIportalocker2.10.1indirect
PyPIportalocker2.8.2indirect
PyPIpprintpp0.4.0indirect
PyPIpre-commit3.7.1indirect
PyPIprison0.2.1indirect
PyPIprometheus-client0.20.0indirect
PyPIprometheus-client0.24.1indirect
PyPIprompt-toolkit3.0.45indirect
PyPIprompt-toolkit3.0.48indirect
PyPIpropcache0.2.0indirect
PyPIpropcache0.2.1indirect
PyPIproto-plus1.23.0indirect
PyPIproto-plus1.24.0indirect
PyPIprotoc-gen-openapiv20.0.1indirect
PyPIprotoc-gen-swagger0.1.0indirect
PyPIpsutil6.0.0indirect
PyPIpsutil6.1.0indirect
PyPIptyprocess0.7.0indirect
PyPIpure-eval0.2.2indirect
PyPIpure-eval0.2.3indirect
PyPIpy4j0.10.9.7indirect
PyPIpyarrow10.0.1indirect
PyPIpyarrow15.0.0indirect
PyPIpyarrow16.1.0indirect
PyPIpyarrow-hotfix0.6indirect
PyPIpyasn10.5.1indirect
PyPIpyasn10.6.0indirect
PyPIpyasn10.6.1indirect
PyPIpyasn10.6.2indirect
PyPIpyasn1-modules0.3.0indirect
PyPIpyasn1-modules0.4.0indirect
PyPIpyasn1-modules0.4.1indirect
PyPIpybars30.9.7indirect
PyPIpycparser2.21indirect
PyPIpycparser2.22indirect
PyPIpydanticindirect
PyPIpydantic2.9.2indirect
PyPIpydantic-core2.23.4indirect
PyPIpydata-google-auth1.8.2indirect
PyPIpydot1.4.2indirect
PyPIpyflakes3.2.0indirect
PyPIpyjsparser2.7.1indirect
PyPIpyjwt2.11.0indirect
PyPIpyjwt2.8.0indirect
PyPIpyjwt2.9.0indirect
PyPIpymeta30.5.1indirect
PyPIpymongo4.10.1indirect
PyPIpyopenssl23.3.0indirect
PyPIpyopenssl24.2.1indirect
PyPIpyparsing3.1.4indirect
PyPIpysparkindirect
PyPIpyspark3.3.2indirect
PyPIpyspark3.5.0indirect
PyPIpytest7.4.0indirect
PyPIpytest7.4.3indirect
PyPIpytest8.2.1indirect
PyPIpytest-asyncioindirect
PyPIpytest-asyncio0.21.1indirect
PyPIpytest-asyncio0.23.7indirect
PyPIpytest-cov5.0.0indirect
PyPIpytest-icdiff0.9indirect
PyPIpytest-mock3.14.0indirect
PyPIpytest-timeout2.3.1indirect
PyPIpytest-xdist3.6.1indirect
PyPIpython-daemon3.0.1indirect
PyPIpython-dateutil2.8.2indirect
PyPIpython-dateutil2.9.0.post0indirect
PyPIpython-magic0.4.27indirect
PyPIpython-nvd30.16.0indirect
PyPIpython-slugify8.0.1indirect
PyPIpython-slugify8.0.3indirect
PyPIpython-slugify8.0.4indirect
PyPIpytz2023.3.post1indirect
PyPIpytz2024.1indirect
PyPIpytz2024.2indirect
PyPIpywin32311indirect
PyPIpywin32-ctypes0.2.3indirect
PyPIpyzmq26.2.0indirect
PyPIrayindirect
PyPIredis5.1.1indirect
PyPIreferencing0.35.1indirect
PyPIregex2023.10.3indirect
PyPIregex2024.9.11indirect
PyPIrequests-oauthlib1.3.1indirect
PyPIrequests-oauthlib2.0.0indirect
PyPIrequests-toolbelt1.0.0indirect
PyPIrfc3339-validator0.1.4indirect
PyPIrich-argparse1.5.2indirect
PyPIrpds-py0.20.0indirect
PyPIrsa4.9indirect
PyPIscikit-learn1.5.0indirect
PyPIscipy1.13.1indirect
PyPIscipy1.14.1indirect
PyPIsecretstorage3.3.3indirect
PyPIsetproctitle1.3.3indirect
PyPIsetuptools-scm8.1.0indirect
PyPIshapely2.0.6indirect
PyPIsix1.16.0indirect
PyPIskl2onnxindirect
PyPIsmmap5.0.1indirect
PyPIsniffio1.3.1indirect
PyPIsnowflake-connector-pythonindirect
PyPIsnowflake-connector-python3.13.1indirect
PyPIsortedcontainers2.4.0indirect
PyPIsqlalchemyindirect
PyPIsqlalchemy1.4.54indirect
PyPIsqlalchemy-bigquery1.12.0indirect
PyPIsqlalchemy-jsonfield1.0.2indirect
PyPIsqlalchemy-spannerindirect
PyPIsqlalchemy-spanner1.7.0indirect
PyPIsqlalchemy-utils0.41.2indirect
PyPIsqlparse0.5.4indirect
PyPIstack-data0.6.3indirect
PyPIsympy1.12indirect
PyPItabulate0.9.0indirect
PyPItenacity9.0.0indirect
PyPItensorboard2.15.2indirect
PyPItensorboard-data-server0.7.2indirect
PyPItensorflowindirect
PyPItensorflow2.15.1indirect
PyPItensorflow-estimator2.15.0indirect
PyPItensorflow-io-gcs-filesystem0.37.1indirect
PyPItermcolor2.5.0indirect
PyPItermcolor3.3.0indirect
PyPItext-unidecode1.3indirect
PyPItf2onnxindirect
PyPIthreadpoolctl3.5.0indirect
PyPItime-machine2.16.0indirect
PyPItomli2.0.1indirect
PyPItomli2.4.0indirect
PyPItomlkit0.13.2indirect
PyPItorchindirect
PyPItorch1.12.1indirect
PyPItorch2.1.0indirect
PyPItorchvision0.16.0indirect
PyPItornado6.4.1indirect
PyPItraitlets5.14.3indirect
PyPItriton2.1.0indirect
PyPItypes-cachetools6.2.0.20251022indirect
PyPItypes-croniter2.0.0.20240423indirect
PyPItypes-decorator5.1.8.20240310indirect
PyPItypes-mock5.1.0.20240425indirect
PyPItypes-protobuf4.25.0.20240417indirect
PyPItypes-python-dateutil2.8.19.14indirect
PyPItypes-python-dateutil2.8.19.20240106indirect
PyPItypes-requests2.32.0.20240523indirect
PyPItyping-inspect0.9.0indirect
PyPItzdata2023.4indirect
PyPItzdata2024.1indirect
PyPItzdata2024.2indirect
PyPItzlocal5.3.1indirect
PyPIuc-micro-py1.0.3indirect
PyPIuniversal-pathlib0.2.5indirect
PyPIuritemplate4.1.1indirect
PyPIvaex-coreindirect
PyPIvirtualenv20.36.1indirect
PyPIwandbindirect
PyPIwcwidth0.2.13indirect
PyPIwebsocket-client1.6.4indirect
PyPIwebsocket-client1.7.0indirect
PyPIwebsocket-client1.8.0indirect
PyPIwerkzeug2.2.3indirect
PyPIwerkzeug3.1.5indirect
PyPIwerkzeug3.1.6indirect
PyPIwheel0.41.3indirect
PyPIwheel0.46.3indirect
PyPIwhylabs-client0.6.10indirect
PyPIwhylogsindirect
PyPIwhylogs1.5.1indirect
PyPIwhylogs-sketching3.4.1.dev3indirect
PyPIwirerope0.4.7indirect
PyPIwrapt1.14.2indirect
PyPIwrapt1.16.0indirect
PyPIwtforms3.1.2indirect
PyPIxarrayindirect
PyPIxxhashindirect
PyPIyarl1.14.0indirect
PyPIyarl1.17.2indirect
PyPIyarl1.18.3indirect
PyPIyarl1.9.3indirect
PyPIyarl1.9.4indirect
PyPIzarrindirect
PyPIzipp3.17.0indirect
PyPIzipp3.19.1indirect
PyPIzipp3.20.2indirect
PyPIzipp3.21.0indirect
PyPIzstandard0.23.0indirect
Dependency advisories 97

This repository publishes no package the index resolves, so its own dependency graph was assessed — 669 packages, which also include development and test pins that never ship: 97 carry known advisories, of which 28 are direct. 71 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
aiohttp3.10.10indirectcritical643.14.1
aiohttp3.10.11indirectcritical603.14.1
aiohttp3.13.3indirectcritical423.14.1
aiohttp3.9.0indirectcritical703.14.1
aiohttp3.9.3indirectcritical663.14.1
apache-airflow2.10.3indirectcritical433.2.1rc1
click8.1.7directhigh18.3.3
click8.3.1directhigh18.3.3
msgpack1.1.0directhigh11.2.1
msgpack1.1.2directhigh11.2.1
protobuf4.24.4directhigh46.33.5
protobuf4.25.0directhigh46.33.5
protobuf4.25.5directhigh46.33.5
protobuf4.25.8directhigh26.33.5
protobuf5.28.2directhigh46.33.5
setuptools69.5.1directhigh683.0.0
urllib31.26.18directhigh122.7.0
urllib32.0.7directhigh122.7.0
urllib32.2.1directhigh142.7.0
urllib32.2.3directhigh122.7.0
urllib32.6.3directhigh42.7.0
pyasn10.5.1indirecthigh40.6.4
pyasn10.6.0indirecthigh40.6.4
pyasn10.6.1indirecthigh60.6.4
pyasn10.6.2indirecthigh40.6.4
diskcache5.6.3directmoderate2
marshmallow3.20.1directmoderate24.1.2
marshmallow3.20.2directmoderate24.1.2
marshmallow3.21.2directmoderate24.1.2
marshmallow3.22.0directmoderate24.1.2
requests2.31.0directmoderate62.33.0
requests2.32.2directmoderate42.33.0
requests2.32.3directmoderate42.33.0
requests2.32.5directmoderate22.33.0
idna3.10indirectmoderate23.15
idna3.4indirectmoderate43.15
idna3.6indirectmoderate43.15
idna3.7indirectmoderate23.15
pytest7.4.0indirectmoderate29.0.3
pytest7.4.3indirectmoderate29.0.3
pytest8.2.1indirectmoderate29.0.3
pygments2.17.1directlow22.20.0
pygments2.17.2directlow22.20.0
pygments2.18.0directlow22.20.0
pygments2.19.2directlow22.20.0
apache-airflow-providers-fab1.4.0indirectunknown4
apache-airflow-providers-ftp3.11.1indirectunknown1
apache-airflow-providers-google10.23.0indirectunknown3
apache-airflow-providers-http4.13.1indirectunknown2
azure-core1.29.5indirectunknown2
azure-core1.30.0indirectunknown2
azure-core1.30.1indirectunknown2
azure-core1.31.0indirectunknown2
azure-identity1.15.0indirectunknown2
azure-identity1.16.0indirectunknown2
certifi2023.11.17indirectunknown2
certifi2024.2.2indirectunknown2
cryptography41.0.5indirectunknown14
cryptography42.0.2indirectunknown10
cryptography43.0.1indirectunknown7
filelock3.13.1indirectunknown4
flask2.2.5indirectunknown2
flask-appbuilder4.5.0indirectunknown8
gitpython3.1.40indirectunknown13
google-cloud-aiplatform1.70.0indirectunknown2
h110.14.0indirectunknown2
httplib20.22.0indirectunknown1
jaraco-context5.3.0indirectunknown2
jaraco-context6.0.1indirectunknown2
jinja23.1.2indirectunknown10
jinja23.1.3indirectunknown8
js2py0.74indirectunknown2
jupyter-core5.7.2indirectunknown2
keras2.15.0indirectunknown10
mako1.3.5indirectunknown4
orjson3.10.3indirectunknown2
orjson3.10.7indirectunknown2
pillow10.3.0indirectunknown29
pillow10.4.0indirectunknown29
pillow12.2.0indirectunknown21
pyarrow10.0.1indirectunknown3
pyarrow15.0.0indirectunknown3
pyarrow16.1.0indirectunknown3
pyjwt2.11.0indirectunknown12
pyjwt2.8.0indirectunknown11
pyjwt2.9.0indirectunknown13
pyopenssl23.3.0indirectunknown4
pyopenssl24.2.1indirectunknown4
pyspark3.3.2indirectunknown3
pyspark3.5.0indirectunknown2
torch1.12.1indirectunknown30
torch2.1.0indirectunknown28
tornado6.4.1indirectunknown22
werkzeug2.2.3indirectunknown14
werkzeug3.1.5indirectunknown2
wheel0.41.3indirectunknown2
zipp3.17.0indirectunknown2

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "flyte",
        "flyte-tasks",
        "pypi",
        "spark",
        "workflows",
        "sdk",
        "python",
        "mlops",
        "extensible",
        "automation",
        "data-science",
        "data",
        "hacktoberfest"
      ],
      "is_fork": false,
      "size_kb": 43731,
      "has_wiki": false,
      "homepage": "https://docs.flyte.org/en/latest/api/flytekit/docs_index.html",
      "languages": {
        "CSS": 699,
        "HTML": 3458,
        "Shell": 9209,
        "Python": 5901848,
        "Makefile": 6277,
        "Dockerfile": 6593
      },
      "pushed_at": "2026-07-21T17:19:07Z",
      "created_at": "2019-08-21T17:38:38Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T17:19:14Z",
      "description": "Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible. ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "master",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": "https://flyte.org",
      "name": "Flyte",
      "type": "Organization",
      "login": "flyteorg",
      "company": null,
      "location": null,
      "followers": 338,
      "avatar_url": "https://avatars.githubusercontent.com/u/35380635?v=4",
      "created_at": "2018-01-12T18:57:57Z",
      "is_verified": null,
      "public_repos": 49,
      "account_age_days": 3112
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": null,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.16.26",
          "kind": "patch",
          "published_at": "2026-07-16T16:54:54Z"
        },
        {
          "tag": "v1.16.25",
          "kind": "patch",
          "published_at": "2026-07-07T18:01:45Z"
        },
        {
          "tag": "v1.16.24",
          "kind": "patch",
          "published_at": "2026-06-23T06:38:14Z"
        },
        {
          "tag": "v1.16.23",
          "kind": "patch",
          "published_at": "2026-06-02T06:11:40Z"
        },
        {
          "tag": "v1.16.22",
          "kind": "patch",
          "published_at": "2026-05-28T17:55:07Z"
        },
        {
          "tag": "v1.16.21",
          "kind": "patch",
          "published_at": "2026-05-18T21:19:21Z"
        },
        {
          "tag": "v1.16.21b0",
          "kind": "other",
          "published_at": "2026-05-18T20:29:23Z"
        },
        {
          "tag": "v1.16.20",
          "kind": "patch",
          "published_at": "2026-05-04T17:54:00Z"
        },
        {
          "tag": "v1.16.19",
          "kind": "patch",
          "published_at": "2026-04-13T19:50:02Z"
        },
        {
          "tag": "v1.16.18",
          "kind": "patch",
          "published_at": "2026-04-13T19:28:30Z"
        },
        {
          "tag": "v1.16.17",
          "kind": "patch",
          "published_at": "2026-04-10T22:46:51Z"
        },
        {
          "tag": "v1.16.16",
          "kind": "patch",
          "published_at": "2026-04-03T16:07:25Z"
        },
        {
          "tag": "v1.16.15",
          "kind": "patch",
          "published_at": "2026-03-11T03:59:37Z"
        },
        {
          "tag": "v1.16.14",
          "kind": "patch",
          "published_at": "2026-02-13T18:11:13Z"
        },
        {
          "tag": "v1.16.13",
          "kind": "patch",
          "published_at": "2026-02-11T21:09:21Z"
        },
        {
          "tag": "v1.16.12",
          "kind": "patch",
          "published_at": "2026-01-09T19:59:55Z"
        },
        {
          "tag": "v1.16.12a0",
          "kind": "other",
          "published_at": "2025-12-24T21:54:34Z"
        },
        {
          "tag": "v1.16.11",
          "kind": "patch",
          "published_at": "2025-12-06T01:07:56Z"
        },
        {
          "tag": "v1.16.10",
          "kind": "patch",
          "published_at": "2025-11-25T05:17:36Z"
        },
        {
          "tag": "v1.16.9",
          "kind": "patch",
          "published_at": "2025-11-03T23:24:00Z"
        },
        {
          "tag": "v1.16.8",
          "kind": "patch",
          "published_at": "2025-10-29T01:45:53Z"
        },
        {
          "tag": "v1.16.7",
          "kind": "patch",
          "published_at": "2025-10-28T17:35:02Z"
        },
        {
          "tag": "v1.16.6",
          "kind": "patch",
          "published_at": "2025-10-21T16:34:01Z"
        },
        {
          "tag": "v1.16.5",
          "kind": "patch",
          "published_at": "2025-09-25T19:13:58Z"
        },
        {
          "tag": "v1.16.4",
          "kind": "patch",
          "published_at": "2025-09-13T00:58:36Z"
        },
        {
          "tag": "v1.16.3",
          "kind": "patch",
          "published_at": "2025-07-17T18:55:42Z"
        },
        {
          "tag": "v1.16.2",
          "kind": "patch",
          "published_at": "2025-07-16T17:54:17Z"
        },
        {
          "tag": "v1.16.2b1",
          "kind": "other",
          "published_at": "2025-07-07T20:31:25Z"
        },
        {
          "tag": "v1.16.2b0",
          "kind": "other",
          "published_at": "2025-06-30T20:48:20Z"
        },
        {
          "tag": "v1.14.9",
          "kind": "patch",
          "published_at": "2025-06-23T20:40:17Z"
        },
        {
          "tag": "v1.16.1",
          "kind": "patch",
          "published_at": "2025-06-10T16:12:58Z"
        },
        {
          "tag": "v1.16.1b0",
          "kind": "other",
          "published_at": "2025-06-03T18:11:14Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2025-05-30T22:38:07Z"
        },
        {
          "tag": "v1.14.8",
          "kind": "patch",
          "published_at": "2025-04-23T06:56:53Z"
        },
        {
          "tag": "v1.15.4",
          "kind": "patch",
          "published_at": "2025-04-22T23:05:25Z"
        },
        {
          "tag": "v1.16.0b7",
          "kind": "other",
          "published_at": "2025-04-21T17:50:25Z"
        },
        {
          "tag": "v1.16.0b6",
          "kind": "other",
          "published_at": "2025-04-10T19:59:10Z"
        },
        {
          "tag": "1.16.0b5",
          "kind": "other",
          "published_at": "2025-04-10T10:45:48Z"
        },
        {
          "tag": "1.16.0b4",
          "kind": "other",
          "published_at": "2025-04-10T03:50:04Z"
        },
        {
          "tag": "v1.16.0b3",
          "kind": "other",
          "published_at": "2025-04-09T01:08:36Z"
        },
        {
          "tag": "1.16.0b2",
          "kind": "other",
          "published_at": "2025-04-08T22:01:42Z"
        },
        {
          "tag": "1.16.0b1",
          "kind": "other",
          "published_at": "2025-03-28T09:57:06Z"
        },
        {
          "tag": "1.16.0b0",
          "kind": "other",
          "published_at": "2025-03-17T21:08:41Z"
        },
        {
          "tag": "v1.15.3",
          "kind": "patch",
          "published_at": "2025-03-14T20:27:47Z"
        },
        {
          "tag": "v1.15.2",
          "kind": "patch",
          "published_at": "2025-03-10T23:52:34Z"
        },
        {
          "tag": "v1.15.1",
          "kind": "patch",
          "published_at": "2025-03-07T21:19:38Z"
        },
        {
          "tag": "v1.15.1b0",
          "kind": "other",
          "published_at": "2025-02-28T14:58:25Z"
        },
        {
          "tag": "v1.14.7",
          "kind": "patch",
          "published_at": "2025-02-25T18:42:05Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2025-02-15T01:57:36Z"
        },
        {
          "tag": "v1.15.0b5",
          "kind": "other",
          "published_at": "2025-02-13T21:37:23Z"
        },
        {
          "tag": "v1.15.0b4",
          "kind": "other",
          "published_at": "2025-02-12T04:38:36Z"
        },
        {
          "tag": "v1.15.0b3",
          "kind": "other",
          "published_at": "2025-02-11T01:51:24Z"
        },
        {
          "tag": "v1.15.0b2",
          "kind": "other",
          "published_at": "2025-02-05T18:10:43Z"
        },
        {
          "tag": "v1.14.6",
          "kind": "patch",
          "published_at": "2025-01-25T01:20:58Z"
        },
        {
          "tag": "v1.14.5",
          "kind": "patch",
          "published_at": "2025-01-24T01:08:21Z"
        },
        {
          "tag": "v1.15.0b1",
          "kind": "other",
          "published_at": "2025-01-23T15:46:04Z"
        },
        {
          "tag": "v1.14.4",
          "kind": "patch",
          "published_at": "2025-01-13T20:44:43Z"
        },
        {
          "tag": "v1.15.0b0",
          "kind": "other",
          "published_at": "2025-01-02T20:47:09Z"
        },
        {
          "tag": "v1.14.3",
          "kind": "patch",
          "published_at": "2024-12-26T22:42:11Z"
        },
        {
          "tag": "v1.14.2",
          "kind": "patch",
          "published_at": "2024-12-17T17:12:19Z"
        },
        {
          "tag": "v1.14.1",
          "kind": "patch",
          "published_at": "2024-12-16T20:08:59Z"
        },
        {
          "tag": "v1.15.0a1",
          "kind": "other",
          "published_at": "2024-12-11T17:13:02Z"
        },
        {
          "tag": "v1.15.0a0",
          "kind": "other",
          "published_at": "2024-12-10T19:51:19Z"
        },
        {
          "tag": "v1.13.15",
          "kind": "patch",
          "published_at": "2024-12-09T20:09:44Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2024-12-06T23:33:07Z"
        },
        {
          "tag": "v1.13.14",
          "kind": "patch",
          "published_at": "2024-11-22T22:16:28Z"
        },
        {
          "tag": "v1.14.0b6",
          "kind": "other",
          "published_at": "2024-11-07T19:02:52Z"
        },
        {
          "tag": "v1.13.13",
          "kind": "patch",
          "published_at": "2024-11-05T22:33:57Z"
        },
        {
          "tag": "v1.14.0b5",
          "kind": "other",
          "published_at": "2024-11-04T15:14:22Z"
        },
        {
          "tag": "v1.13.12",
          "kind": "patch",
          "published_at": "2024-10-31T00:34:22Z"
        },
        {
          "tag": "v1.14.0b4",
          "kind": "other",
          "published_at": "2024-10-29T00:29:06Z"
        },
        {
          "tag": "v1.13.11",
          "kind": "patch",
          "published_at": "2024-10-23T17:10:26Z"
        },
        {
          "tag": "v1.14.0b3",
          "kind": "other",
          "published_at": "2024-10-23T00:32:47Z"
        },
        {
          "tag": "v1.13.10",
          "kind": "patch",
          "published_at": "2024-10-23T00:50:20Z"
        },
        {
          "tag": "v1.14.0b2",
          "kind": "other",
          "published_at": "2024-10-17T23:45:54Z"
        },
        {
          "tag": "v1.13.9",
          "kind": "patch",
          "published_at": "2024-10-17T01:18:14Z"
        },
        {
          "tag": "v1.14.0b1",
          "kind": "other",
          "published_at": "2024-10-12T01:31:13Z"
        },
        {
          "tag": "v1.13.8",
          "kind": "patch",
          "published_at": "2024-10-08T19:06:43Z"
        },
        {
          "tag": "v1.14.0b0",
          "kind": "other",
          "published_at": "2024-10-02T19:51:18Z"
        },
        {
          "tag": "v1.13.7",
          "kind": "patch",
          "published_at": "2024-10-02T16:22:58Z"
        },
        {
          "tag": "v1.13.6",
          "kind": "patch",
          "published_at": "2024-10-01T14:35:24Z"
        },
        {
          "tag": "v1.13.6b2",
          "kind": "other",
          "published_at": "2024-09-18T21:22:25Z"
        },
        {
          "tag": "v1.13.6b1",
          "kind": "other",
          "published_at": "2024-09-18T17:19:36Z"
        },
        {
          "tag": "v1.13.6b0",
          "kind": "other",
          "published_at": "2024-09-16T17:05:10Z"
        },
        {
          "tag": "v1.13.5",
          "kind": "patch",
          "published_at": "2024-08-28T19:44:09Z"
        },
        {
          "tag": "v1.13.4",
          "kind": "patch",
          "published_at": "2024-08-15T18:48:43Z"
        },
        {
          "tag": "v1.13.3",
          "kind": "patch",
          "published_at": "2024-08-08T22:54:32Z"
        },
        {
          "tag": "v1.13.2",
          "kind": "patch",
          "published_at": "2024-08-02T20:57:02Z"
        },
        {
          "tag": "v1.13.2b1",
          "kind": "other",
          "published_at": "2024-08-01T20:07:17Z"
        },
        {
          "tag": "v1.13.2b0",
          "kind": "other",
          "published_at": "2024-07-29T20:51:06Z"
        },
        {
          "tag": "v1.13.1",
          "kind": "patch",
          "published_at": "2024-07-29T17:23:12Z"
        },
        {
          "tag": "v1.13.1a5",
          "kind": "other",
          "published_at": "2024-07-29T11:14:06Z"
        },
        {
          "tag": "v1.13.1a4",
          "kind": "other",
          "published_at": "2024-07-29T07:05:19Z"
        },
        {
          "tag": "v1.13.1a3",
          "kind": "other",
          "published_at": "2024-07-26T17:51:13Z"
        },
        {
          "tag": "v1.13.1a2",
          "kind": "other",
          "published_at": "2024-07-19T17:20:24Z"
        },
        {
          "tag": "v1.13.1a1",
          "kind": "other",
          "published_at": "2024-07-19T00:46:19Z"
        },
        {
          "tag": "v1.13.1a0",
          "kind": "other",
          "published_at": "2024-07-10T06:10:14Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2024-07-03T21:16:36Z"
        },
        {
          "tag": "v1.12.3",
          "kind": "patch",
          "published_at": "2024-06-17T22:51:08Z"
        },
        {
          "tag": "v1.12.3-b0",
          "kind": "prerelease",
          "published_at": "2024-06-14T18:08:10Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "ca59398f59e06882594c5e75e76c5a71f047c030",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "[Feat] add sleep plugins and examples (#3446)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2026-07-21T17:19:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "124d99cc88da463526a88e6470ba6733abb281dc",
          "body": "…less) (#3427)\n\n* Add AWS EMR Serverless connector plugin (flytekitplugins-awsemrserverless)\n\nAdds a new plugin that lets Flyte tasks run Spark and Hive jobs on AWS EMR\nServerless via an async connector. Three task modes are supported:\n\n- Pythonic Spark: regular @task body, packaged and uploaded to \n[…]\nignore this file.\n\nSigned-off-by: Rohit Sharma <rohitrsh@gmail.com>\nMade-with: Cursor\n\n---------\n\nSigned-off-by: Rohit Sharma <rohitrsh@gmail.com>\nCo-authored-by: Samhita Alla <aallasamhita@gmail.com>",
          "is_bot": false,
          "headline": "Add AWS EMR Serverless connector plugin (flytekitplugins-awsemrserver…",
          "author_name": "Rohit Sharma",
          "author_login": "rohitrsh",
          "committed_at": "2026-07-09T06:54:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f34c5daeb2377b344975f60cb52e419e08742500",
          "body": "Signed-off-by: Jason Parraga <sovietaced@gmail.com>",
          "is_bot": false,
          "headline": "Use fixed flytectl-setup-action (#3451)",
          "author_name": "Jason Parraga",
          "author_login": "Sovietaced",
          "committed_at": "2026-07-08T04:29:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2b2e45126ce5b8c0970dd10cc927e08437a354e",
          "body": "…t port (#3450)\n\nSigned-off-by: Jeev B <jeevb@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(interactive): pin PORT env var so code-server binds to the correc…",
          "author_name": "Jeev B",
          "author_login": "jeevb",
          "committed_at": "2026-07-07T18:00:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "952709151e1bf5baf0613994ccad6d99f6f6edaf",
          "body": "…ue (#3439)\n\n* fix: EnumTransformer.to_literal accepts a string matching an enum value\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n* Address review feedback\n\n- Simplify EnumTransformer.to_literal: unify the enum/string paths through\n  a single value extraction\n- UnionTransformer: replace the str-s\n[…]\nmment is now a single line.\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n---------\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: EnumTransformer.to_literal accepts a string matching an enum val…",
          "author_name": "Stefan Wang",
          "author_login": "1fanwang",
          "committed_at": "2026-07-01T02:52:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1acfad533f566368a99175cb44f4e83264b58a90",
          "body": "…#3443)\n\n* fix(auth): don't delete cached credentials when token refresh fails\n\nThe authenticators call KeyringStore.delete(endpoint) when a token refresh\nfails, then immediately fall back to a full authorization flow that calls\nKeyringStore.store(...). store() overwrites each key in place, so the d\n[…]\nt comment to a single line.\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n---------\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(auth): don't delete cached credentials when token refresh fails (…",
          "author_name": "Stefan Wang",
          "author_login": "1fanwang",
          "committed_at": "2026-07-01T02:52:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2182a71c857ac53c822b61253882f80815a2ad47",
          "body": "* fix: merge LaunchPlan security context per field on registration\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n* test: use docstring and top-level imports in security context merge test\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n---------\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>",
          "is_bot": false,
          "headline": "fix: merge LaunchPlan security context per field on registration (#3442)",
          "author_name": "Stefan Wang",
          "author_login": "1fanwang",
          "committed_at": "2026-07-01T00:47:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b24374e1a4050ff4a37107e5aacbd65e395e638",
          "body": "…(#3448)\n\n* fix(spark): cap aiohttp<3.14 in test deps for aioresponses compat\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n* fix(ci): pin scipy<1.18 for onnx and re-pin aiohttp<3.14 for spark after -U\n\nBoth plugin builds are red on master, so every PR inherits two failing checks.\n\nonnx-scikitlearn:\n[…]\nobs on master and every PR. Download the last flytectl\nrelease (v0.9.8) from its asset URL instead.\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n---------\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>",
          "is_bot": false,
          "headline": "Fix red CI on master: plugin deps (aiohttp/scipy) + flytectl install …",
          "author_name": "Stefan Wang",
          "author_login": "1fanwang",
          "committed_at": "2026-06-30T08:06:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e96c7203089a1edc5709c92a606a2d4abb481c0e",
          "body": "…y_points (#3445)\n\nCurrently, flytekit's auth system only supports a fixed set of built-in\nauthentication modes (PKCE, ClientSecret, ExternalCommand, DeviceFlow).\nAdding a new mode requires modifying flytekit core. This makes it\nimpossible for downstream consumers to provide custom authenticators\n(e\n[…]\nr consistency with the built-in auth mode handling.\n\nPlugin contract: a callable `(PlatformConfig, ClientConfigStore) -> Authenticator`.\n\nSigned-off-by: Hongxin Liang <honnix@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat(auth): add pluggable authenticator support via registry and entr…",
          "author_name": "Honnix",
          "author_login": "honnix",
          "committed_at": "2026-06-22T18:41:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "735f322ba435d274d316435aaafa75104298a262",
          "body": "…ts (#3440)\n\nWhen an image with a digest is used (e.g. image:tag@sha256:...), the\ntemplate replacement for {{.image.<name>.version}} hardcodes : as the\nseparator. Since version returns the digest, this produces\nimage:tag:sha256:... (invalid) instead of image:tag@sha256:... (valid).\n\nFix by detecting\n[…]\na digest (contains :) and replacing\nthe preceding : separator with @ in the output.\n\nFixes https://github.com/flyteorg/flyte/issues/7531\n\nSigned-off-by: Hongxin Liang <honnix@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix template replacement producing invalid image reference with diges…",
          "author_name": "Honnix",
          "author_login": "honnix",
          "committed_at": "2026-06-22T15:05:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0e2463a10e1535a6099ea51c9a75c571531cb95a",
          "body": "Signed-off-by: Katrina Rogan <katroganGH@gmail.com>",
          "is_bot": false,
          "headline": "Bump requirements to avoid gcsfs close spam (#3436)",
          "author_name": "Katrina Milles",
          "author_login": "katrogan",
          "committed_at": "2026-06-01T19:28:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d42ce0ff3e45b6f04a578e41d23c22319047679d",
          "body": "Signed-off-by: David Holtz <56723830+dmholtz@users.noreply.github.com>\nCo-authored-by: Fabio M. Graetz, Ph.D. <fabiograetz@googlemail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Improve docstring of Elastic dataclass in flytekit-kf-pytorch (#3419)",
          "author_name": "David Holtz",
          "author_login": "dmholtz",
          "committed_at": "2026-05-28T18:50:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00d5e22c61267437b646f1065a49a8a054f3bc34",
          "body": "* Bump flyteidSigned-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Bump flyteidl minimum version to 1.16.7 (#3435)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2026-05-28T17:54:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "231bc0764523b54329fade86659dcee42ecf35fa",
          "body": "---\nupdated-dependencies:\n- dependency-name: aiohttp\n  dependency-version: 3.13.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump aiohttp from 3.10.11 to 3.13.4 (#3416)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-26T21:51:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1f8414f220f608061d8b43c2fd2e577fcd55707",
          "body": "Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.3.0 to 12.2.0.\n- [Release notes](https://github.com/python-pillow/Pillow/releases)\n- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)\n- [Commits](https://github.com/python-pillow/Pillow/compare/10.3.0...12.2.0)\n[…]\n:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump pillow from 10.3.0 to 12.2.0 (#3424)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-26T21:37:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8e498f6885903fd063cf10feb56466a3456ffe98",
          "body": "Signed-off-by: yuteng chen <a08h0283@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "ray autoscaler (#3413)",
          "author_name": "YuTeng Chen",
          "author_login": "0yukali0",
          "committed_at": "2026-05-26T21:37:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2223dfff721cdb09d7ea0f6140ca701f1cc7ffcd",
          "body": "Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix (#3434)",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-05-26T21:16:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81c3828dc1101024187fb3fbac76fbf04190835f",
          "body": "* Carry pod_template override through map_task serialization\n\nmap_task(...).with_overrides(pod_template=PodTemplate(...)) was being\nsilently dropped at serialization. The override is accepted at workflow\nbuild time and stored on the Node, but get_serializable_array_node_map_task\nnever read node._pod\n[…]\ne pod spec can still resolve image/command/args.\n\nAdd a parametrized test exercising this scenario.\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>\n\n---------\n\nSigned-off-by: 1fanwang <1fannnw@gmail.com>",
          "is_bot": false,
          "headline": "Carry pod_template override through map_task serialization (#3428)",
          "author_name": "Stefan Wang",
          "author_login": "1fanwang",
          "committed_at": "2026-05-20T20:52:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3aadb292c095909d14347b69317ecfd5e1b7dd8b",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump werkzeug from 3.1.5 to 3.1.6 (#3425)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-20T17:30:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d03d8e57ea13e2b1cc7fd5aafd0084a2c6de8685",
          "body": "Signed-off-by: Jason Parraga <sovietaced@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Make optional arguments not required in click option (#3432)",
          "author_name": "Jason Parraga",
          "author_login": "Sovietaced",
          "committed_at": "2026-05-20T17:08:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3157ce5e978f9949750b8c1322761144dc96cc2e",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add grpc headers and timeout (#3433)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2026-05-18T20:20:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48a846e1fd39b75964535afbec0952a230ad06ce",
          "body": "Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix (#3431)",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-05-14T17:24:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41a9f8009128db1391697cec0441e924e7e27d68",
          "body": "Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.5.1 to 0.5.4.\n- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)\n- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.5.1...0.5.4)\n\n---\nupdated-dependencies:\n- dependency-name: sqlparse\n  dependenc\n[…]\npe: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump sqlparse from 0.5.1 to 0.5.4 in /plugins/flytekit-airflow (#3390)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-02T00:31:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fbd4fd4c350d545b7e393ea4f0091ceab0e8a063",
          "body": null,
          "is_bot": false,
          "headline": "chore: Allow later version of setuptools (<82) (#3430)",
          "author_name": "Honnix",
          "author_login": "honnix",
          "committed_at": "2026-05-01T18:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "541c8d3e7bacb90362f393b363cedbcaedb34472",
          "body": null,
          "is_bot": false,
          "headline": "update readme for flyte 2 devbox launch (#3426)",
          "author_name": "Niels Bantilan",
          "author_login": "cosmicBboy",
          "committed_at": "2026-04-28T00:24:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39d4a9f8ad59e5bcf12de1fd381a6fe289fc6aa3",
          "body": "* Fix release pipeline failures in pythonpublish and build_image workflows\n\nThe v1.16.17 release failed because a transient PyPI connection error\nduring plugin upload killed the entire deploy job, and re-runs failed\nbecause already-uploaded packages return 400. The manual build_image\nworkflow also f\n[…]\nage instead of silently using an invalid PyPI version.\n\nSigned-off-by: Kevin Su <pingsutw@apache.org>\n\n---------\n\nSigned-off-by: Kevin Su <kevin@union.ai>\nSigned-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Fix release pipeline failures (#3423)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2026-04-13T19:49:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "54b82e5fd263cd2f09a1b1abda88042956ecde5c",
          "body": "…ion (#3403)\n\n* fix: re-translate LaunchPlan fixed inputs with remote context on registration\n\n* NamedTemporaryFile(delete=False) to avoid file lock error",
          "is_bot": false,
          "headline": "Re-translate LaunchPlan fixed inputs with remote context on registrat…",
          "author_name": "Daniel Sola",
          "author_login": "dansola",
          "committed_at": "2026-04-10T22:46:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0c3e23c1de60cf3bd8ede02c4461a9ef0d3a359",
          "body": "Signed-off-by: Thomas Newton <thomas.w.newton@gmail.com>",
          "is_bot": false,
          "headline": "GH-7196: More lenient regex for container image templating (#3421)",
          "author_name": "Thomas Newton",
          "author_login": "Tom-Newton",
          "committed_at": "2026-04-10T22:13:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c164f35dd3f1ce3b4b2c082ef43d22afd67cd727",
          "body": "Signed-off-by: Niels Bantilan <niels.bantilan@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "add support for installing system-level venv in ImageSpec (#3400)",
          "author_name": "Niels Bantilan",
          "author_login": "cosmicBboy",
          "committed_at": "2026-04-01T14:22:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71194a4de9601bd819b2192da447d0c5a5d904ce",
          "body": "* add run_all_sub_nodes for map tasks\n\nSigned-off-by: Paul Dittamo <pvdittamo@gmail.com>\n\n* update unit tests\n\nSigned-off-by: Paul Dittamo <pvdittamo@gmail.com>\n\n---------\n\nSigned-off-by: Paul Dittamo <pvdittamo@gmail.com>",
          "is_bot": false,
          "headline": "add run_all_sub_nodes for map tasks (#3399)",
          "author_name": "Paul Dittamo",
          "author_login": "pvditt",
          "committed_at": "2026-03-11T03:58:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6297a983c934362d322e24cd0e44189940bf882c",
          "body": "…space K8s secrets (#3394)\n\nEnable per-project Databricks authentication by reading tokens from\nKubernetes secrets in workflow namespaces, with backward-compatible\nfallback to the FLYTE_DATABRICKS_ACCESS_TOKEN environment variable.\n\nChanges:\n- Add get_secret_from_k8s() for cross-namespace K8s secret\n[…]\ncret for custom secret names\n- Add 31 comprehensive tests covering all token resolution paths\n\nTracking: https://github.com/flyteorg/flyte/issues/6911\n\nSigned-off-by: Rohit Sharma <rohitrsh@gmail.com>",
          "is_bot": false,
          "headline": "feat(spark): Add multi-tenant Databricks token support via cross-name…",
          "author_name": "Rohit Sharma",
          "author_login": "rohitrsh",
          "committed_at": "2026-03-10T23:20:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a735a6277a36953fa7a649066140421b2e536351",
          "body": "* feat(spark): Add Databricks Serverless Compute support\n\nSigned-off-by: Rohit Sharma <rohitrsh@gmail.com>\n\n* refactor(spark): Address review comments on serverless support\n\n- Extract _build_notebook_job_spec() and _build_python_file_job_spec()\n- Move compute validation to beginning of _get_databric\n[…]\nSharma <rohitrsh@gmail.com>\n\n---------\n\nSigned-off-by: Rohit Sharma <rohitrsh@gmail.com>\nCo-authored-by: Rohit Sharma <rohsharma@expediagroup.com>\nCo-authored-by: Samhita Alla <aallasamhita@gmail.com>",
          "is_bot": false,
          "headline": " Add Databricks Serverless Compute Support (#3392)",
          "author_name": "Rohit Sharma",
          "author_login": "rohitrsh",
          "committed_at": "2026-03-10T14:07:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0921e936a2d29069c9266ab4a6890d2d6a3fdf9",
          "body": "Co-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Add S3 addressing style configuration support (#3367)",
          "author_name": "Ranjit Kumar Parvathaneni",
          "author_login": "ranjit-parva",
          "committed_at": "2026-02-24T01:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b9b3beeedcb1bb77fa292f2e1b650b1f42ef7b4",
          "body": "* added support for custom types\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n* fix: lint\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n---------\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Generalize custom type detection in nested Pydantic models (#3396)",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-02-19T17:35:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10ecd80573af2a7f4c78ffb619302dd08a41a04c",
          "body": "…3395)\n\n* added tests\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n* fix: lint\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n---------\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tests for FlyteFile, FlyteDirectory, StructuredDataset in Pydantic (#…",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-02-19T01:26:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8811574617224b63a2f16bb010844dcefd81e37d",
          "body": "* added support for nested structs in pydantic\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n* dup code, in diff PR removed\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n* fix: lint\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@\n[…]\noreply.github.com>\n\n* fix: errors\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>\n\n---------\n\nSigned-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Added support to handle nested Pydantic types (#3393)",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-02-18T20:13:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4ee6f75b1f2c6782532ce7c902548e3f916a08b3",
          "body": "Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Added support for Enum types in Pydantic models (#3391)",
          "author_name": "M. Adil Fayyaz",
          "author_login": "AdilFayyaz",
          "committed_at": "2026-02-18T05:35:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba7dc6fc8db929bd911847a6bbb9bc11d18ad216",
          "body": "Users have been seeing odd blocking behavior around `remote.wait`\n* Add fault handler for map tasks\n* Add debug logging to remote.wait\n\nSigned-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "FlyteRemote - additional debugging (#3369)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2026-02-13T00:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4a81255c5dd2f9cbdf350bdc838129b00876dd9",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Use setuptools<82.0.0 (#3388)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2026-02-12T20:44:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c93a1c5fa020f5f1ee62b8a93d9117e9100ba2bb",
          "body": "* support passing optional date through CLI\n\nSigned-off-by: Blake <blaketastic2@gmail.com>\n\n* feedback from review\n\nSigned-off-by: Blake <blaketastic2@gmail.com>\n\n* feedback from review\n\nSigned-off-by: Blake <blaketastic2@gmail.com>\n\n---------\n\nSigned-off-by: Blake <blaketastic2@gmail.com>",
          "is_bot": false,
          "headline": "support passing optional date through CLI (#3273)",
          "author_name": "Blake Jackson",
          "author_login": "blaketastic2",
          "committed_at": "2026-02-09T08:57:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57db1e852f1dcffa89e0e53f7ae0d6e2f7eafd15",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump aiohttp from 3.10.11 to 3.13.3 in /plugins/flytekit-spark (#3360)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-30T18:42:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2891409d61296aab4ae5b002b8cbb41f8d6c759",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump urllib3 from 2.2.3 to 2.6.3 in /plugins/flytekit-airflow (#3364)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-30T08:07:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32ac47830bbd819927b20c4b804fc9ac7a7c8815",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump virtualenv from 20.26.6 to 20.36.1 (#3381)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-30T08:07:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f77e93192b0d588c5b380211d861669bcf1e000",
          "body": "… (#3278)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump protobuf from 4.25.0 to 4.25.8 in /plugins/flytekit-onnx-pytorch…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-30T07:58:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e9b58c306c38c607216763f67be8fa97fc11366",
          "body": "Signed-off-by: Martin Simonovsky <martin.simonovsky@aleph-alpha-ip.ai>\nSigned-off-by: Kevin Su <pingsutw@apache.org>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Bugfix: \"audience\" from config.yaml (#3305)",
          "author_name": "Martin Simonovsky",
          "author_login": "mys007",
          "committed_at": "2026-01-30T07:57:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82256ead8ecc7f3dd769e17b757253903ebbf63e",
          "body": "Co-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "[BUG] sync_node_executions fails for workflows with FailureNodes (#3268)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2026-01-30T06:47:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b78c718c1c0e13a2feaeee8e01811a6641e4840a",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": true,
          "headline": "Bump pyasn1 from 0.6.1 to 0.6.2 in /plugins/flytekit-airflow (#3370)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-30T06:14:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97713150e5163988ba5b15dabac5bd46b0387045",
          "body": "Signed-off-by: Jason Parraga <sovietaced@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Fix syncing of branch node executions and add integration test (#3372)",
          "author_name": "Jason Parraga",
          "author_login": "Sovietaced",
          "committed_at": "2026-01-30T06:13:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "052662b84cd5bb88c606c4718de834871f21c35c",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>\nCo-authored-by: Claude Opus 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix PydanticTransformer to handle locally-defined nested models (#3373)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2026-01-30T05:41:58Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ca416a4fc8b7f324ea5bf9f9b88011451105cb06",
          "body": "Signed-off-by: ddl-rliu <richard.liu@dominodatalab.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Use abfs headers (#3378)",
          "author_name": "ddl-rliu",
          "author_login": "ddl-rliu",
          "committed_at": "2026-01-30T05:36:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dc69643efd2b4392baf242e166f9ab1e5038a6b",
          "body": "Signed-off-by: Samhita Alla <aallasamhita@gmail.com>",
          "is_bot": false,
          "headline": "add support for dir in wandb plugin (#3342)",
          "author_name": "Samhita Alla",
          "author_login": "samhita-alla",
          "committed_at": "2026-01-30T05:20:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a817ecd73b6dcf8126fbf5d41dacb11bc5633de0",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Remove python 3.9 tests (#3380)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2026-01-29T23:09:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf665b97bc637e5f2e6f4681d83677415994d6c0",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>\nSigned-off-by: Kevin Su <pingsutw@apache.org>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "[Fix] build plugins error (#3376)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2026-01-29T22:23:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a433336029400f4706a9af05254f57626852602c",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Improve dataclass type guessing to handle nested types (#3375)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2026-01-29T19:16:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6efd1be6b9763a577f80688cff8b9d4ccf6d9a2a",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "build: fix airflow plugin issue (#3356)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2026-01-29T06:31:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "330a1e8cf8f220aad04a320637d0d90f799bf628",
          "body": "Signed-off-by: redartera <reda@artera.ai>",
          "is_bot": false,
          "headline": "add cachetools dependency (#3362)",
          "author_name": "Reda Oulbacha",
          "author_login": "redartera",
          "committed_at": "2026-01-09T19:59:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d4b122c3e252963459bde18cea7d6b470330dbe",
          "body": "…339)\n\n* Fix Pydantic deserialization for FlyteFile and FlyteDirectory\n\n  Fixes #6669\n\nSigned-off-by: Govert Verkes <gmverkes@gmail.com>\nSigned-off-by: Govert Verkes <govert@cusp.ai>\n\n* Add tests to improve codecov coverage for FlyteFile and FlyteDirectory validators\n\nSigned-off-by: Govert Verkes <g\n[…]\nby: Govert Verkes <gmverkes@gmail.com>\nSigned-off-by: Govert Verkes <govert@cusp.ai>\nSigned-off-by: gverkes <gmverkes@gmail.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bugfix: Pydantic deserialization for FlyteFile and FlyteDirectory (#3…",
          "author_name": "Govert",
          "author_login": "gverkes",
          "committed_at": "2025-12-31T08:46:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "010a0efaa5a9bc5606b6d00363f0d2c5160655bb",
          "body": "…(#3357)\n\nSigned-off-by: pmahindrakar-oss <prafulla.mahindrakar@gmail.com>\nSigned-off-by: Kevin Su <pingsutw@apache.org>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Add idle timeout to code server instead of relying on heartbeat file …",
          "author_name": "Prafulla Mahindrakar",
          "author_login": "pmahindrakar-oss",
          "committed_at": "2025-12-11T02:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a4c2d862724ab500495677ec63d8e2fc0e9484c",
          "body": null,
          "is_bot": false,
          "headline": "feat(remote): Support branch node execution sync (#3353)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-12-06T01:07:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a13edac83504d76a4be80ed2dc90923954c556c1",
          "body": "…350)\n\nSigned-off-by: Kevin Liao <q85292542000@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "fix: update Spark plugin for compatibility with Spark 3.x and 4.x (#3…",
          "author_name": "Kevin Liao",
          "author_login": "kevinliao852",
          "committed_at": "2025-12-06T00:24:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21ffdc359f77830fe5a5d3401a86f9d6a7c56037",
          "body": "This commit adds support for executing remote workflows via the\n`pyflyte run remote-workflow` command, similar to the existing\n`remote-task` and `remote-launchplan` commands.\n\nChanges include:\n- Add WORKFLOW_LAUNCHER constant to DynamicEntityLaunchCommand\n- Update _fetch_entity() to handle workflow \n[…]\n- Add comprehensive unit tests for remote workflow execution\n\nSigned-off-by: CtfChan <23730526+CtfChan@users.noreply.github.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add remote workflow execution support to pyflyte run (#3338)",
          "author_name": "CtfChan",
          "author_login": "CtfChan",
          "committed_at": "2025-12-05T12:21:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "531d2aaa313370be10f461a12087f01baf73edb4",
          "body": "Signed-off-by: Ketan Umare <kumare3@users.noreply.github.com>\nCo-authored-by: Ketan Umare <kumare3@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Use importlib from system (#3351)",
          "author_name": "Ketan Umare",
          "author_login": "kumare3",
          "committed_at": "2025-11-24T17:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3818b37380f0a2bcf3abccfc053877cf240fdc2",
          "body": "…ns` (#3343)\n\nFixes #6694\n\nWhen using `from __future__ import annotations`, the `__annotations__`\ndictionary contains string literals instead of actual type objects. This\nwas causing the PydanticTransformer to fail to recognize standard Python\ntypes (str, int, float, etc.) in BaseModel fields, resul\n[…]\n literal type structure validation\n\nThe fix ensures compatibility with PEP 563 future annotations, which\nwill become the default behavior in Python 3.14.\n\nSigned-off-by: Govert Verkes <govert@cusp.ai>",
          "is_bot": false,
          "headline": "Fix Pydantic transformer to support `from __future__ import annotatio…",
          "author_name": "Govert",
          "author_login": "gverkes",
          "committed_at": "2025-11-10T23:55:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3645cb34eeff25d947034ab5c927cc0d32ba206b",
          "body": "* Check metaclass error_code property properly\n\nSigned-off-by: Andres Gomez Ferrer <andresg@spotify.com>\n\n* Fix\n\nSigned-off-by: Andres Gomez Ferrer <andresg@spotify.com>\n\n* fix lint\n\nSigned-off-by: Andres Gomez Ferrer <andresg@spotify.com>\n\n---------\n\nSigned-off-by: Andres Gomez Ferrer <andresg@spotify.com>",
          "is_bot": false,
          "headline": "Check and access metaclass error_code property properly (#3349)",
          "author_name": "Andrés Gómez",
          "author_login": "andresgomezfrr",
          "committed_at": "2025-11-10T13:43:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3aebd235224fd11854e440d58abbb82b500dbff9",
          "body": "…(#3347)\n\nSigned-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "FlyteRemote - Delay fetching task execution data until node complete …",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-11-03T22:27:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "545d07ece82eafcd3faea577630009950d948c2b",
          "body": null,
          "is_bot": false,
          "headline": "Fix tensorflow transformer (#3346)",
          "author_name": "Daniel Sola",
          "author_login": "dansola",
          "committed_at": "2025-11-01T17:17:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f3ec969041636ceb5ef945b39bc05b7d10d6687",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update idl requirement to v1.16.1 (#3345)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-10-28T19:23:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a289bcdcb33e9011c07582d7136febbf6cffe311",
          "body": "…or (#3344)\n\nSigned-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "skip node in sync_node_execution if get node data returns missing err…",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-10-28T17:34:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0663d8e6c5de1c88318d07fa3579003cdae0458e",
          "body": "…3341)\n\nSigned-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add escape hatch for reference entities in remote._get_image_names (#…",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-10-21T16:23:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a693622e471dcf44dd5c8dc624857fdc64ee2d91",
          "body": "Signed-off-by: Jason Parraga <sovietaced@gmail.com>",
          "is_bot": false,
          "headline": "Add default sort_by to iterate_node_executions (#3340)",
          "author_name": "Jason Parraga",
          "author_login": "Sovietaced",
          "committed_at": "2025-10-16T22:10:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31c8bcef1f1f199b321f2ecb268b9a582a982ac3",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Add rtx-pro-6000 to ACCELERATOR_DEVICE_MAP (#3336)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-10-13T16:03:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "828396e948d32fbead674acbbfea0b62476e031d",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "fix: remove --image after flytectl demo start (#3337)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-10-10T23:44:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff4c79c556785a8332ce14a284a414f61d481154",
          "body": "Signed-off-by: ansjindal <ansjindal@nvidia.com>\nCo-authored-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Add Flytekit-Lepton Plugin for Lepton AI Inference Endpoints (#3328)",
          "author_name": "ansjindal",
          "author_login": "ansjindal",
          "committed_at": "2025-10-03T20:35:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "953a82905524a5a76d263c01b8dca1039f6ea14e",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Improve error message for type engine  (#3334)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-10-03T19:24:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95d1b34850230530638776985b4da23725764276",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Set project for the bigquery client (#3330)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-10-03T08:28:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49755b61614467a4d4661377e3a72bef4d39a49f",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Code owners (#3333)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-10-03T07:40:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4050b68c38c88a0f2fb55feb7373217f414c217",
          "body": "* Add concurrency policy\n\nSigned-off-by: thomasjhuang <thomashuang63@gmail.com>\n\n* Update to latest idl\n\nSigned-off-by: thomasjhuang <thomashuang63@gmail.com>\n\n* Reformat with ruff\n\nSigned-off-by: thomasjhuang <thomashuang63@gmail.com>\n\n* Change reference\n\nSigned-off-by: thomasjhuang <thomashuang63@\n[…]\nix lint\n\nSigned-off-by: thomasjhuang <thomashuang63@gmail.com>\n\n---------\n\nSigned-off-by: thomasjhuang <thomashuang63@gmail.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add concurrency policy (#3267)",
          "author_name": "Thomas Huang",
          "author_login": "thomasjhuang",
          "committed_at": "2025-10-03T00:14:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9270511539100604936c36c6dd56de2ff872f065",
          "body": "* build: try disable connector for flyte demo start\n\nSigned-off-by: machichima <nary12321@gmail.com>\n\n* build: set image\n\nSigned-off-by: machichima <nary12321@gmail.com>\n\n---------\n\nSigned-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "build: change flyte demo start command to make CI work (#3332)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-10-02T07:37:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23de1abb44c6135030c0d49ba66846d7da109409",
          "body": "Signed-off-by: Barry Wu <a0987818905@gmail.com>\nCo-authored-by: Barry Wu <barry@wukanglideMacBook-Pro.local>",
          "is_bot": false,
          "headline": "[Core feature] Add support Literal Transformer (#3304)",
          "author_name": "5KL",
          "author_login": "BarryWu0812",
          "committed_at": "2025-09-27T05:08:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d21550c5916792aeb3d9c2e789d8e8463a778e3",
          "body": "Signed-off-by: Barry Wu <a0987818905@gmail.com>",
          "is_bot": false,
          "headline": "Extend waiting time in test_attr_access_sd (#3324)",
          "author_name": "5KL",
          "author_login": "BarryWu0812",
          "committed_at": "2025-09-27T01:30:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90f57516c244b1f170ca2abde0d487feb9b6243e",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "fix(core): Handle empty external schema fields (#3329)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-09-25T19:05:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8df37f2a45e7b7eae5e59ea11587ccd0c32c1c9",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "[Fix] Error when using FlyteFile as default value in workflow (#3322)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-09-23T22:23:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9effe915c0dfdd1b9870ce0539ed0aec3ccda80c",
          "body": "Signed-off-by: Barry Wu <a0987818905@gmail.com>\nCo-authored-by: Kevin Su <pingsutw@gmail.com>\nCo-authored-by: Nary Yeh <60069744+machichima@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[Core feature] Reuse same literals in the dynamic task (#3307)",
          "author_name": "5KL",
          "author_login": "BarryWu0812",
          "committed_at": "2025-09-19T19:27:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "665a4efa0f4f47d00f97757f24d4243a7eea8410",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "[Core feature] Task retry support in Flyte Connectors (#3265)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-09-17T09:01:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f87103c30eddbe551882b1562ea01a9b97e2547a",
          "body": "…(#3303)\n\nSigned-off-by: Clint Harrison <clint@stripe.com>",
          "is_bot": false,
          "headline": "Restore behavior passing FlyteClient kwargs to gRPC channel creation …",
          "author_name": "Clint Harrison",
          "author_login": "clint-stripe",
          "committed_at": "2025-09-05T12:21:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44af03fca6d2d6d85b0d94e2b8a017ce0d627bec",
          "body": "Signed-off-by: Niels Bantilan <niels.bantilan@gmail.com>",
          "is_bot": false,
          "headline": "add short_description to Task and Workflow model (#3224)",
          "author_name": "Niels Bantilan",
          "author_login": "cosmicBboy",
          "committed_at": "2025-09-03T13:58:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4922dbe00d47c514e963132a35d4b7a101c9ea19",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "bulid: add dockerignore (#3323)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-08-29T11:38:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a134f6e9eb301ae4690bd6e5627ef6ed870addd",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "[Fix] Issue when using FlyteDirectory with Elastic (#3320)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-08-28T07:04:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12ce1b906503d0febf798c52444a11ff6ae911d5",
          "body": "…velopment (#3315)\n\nSigned-off-by: Barry Wu <a0987818905@gmail.com>",
          "is_bot": false,
          "headline": "Dynamic platform detection for ImageSpec to support cross-platform de…",
          "author_name": "5KL",
          "author_login": "BarryWu0812",
          "committed_at": "2025-08-27T04:39:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a28f70d0c26f8f80895fd22352e0bda6861cd429",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "fix: add env var to prevent deprecation warning (#3319)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-08-27T04:08:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6eb853def7673cc04f2ed2e19ba746596465994f",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "IDL upper bound (#3321)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-08-24T08:02:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d03c14ce7c6748b01f0b3cf2450c469c3bc0327c",
          "body": null,
          "is_bot": false,
          "headline": "fix(pyproject.toml): Exclude gcsfs 2024.2.0 due to bug (#3309)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-08-21T20:13:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6614d4c806ab71d3cfd5200a66d173e8a62073ae",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "feat: Add faulthandler registration for SIGUSR1 (#3310)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-08-21T20:04:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fae44de6bb4619733f230b741856397d8ccc4238",
          "body": "Signed-off-by: Yee Hing Tong <wild-endeavor@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Sort subworkflows when creating admin WorkflowSpec (#3318)",
          "author_name": "Yee Hing Tong",
          "author_login": "wild-endeavor",
          "committed_at": "2025-08-21T19:42:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcdfaae94e53f4045e0d73054c7ab542a7fdc88e",
          "body": "Signed-off-by: Kevin Su <pingsutw@apache.org>",
          "is_bot": false,
          "headline": "Handle None in sorted bound_inputs conditionally (#3317)",
          "author_name": "Kevin Su",
          "author_login": "pingsutw",
          "committed_at": "2025-08-21T19:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edd0f41a7c4ad12e8444ddccb5cca437104a0fcd",
          "body": "Signed-off-by: Nelson Chen <asd3431090@gmail.com>",
          "is_bot": false,
          "headline": "Create execution according to task config (#3302)",
          "author_name": "arbaobao",
          "author_login": "arbaobao",
          "committed_at": "2025-08-21T17:26:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb52d881d4db075ea135f4a19ad76f732ebdd206",
          "body": "…hould_build function (#3311)\n\nSigned-off-by: Alex Wu <c.alexwu@gmail.com>",
          "is_bot": false,
          "headline": "[BUG] ImageSpec NoOpBuilder should always return True while calling s…",
          "author_name": "Alex Wu",
          "author_login": "popojk",
          "committed_at": "2025-08-16T16:19:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a09252af8e1f8edf101c70ae898c02c6b757290e",
          "body": "Signed-off-by: machichima <nary12321@gmail.com>",
          "is_bot": false,
          "headline": "[Fix] Issue when using FlyteFile with Elastic (#3313)",
          "author_name": "Nary Yeh",
          "author_login": "machichima",
          "committed_at": "2025-08-16T05:12:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01a4987e6140f2d4acb53e73b9a55ba36baa9212",
          "body": "…er (#3312)\n\nSigned-off-by: Alex Wu <c.alexwu@gmail.com>",
          "is_bot": false,
          "headline": "[BUG]Invalid cron date schedule creates infinite loop in flyteschedul…",
          "author_name": "Alex Wu",
          "author_login": "popojk",
          "committed_at": "2025-08-16T00:52:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6e257eceaf0a5b4ea48c03d6e6412ab8e16c2a7",
          "body": "Signed-off-by: Nelson Chen <asd3431090@gmail.com>",
          "is_bot": false,
          "headline": "remove tmate session (#3316)",
          "author_name": "arbaobao",
          "author_login": "arbaobao",
          "committed_at": "2025-08-15T19:18:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 100,
      "latest_release_at": "2026-07-16T16:54:54Z",
      "latest_release_tag": "v1.16.26",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 32,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 10.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "flytekit",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "Intended Audience :: Developers",
            "Intended Audience :: Science/Research",
            "License :: OSI Approved :: Apache Software License",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Topic :: Scientific/Engineering",
            "Topic :: Scientific/Engineering :: Artificial Intelligence",
            "Topic :: Software Development",
            "Topic :: Software Development :: Libraries",
            "Topic :: Software Development :: Libraries :: Python Modules"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/flytekit/",
          "is_deprecated": false,
          "latest_version": "1.16.26",
          "repository_url": "https://github.com/flyteorg/flytekit",
          "versions_count": 480,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 413094,
          "first_published_at": "2019-08-29T00:49:15.691606Z",
          "latest_published_at": "2026-07-16T16:55:25.416995Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 339,
      "stars": 315,
      "watchers": 234,
      "fork_history": {
        "days": [
          {
            "date": "2019-08-22",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-10-06",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-11-04",
            "count": 1
          },
          {
            "date": "2019-11-25",
            "count": 1
          },
          {
            "date": "2019-12-01",
            "count": 1
          },
          {
            "date": "2020-01-06",
            "count": 1
          },
          {
            "date": "2020-01-23",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-05-08",
            "count": 1
          },
          {
            "date": "2020-07-22",
            "count": 2
          },
          {
            "date": "2020-10-12",
            "count": 1
          },
          {
            "date": "2020-11-17",
            "count": 1
          },
          {
            "date": "2020-11-25",
            "count": 1
          },
          {
            "date": "2020-11-27",
            "count": 1
          },
          {
            "date": "2020-12-10",
            "count": 1
          },
          {
            "date": "2020-12-11",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2020-12-23",
            "count": 1
          },
          {
            "date": "2021-01-27",
            "count": 1
          },
          {
            "date": "2021-02-12",
            "count": 1
          },
          {
            "date": "2021-02-17",
            "count": 1
          },
          {
            "date": "2021-02-18",
            "count": 1
          },
          {
            "date": "2021-02-19",
            "count": 1
          },
          {
            "date": "2021-02-20",
            "count": 1
          },
          {
            "date": "2021-03-06",
            "count": 1
          },
          {
            "date": "2021-03-11",
            "count": 2
          },
          {
            "date": "2021-04-06",
            "count": 1
          },
          {
            "date": "2021-04-07",
            "count": 1
          },
          {
            "date": "2021-04-16",
            "count": 1
          },
          {
            "date": "2021-04-27",
            "count": 1
          },
          {
            "date": "2021-04-28",
            "count": 1
          },
          {
            "date": "2021-05-07",
            "count": 1
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-06-25",
            "count": 1
          },
          {
            "date": "2021-07-07",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-09-23",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-05",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-10",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 1
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-21",
            "count": 1
          },
          {
            "date": "2021-11-02",
            "count": 1
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 2
          },
          {
            "date": "2021-12-15",
            "count": 1
          },
          {
            "date": "2021-12-23",
            "count": 1
          },
          {
            "date": "2021-12-24",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-25",
            "count": 1
          },
          {
            "date": "2022-02-14",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-03-07",
            "count": 1
          },
          {
            "date": "2022-03-23",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-07",
            "count": 1
          },
          {
            "date": "2022-04-12",
            "count": 1
          },
          {
            "date": "2022-04-15",
            "count": 1
          },
          {
            "date": "2022-04-19",
            "count": 1
          },
          {
            "date": "2022-04-22",
            "count": 1
          },
          {
            "date": "2022-04-27",
            "count": 1
          },
          {
            "date": "2022-05-19",
            "count": 2
          },
          {
            "date": "2022-05-24",
            "count": 1
          },
          {
            "date": "2022-06-05",
            "count": 1
          },
          {
            "date": "2022-06-11",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-06-30",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 2
          },
          {
            "date": "2022-07-03",
            "count": 1
          },
          {
            "date": "2022-07-05",
            "count": 1
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-07-13",
            "count": 1
          },
          {
            "date": "2022-07-14",
            "count": 2
          },
          {
            "date": "2022-08-02",
            "count": 1
          },
          {
            "date": "2022-08-03",
            "count": 1
          },
          {
            "date": "2022-08-16",
            "count": 1
          },
          {
            "date": "2022-08-18",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-09-30",
            "count": 1
          },
          {
            "date": "2022-10-03",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-19",
            "count": 2
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-22",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-23",
            "count": 1
          },
          {
            "date": "2022-12-21",
            "count": 1
          },
          {
            "date": "2023-01-04",
            "count": 1
          },
          {
            "date": "2023-01-07",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-20",
            "count": 2
          },
          {
            "date": "2023-01-24",
            "count": 1
          },
          {
            "date": "2023-01-30",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-03-01",
            "count": 1
          },
          {
            "date": "2023-03-03",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-06",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-04-09",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-11",
            "count": 2
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-29",
            "count": 1
          },
          {
            "date": "2023-05-10",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-15",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-19",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-23",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 1
          },
          {
            "date": "2023-05-26",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-09",
            "count": 1
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-07-01",
            "count": 1
          },
          {
            "date": "2023-07-05",
            "count": 1
          },
          {
            "date": "2023-07-11",
            "count": 2
          },
          {
            "date": "2023-07-12",
            "count": 1
          },
          {
            "date": "2023-07-15",
            "count": 1
          },
          {
            "date": "2023-07-17",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-08-01",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-06",
            "count": 1
          },
          {
            "date": "2023-08-10",
            "count": 2
          },
          {
            "date": "2023-08-15",
            "count": 1
          },
          {
            "date": "2023-08-17",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2023-09-01",
            "count": 1
          },
          {
            "date": "2023-09-06",
            "count": 1
          },
          {
            "date": "2023-09-10",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-20",
            "count": 2
          },
          {
            "date": "2023-09-27",
            "count": 1
          },
          {
            "date": "2023-10-03",
            "count": 1
          },
          {
            "date": "2023-10-04",
            "count": 2
          },
          {
            "date": "2023-10-06",
            "count": 2
          },
          {
            "date": "2023-10-13",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 2
          },
          {
            "date": "2023-10-23",
            "count": 3
          },
          {
            "date": "2023-10-27",
            "count": 1
          },
          {
            "date": "2023-10-30",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2023-12-20",
            "count": 1
          },
          {
            "date": "2023-12-29",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 2
          },
          {
            "date": "2024-01-06",
            "count": 2
          },
          {
            "date": "2024-01-07",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 1
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-02-03",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-17",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 1
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 1
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-03-18",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-28",
            "count": 2
          },
          {
            "date": "2024-04-15",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-21",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 2
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-07",
            "count": 2
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-27",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-03",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-13",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 1
          },
          {
            "date": "2024-10-07",
            "count": 6
          },
          {
            "date": "2024-10-08",
            "count": 2
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 2
          },
          {
            "date": "2024-10-14",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 2
          },
          {
            "date": "2024-10-20",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 2
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-25",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-13",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 1
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 2
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 336,
        "total_forks": 339
      },
      "star_history": {
        "days": [
          {
            "date": "2019-08-21",
            "count": 1
          },
          {
            "date": "2019-08-30",
            "count": 1
          },
          {
            "date": "2019-09-17",
            "count": 1
          },
          {
            "date": "2019-10-14",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-11-06",
            "count": 1
          },
          {
            "date": "2019-11-13",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-21",
            "count": 1
          },
          {
            "date": "2019-11-26",
            "count": 1
          },
          {
            "date": "2019-11-30",
            "count": 1
          },
          {
            "date": "2020-01-08",
            "count": 1
          },
          {
            "date": "2020-01-09",
            "count": 2
          },
          {
            "date": "2020-01-14",
            "count": 1
          },
          {
            "date": "2020-01-15",
            "count": 1
          },
          {
            "date": "2020-01-16",
            "count": 1
          },
          {
            "date": "2020-01-23",
            "count": 1
          },
          {
            "date": "2020-01-24",
            "count": 2
          },
          {
            "date": "2020-01-27",
            "count": 1
          },
          {
            "date": "2020-01-28",
            "count": 1
          },
          {
            "date": "2020-03-15",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2020-05-12",
            "count": 1
          },
          {
            "date": "2020-05-15",
            "count": 1
          },
          {
            "date": "2020-06-08",
            "count": 1
          },
          {
            "date": "2020-07-05",
            "count": 1
          },
          {
            "date": "2020-07-07",
            "count": 1
          },
          {
            "date": "2020-08-20",
            "count": 1
          },
          {
            "date": "2020-08-26",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2021-02-11",
            "count": 1
          },
          {
            "date": "2021-02-12",
            "count": 2
          },
          {
            "date": "2021-03-09",
            "count": 1
          },
          {
            "date": "2021-03-19",
            "count": 1
          },
          {
            "date": "2021-04-08",
            "count": 1
          },
          {
            "date": "2021-04-09",
            "count": 1
          },
          {
            "date": "2021-05-02",
            "count": 1
          },
          {
            "date": "2021-05-03",
            "count": 1
          },
          {
            "date": "2021-06-05",
            "count": 1
          },
          {
            "date": "2021-06-07",
            "count": 1
          },
          {
            "date": "2021-06-15",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 1
          },
          {
            "date": "2021-07-13",
            "count": 1
          },
          {
            "date": "2021-07-20",
            "count": 1
          },
          {
            "date": "2021-07-21",
            "count": 1
          },
          {
            "date": "2021-08-09",
            "count": 1
          },
          {
            "date": "2021-08-20",
            "count": 1
          },
          {
            "date": "2021-08-24",
            "count": 1
          },
          {
            "date": "2021-09-10",
            "count": 1
          },
          {
            "date": "2021-09-26",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-07",
            "count": 1
          },
          {
            "date": "2021-10-14",
            "count": 1
          },
          {
            "date": "2021-10-29",
            "count": 1
          },
          {
            "date": "2021-12-20",
            "count": 3
          },
          {
            "date": "2021-12-26",
            "count": 1
          },
          {
            "date": "2022-01-03",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-02-07",
            "count": 2
          },
          {
            "date": "2022-03-04",
            "count": 1
          },
          {
            "date": "2022-03-14",
            "count": 1
          },
          {
            "date": "2022-03-19",
            "count": 1
          },
          {
            "date": "2022-03-26",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-27",
            "count": 3
          },
          {
            "date": "2022-05-01",
            "count": 1
          },
          {
            "date": "2022-05-02",
            "count": 1
          },
          {
            "date": "2022-05-03",
            "count": 1
          },
          {
            "date": "2022-05-09",
            "count": 1
          },
          {
            "date": "2022-05-27",
            "count": 1
          },
          {
            "date": "2022-06-01",
            "count": 1
          },
          {
            "date": "2022-06-11",
            "count": 1
          },
          {
            "date": "2022-06-12",
            "count": 2
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-07-12",
            "count": 1
          },
          {
            "date": "2022-07-14",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 2
          },
          {
            "date": "2022-07-29",
            "count": 2
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-17",
            "count": 1
          },
          {
            "date": "2022-08-18",
            "count": 2
          },
          {
            "date": "2022-09-15",
            "count": 3
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-29",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-03",
            "count": 1
          },
          {
            "date": "2022-12-07",
            "count": 1
          },
          {
            "date": "2022-12-11",
            "count": 1
          },
          {
            "date": "2022-12-22",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 1
          },
          {
            "date": "2023-01-07",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 1
          },
          {
            "date": "2023-03-04",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-31",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 1
          },
          {
            "date": "2023-04-22",
            "count": 1
          },
          {
            "date": "2023-05-14",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 2
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-05-19",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 2
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-03",
            "count": 1
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-07-12",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 1
          },
          {
            "date": "2023-08-28",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-09-08",
            "count": 1
          },
          {
            "date": "2023-09-20",
            "count": 1
          },
          {
            "date": "2023-09-26",
            "count": 1
          },
          {
            "date": "2023-10-01",
            "count": 2
          },
          {
            "date": "2023-10-02",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 2
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-13",
            "count": 2
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-23",
            "count": 2
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-10-25",
            "count": 1
          },
          {
            "date": "2023-10-29",
            "count": 1
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-11-21",
            "count": 1
          },
          {
            "date": "2023-12-08",
            "count": 1
          },
          {
            "date": "2023-12-22",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-25",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-03",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 2
          },
          {
            "date": "2024-02-15",
            "count": 2
          },
          {
            "date": "2024-02-16",
            "count": 6
          },
          {
            "date": "2024-02-17",
            "count": 2
          },
          {
            "date": "2024-02-18",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-03-01",
            "count": 1
          },
          {
            "date": "2024-03-03",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 2
          },
          {
            "date": "2024-04-02",
            "count": 1
          },
          {
            "date": "2024-04-10",
            "count": 1
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-29",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-07",
            "count": 1
          },
          {
            "date": "2024-05-13",
            "count": 1
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-21",
            "count": 1
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-24",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 2
          },
          {
            "date": "2024-10-06",
            "count": 5
          },
          {
            "date": "2024-10-07",
            "count": 9
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 1
          },
          {
            "date": "2024-10-14",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 2
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 2
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-12-05",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 1
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2025-02-01",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 2
          },
          {
            "date": "2025-02-12",
            "count": 1
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 1
          },
          {
            "date": "2025-03-17",
            "count": 2
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-03-26",
            "count": 1
          },
          {
            "date": "2025-04-05",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 1
          },
          {
            "date": "2025-04-25",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 2
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 2
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-24",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 2
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 2
          },
          {
            "date": "2025-08-22",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 2
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 2
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 2
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-02-07",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-25",
            "count": 2
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 315,
        "total_stars": 315
      },
      "open_issues_and_prs": 165
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples",
        "notebooks"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "docs/Makefile",
        "plugins/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 151999,
      "source_files_sampled": 980,
      "oversized_source_files": 9,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "plugins/setup.py",
        "pyproject.toml",
        "setup.cfg",
        "setup.py"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.10.10",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-27mf-ghqm-j3j8",
              "GHSA-2fqr-mr3j-6wp8",
              "GHSA-2vrm-gr82-f7m5",
              "GHSA-3wq7-rqq7-wx6j",
              "GHSA-4fvr-rgm6-gqmc",
              "GHSA-4m7w-qmgq-4wj5",
              "GHSA-54jq-c3m8-4m76",
              "GHSA-63hf-3vf5-4wqf",
              "GHSA-63hw-fmq6-xxg2",
              "GHSA-69f9-5gxw-wvc2"
            ],
            "fixed_version": "3.14.1",
            "advisory_count": 64,
            "oldest_advisory_days": 610
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.10.11",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-2fqr-mr3j-6wp8",
              "GHSA-2vrm-gr82-f7m5",
              "GHSA-3wq7-rqq7-wx6j",
              "GHSA-4fvr-rgm6-gqmc",
              "GHSA-4m7w-qmgq-4wj5",
              "GHSA-54jq-c3m8-4m76",
              "GHSA-63hf-3vf5-4wqf",
              "GHSA-63hw-fmq6-xxg2",
              "GHSA-69f9-5gxw-wvc2",
              "GHSA-6jhg-hg63-jvvf"
            ],
            "fixed_version": "3.14.1",
            "advisory_count": 60,
            "oldest_advisory_days": 372
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.13.3",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-2fqr-mr3j-6wp8",
              "GHSA-2vrm-gr82-f7m5",
              "GHSA-3wq7-rqq7-wx6j",
              "GHSA-4fvr-rgm6-gqmc",
              "GHSA-4m7w-qmgq-4wj5",
              "GHSA-63hf-3vf5-4wqf",
              "GHSA-63hw-fmq6-xxg2",
              "GHSA-966j-vmvw-g2g9",
              "GHSA-9x8q-7h8h-wcw9",
              "GHSA-c427-h43c-vf67"
            ],
            "fixed_version": "3.14.1",
            "advisory_count": 42,
            "oldest_advisory_days": 111
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.9.0",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-2fqr-mr3j-6wp8",
              "GHSA-2vrm-gr82-f7m5",
              "GHSA-3wq7-rqq7-wx6j",
              "GHSA-4fvr-rgm6-gqmc",
              "GHSA-4m7w-qmgq-4wj5",
              "GHSA-54jq-c3m8-4m76",
              "GHSA-5h86-8mv2-jq9f",
              "GHSA-5m98-qgg9-wh84",
              "GHSA-63hf-3vf5-4wqf",
              "GHSA-63hw-fmq6-xxg2"
            ],
            "fixed_version": "3.14.1",
            "advisory_count": 70,
            "oldest_advisory_days": 903
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.9.3",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-2fqr-mr3j-6wp8",
              "GHSA-2vrm-gr82-f7m5",
              "GHSA-3wq7-rqq7-wx6j",
              "GHSA-4fvr-rgm6-gqmc",
              "GHSA-4m7w-qmgq-4wj5",
              "GHSA-54jq-c3m8-4m76",
              "GHSA-5m98-qgg9-wh84",
              "GHSA-63hf-3vf5-4wqf",
              "GHSA-63hw-fmq6-xxg2",
              "GHSA-69f9-5gxw-wvc2"
            ],
            "fixed_version": "3.14.1",
            "advisory_count": 66,
            "oldest_advisory_days": 824
          },
          {
            "name": "apache-airflow",
            "direct": false,
            "version": "2.10.3",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-2883-wwh7-x57v",
              "GHSA-2r5m-76wx-56gx",
              "GHSA-33g2-gx67-c2h3",
              "GHSA-4g48-54q2-fg7q",
              "GHSA-5g2w-9f8g-g5q7",
              "GHSA-6hcw-qqr8-pjj8",
              "GHSA-799x-qp47-8qwq",
              "GHSA-7c2f-r6gc-h92h",
              "GHSA-89cj-xrpx-j79m",
              "GHSA-8r55-rv5w-6pfm"
            ],
            "fixed_version": "3.2.1rc1",
            "advisory_count": 43,
            "oldest_advisory_days": 1243
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.1.7",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.2,
            "advisory_ids": [
              "PYSEC-2026-2132"
            ],
            "fixed_version": "8.3.3",
            "advisory_count": 1,
            "oldest_advisory_days": 82
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.3.1",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.2,
            "advisory_ids": [
              "PYSEC-2026-2132"
            ],
            "fixed_version": "8.3.3",
            "advisory_count": 1,
            "oldest_advisory_days": 82
          },
          {
            "name": "msgpack",
            "direct": true,
            "version": "1.1.0",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-6v7p-g79w-8964"
            ],
            "fixed_version": "1.2.1",
            "advisory_count": 1,
            "oldest_advisory_days": 31
          },
          {
            "name": "msgpack",
            "direct": true,
            "version": "1.1.2",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-6v7p-g79w-8964"
            ],
            "fixed_version": "1.2.1",
            "advisory_count": 1,
            "oldest_advisory_days": 31
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.24.4",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7gcm-g887-7qv7",
              "GHSA-8qvm-5x2c-j2w7",
              "PYSEC-2026-1805",
              "PYSEC-2026-1806"
            ],
            "fixed_version": "6.33.5",
            "advisory_count": 4,
            "oldest_advisory_days": 400
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.0",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7gcm-g887-7qv7",
              "GHSA-8qvm-5x2c-j2w7",
              "PYSEC-2026-1805",
              "PYSEC-2026-1806"
            ],
            "fixed_version": "6.33.5",
            "advisory_count": 4,
            "oldest_advisory_days": 400
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.5",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7gcm-g887-7qv7",
              "GHSA-8qvm-5x2c-j2w7",
              "PYSEC-2026-1805",
              "PYSEC-2026-1806"
            ],
            "fixed_version": "6.33.5",
            "advisory_count": 4,
            "oldest_advisory_days": 400
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.8",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7gcm-g887-7qv7",
              "PYSEC-2026-1805"
            ],
            "fixed_version": "6.33.5",
            "advisory_count": 2,
            "oldest_advisory_days": 179
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "5.28.2",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7gcm-g887-7qv7",
              "GHSA-8qvm-5x2c-j2w7",
              "PYSEC-2026-1805",
              "PYSEC-2026-1806"
            ],
            "fixed_version": "6.33.5",
            "advisory_count": 4,
            "oldest_advisory_days": 400
          },
          {
            "name": "setuptools",
            "direct": true,
            "version": "69.5.1",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-5rjg-fvgr-3xxf",
              "GHSA-cx63-2mw6-8hw5",
              "GHSA-h35f-9h28-mq5c",
              "PYSEC-2025-49",
              "PYSEC-2026-1918",
              "PYSEC-2026-3447"
            ],
            "fixed_version": "83.0.0",
            "advisory_count": 6,
            "oldest_advisory_days": 736
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "1.26.18",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2xpw-w6gg-jr37",
              "GHSA-34jh-p97f-mpxf",
              "GHSA-38jv-5279-wg99",
              "GHSA-gm62-xv2j-4w53",
              "GHSA-pq67-6m6q-mj2v",
              "GHSA-qccp-gfcp-xxvc",
              "PYSEC-2026-141",
              "PYSEC-2026-1994",
              "PYSEC-2026-1995",
              "PYSEC-2026-1996"
            ],
            "fixed_version": "2.7.0",
            "advisory_count": 12,
            "oldest_advisory_days": 763
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.0.7",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2xpw-w6gg-jr37",
              "GHSA-34jh-p97f-mpxf",
              "GHSA-38jv-5279-wg99",
              "GHSA-gm62-xv2j-4w53",
              "GHSA-pq67-6m6q-mj2v",
              "GHSA-qccp-gfcp-xxvc",
              "PYSEC-2026-141",
              "PYSEC-2026-1994",
              "PYSEC-2026-1995",
              "PYSEC-2026-1996"
            ],
            "fixed_version": "2.7.0",
            "advisory_count": 12,
            "oldest_advisory_days": 763
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.2.1",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2xpw-w6gg-jr37",
              "GHSA-34jh-p97f-mpxf",
              "GHSA-38jv-5279-wg99",
              "GHSA-48p4-8xcf-vxj5",
              "GHSA-gm62-xv2j-4w53",
              "GHSA-pq67-6m6q-mj2v",
              "GHSA-qccp-gfcp-xxvc",
              "PYSEC-2026-141",
              "PYSEC-2026-1994",
              "PYSEC-2026-1995"
            ],
            "fixed_version": "2.7.0",
            "advisory_count": 14,
            "oldest_advisory_days": 763
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.2.3",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2xpw-w6gg-jr37",
              "GHSA-38jv-5279-wg99",
              "GHSA-48p4-8xcf-vxj5",
              "GHSA-gm62-xv2j-4w53",
              "GHSA-pq67-6m6q-mj2v",
              "GHSA-qccp-gfcp-xxvc",
              "PYSEC-2026-141",
              "PYSEC-2026-1994",
              "PYSEC-2026-1996",
              "PYSEC-2026-1997"
            ],
            "fixed_version": "2.7.0",
            "advisory_count": 12,
            "oldest_advisory_days": 398
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.6.3",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mf9v-mfxr-j63j",
              "GHSA-qccp-gfcp-xxvc",
              "PYSEC-2026-141",
              "PYSEC-2026-142"
            ],
            "fixed_version": "2.7.0",
            "advisory_count": 4,
            "oldest_advisory_days": 71
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.5.1",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8ppf-4f7h-5ppj",
              "GHSA-hm4w-wwcw-mr6r",
              "GHSA-jr27-m4p2-rc6r",
              "PYSEC-2026-2263"
            ],
            "fixed_version": "0.6.4",
            "advisory_count": 4,
            "oldest_advisory_days": 0
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.0",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8ppf-4f7h-5ppj",
              "GHSA-hm4w-wwcw-mr6r",
              "GHSA-jr27-m4p2-rc6r",
              "PYSEC-2026-2263"
            ],
            "fixed_version": "0.6.4",
            "advisory_count": 4,
            "oldest_advisory_days": 0
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.1",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-63vm-454h-vhhq",
              "GHSA-8ppf-4f7h-5ppj",
              "GHSA-hm4w-wwcw-mr6r",
              "GHSA-jr27-m4p2-rc6r",
              "PYSEC-2026-1810",
              "PYSEC-2026-2263"
            ],
            "fixed_version": "0.6.4",
            "advisory_count": 6,
            "oldest_advisory_days": 0
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.2",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8ppf-4f7h-5ppj",
              "GHSA-hm4w-wwcw-mr6r",
              "GHSA-jr27-m4p2-rc6r",
              "PYSEC-2026-2263"
            ],
            "fixed_version": "0.6.4",
            "advisory_count": 4,
            "oldest_advisory_days": 0
          },
          {
            "name": "diskcache",
            "direct": true,
            "version": "5.6.3",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-w8v5-vhqr-4h9v",
              "PYSEC-2026-2447"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 159
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.20.1",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-428g-f7cq-pgp5",
              "PYSEC-2026-1605"
            ],
            "fixed_version": "4.1.2",
            "advisory_count": 2,
            "oldest_advisory_days": 211
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.20.2",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-428g-f7cq-pgp5",
              "PYSEC-2026-1605"
            ],
            "fixed_version": "4.1.2",
            "advisory_count": 2,
            "oldest_advisory_days": 211
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.21.2",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-428g-f7cq-pgp5",
              "PYSEC-2026-1605"
            ],
            "fixed_version": "4.1.2",
            "advisory_count": 2,
            "oldest_advisory_days": 211
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.22.0",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-428g-f7cq-pgp5",
              "PYSEC-2026-1605"
            ],
            "fixed_version": "4.1.2",
            "advisory_count": 2,
            "oldest_advisory_days": 211
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.31.0",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.6,
            "advisory_ids": [
              "GHSA-9hjg-9r4m-mvj7",
              "GHSA-9wx4-h78v-vm56",
              "GHSA-gc5v-m9x4-r6x2",
              "PYSEC-2026-1872",
              "PYSEC-2026-1873",
              "PYSEC-2026-2275"
            ],
            "fixed_version": "2.33.0",
            "advisory_count": 6,
            "oldest_advisory_days": 792
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.2",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.5,
            "advisory_ids": [
              "GHSA-9hjg-9r4m-mvj7",
              "GHSA-gc5v-m9x4-r6x2",
              "PYSEC-2026-1872",
              "PYSEC-2026-2275"
            ],
            "fixed_version": "2.33.0",
            "advisory_count": 4,
            "oldest_advisory_days": 407
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.3",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.5,
            "advisory_ids": [
              "GHSA-9hjg-9r4m-mvj7",
              "GHSA-gc5v-m9x4-r6x2",
              "PYSEC-2026-1872",
              "PYSEC-2026-2275"
            ],
            "fixed_version": "2.33.0",
            "advisory_count": 4,
            "oldest_advisory_days": 407
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.5",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.5,
            "advisory_ids": [
              "GHSA-gc5v-m9x4-r6x2",
              "PYSEC-2026-2275"
            ],
            "fixed_version": "2.33.0",
            "advisory_count": 2,
            "oldest_advisory_days": 118
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.10",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-65pc-fj4g-8rjx",
              "PYSEC-2026-215"
            ],
            "fixed_version": "3.15",
            "advisory_count": 2,
            "oldest_advisory_days": 63
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.4",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-65pc-fj4g-8rjx",
              "GHSA-jjg7-2v4v-x38h",
              "PYSEC-2024-60",
              "PYSEC-2026-215"
            ],
            "fixed_version": "3.15",
            "advisory_count": 4,
            "oldest_advisory_days": 63
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.6",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-65pc-fj4g-8rjx",
              "GHSA-jjg7-2v4v-x38h",
              "PYSEC-2024-60",
              "PYSEC-2026-215"
            ],
            "fixed_version": "3.15",
            "advisory_count": 4,
            "oldest_advisory_days": 63
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.7",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-65pc-fj4g-8rjx",
              "PYSEC-2026-215"
            ],
            "fixed_version": "3.15",
            "advisory_count": 2,
            "oldest_advisory_days": 63
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "7.4.0",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 6.8,
            "advisory_ids": [
              "GHSA-6w46-j5rx-g56g",
              "PYSEC-2026-1845"
            ],
            "fixed_version": "9.0.3",
            "advisory_count": 2,
            "oldest_advisory_days": 180
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "7.4.3",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 6.8,
            "advisory_ids": [
              "GHSA-6w46-j5rx-g56g",
              "PYSEC-2026-1845"
            ],
            "fixed_version": "9.0.3",
            "advisory_count": 2,
            "oldest_advisory_days": 180
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "8.2.1",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": 6.8,
            "advisory_ids": [
              "GHSA-6w46-j5rx-g56g",
              "PYSEC-2026-1845"
            ],
            "fixed_version": "9.0.3",
            "advisory_count": 2,
            "oldest_advisory_days": 180
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.17.1",
            "severity": "low",
            "ecosystem": "pypi",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-5239-wwwm-4pmq",
              "PYSEC-2026-2987"
            ],
            "fixed_version": "2.20.0",
            "advisory_count": 2,
            "oldest_advisory_days": 121
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.17.2",
            "severity": "low",
            "ecosystem": "pypi",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-5239-wwwm-4pmq",
              "PYSEC-2026-2987"
            ],
            "fixed_version": "2.20.0",
            "advisory_count": 2,
            "oldest_advisory_days": 121
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.18.0",
            "severity": "low",
            "ecosystem": "pypi",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-5239-wwwm-4pmq",
              "PYSEC-2026-2987"
            ],
            "fixed_version": "2.20.0",
            "advisory_count": 2,
            "oldest_advisory_days": 121
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.19.2",
            "severity": "low",
            "ecosystem": "pypi",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-5239-wwwm-4pmq",
              "PYSEC-2026-2987"
            ],
            "fixed_version": "2.20.0",
            "advisory_count": 2,
            "oldest_advisory_days": 121
          },
          {
            "name": "apache-airflow-providers-fab",
            "direct": false,
            "version": "1.4.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-8863-4qmg-fr45",
              "GHSA-g283-w6fp-c4fc",
              "PYSEC-2026-1147",
              "PYSEC-2026-2366"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": null
          },
          {
            "name": "apache-airflow-providers-ftp",
            "direct": false,
            "version": "3.11.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "PYSEC-2026-238"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": null
          },
          {
            "name": "apache-airflow-providers-google",
            "direct": false,
            "version": "10.23.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-g9v5-gjwf-9rwx",
              "PYSEC-2026-166",
              "PYSEC-2026-2084"
            ],
            "fixed_version": null,
            "advisory_count": 3,
            "oldest_advisory_days": null
          },
          {
            "name": "apache-airflow-providers-http",
            "direct": false,
            "version": "4.13.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-9r5j-7r2x-rv4g",
              "PYSEC-2026-2367"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.29.5",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-jm66-cg57-jjv5",
              "PYSEC-2026-1208"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.30.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-jm66-cg57-jjv5",
              "PYSEC-2026-1208"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.30.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-jm66-cg57-jjv5",
              "PYSEC-2026-1208"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.31.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-jm66-cg57-jjv5",
              "PYSEC-2026-1208"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-identity",
            "direct": false,
            "version": "1.15.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-m5vv-6r4h-3vj9",
              "PYSEC-2026-1209"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "azure-identity",
            "direct": false,
            "version": "1.16.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-m5vv-6r4h-3vj9",
              "PYSEC-2026-1209"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2023.11.17",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-248v-346w-9cwc",
              "PYSEC-2024-230"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2024.2.2",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-248v-346w-9cwc",
              "PYSEC-2024-230"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "41.0.5",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-3ww4-gg4f-jr7f",
              "GHSA-537c-gmf6-5ccf",
              "GHSA-6vqw-3v5j-54x4",
              "GHSA-9v9h-cgj8-h64p",
              "GHSA-h4gh-qq45-vh27",
              "GHSA-jfhm-5ghh-2f97",
              "GHSA-m959-cc7f-wv43",
              "GHSA-r6ph-v2qm-q3c2",
              "PYSEC-2023-254",
              "PYSEC-2024-225"
            ],
            "fixed_version": null,
            "advisory_count": 14,
            "oldest_advisory_days": null
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "42.0.2",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-537c-gmf6-5ccf",
              "GHSA-6vqw-3v5j-54x4",
              "GHSA-79v4-65xg-pq4g",
              "GHSA-h4gh-qq45-vh27",
              "GHSA-m959-cc7f-wv43",
              "GHSA-r6ph-v2qm-q3c2",
              "PYSEC-2024-225",
              "PYSEC-2026-1284",
              "PYSEC-2026-2141",
              "PYSEC-2026-35"
            ],
            "fixed_version": null,
            "advisory_count": 10,
            "oldest_advisory_days": null
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "43.0.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-537c-gmf6-5ccf",
              "GHSA-79v4-65xg-pq4g",
              "GHSA-m959-cc7f-wv43",
              "GHSA-r6ph-v2qm-q3c2",
              "PYSEC-2026-1284",
              "PYSEC-2026-2141",
              "PYSEC-2026-35"
            ],
            "fixed_version": null,
            "advisory_count": 7,
            "oldest_advisory_days": null
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.13.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-qmgc-5h2g-mvrw",
              "GHSA-w853-jp5j-5j7f",
              "PYSEC-2026-1374",
              "PYSEC-2026-1375"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": null
          },
          {
            "name": "flask",
            "direct": false,
            "version": "2.2.5",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-68rp-wp8r-4726",
              "PYSEC-2026-2151"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "flask-appbuilder",
            "direct": false,
            "version": "4.5.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-765j-9r45-w2q2",
              "GHSA-99pm-ch96-ccp2",
              "GHSA-fw5r-6m3x-rh7p",
              "GHSA-p8q5-cvwx-wvwp",
              "PYSEC-2025-15",
              "PYSEC-2026-1378",
              "PYSEC-2026-1379",
              "PYSEC-2026-1382"
            ],
            "fixed_version": null,
            "advisory_count": 8,
            "oldest_advisory_days": null
          },
          {
            "name": "gitpython",
            "direct": false,
            "version": "3.1.40",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-2f96-g7mh-g2hx",
              "GHSA-2mqj-m65w-jghx",
              "GHSA-7545-fcxq-7j24",
              "GHSA-956x-8gvw-wg5v",
              "GHSA-mv93-w799-cj2w",
              "GHSA-rpm5-65cw-6hj4",
              "GHSA-v87r-6q3f-2j67",
              "GHSA-x2qx-6953-8485",
              "PYSEC-2024-4",
              "PYSEC-2026-2160"
            ],
            "fixed_version": null,
            "advisory_count": 13,
            "oldest_advisory_days": null
          },
          {
            "name": "google-cloud-aiplatform",
            "direct": false,
            "version": "1.70.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-wh2j-26j7-9728",
              "PYSEC-2026-2500"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.14.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-vqfr-h8mv-ghfj",
              "PYSEC-2026-348"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "httplib2",
            "direct": false,
            "version": "0.22.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "PYSEC-2026-3444"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": null
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "5.3.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-58pv-8j8x-9vj2",
              "PYSEC-2026-1469"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.0.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-58pv-8j8x-9vj2",
              "PYSEC-2026-1469"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.2",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-cpwx-vrp4-4pq7",
              "GHSA-gmj6-6f8f-6699",
              "GHSA-h5c8-rqwp-cp95",
              "GHSA-h75v-3vvj-5mfj",
              "GHSA-q2x7-8rv6-6q7h",
              "PYSEC-2026-1471",
              "PYSEC-2026-1472",
              "PYSEC-2026-1473",
              "PYSEC-2026-1474",
              "PYSEC-2026-1475"
            ],
            "fixed_version": null,
            "advisory_count": 10,
            "oldest_advisory_days": null
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.3",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-cpwx-vrp4-4pq7",
              "GHSA-gmj6-6f8f-6699",
              "GHSA-h75v-3vvj-5mfj",
              "GHSA-q2x7-8rv6-6q7h",
              "PYSEC-2026-1471",
              "PYSEC-2026-1472",
              "PYSEC-2026-1474",
              "PYSEC-2026-1475"
            ],
            "fixed_version": null,
            "advisory_count": 8,
            "oldest_advisory_days": null
          },
          {
            "name": "js2py",
            "direct": false,
            "version": "0.74",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-h95x-26f3-88hr",
              "PYSEC-2026-1476"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "jupyter-core",
            "direct": false,
            "version": "5.7.2",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-33p9-3p43-82vq",
              "PYSEC-2026-1477"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "keras",
            "direct": false,
            "version": "2.15.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-36fq-jgmw-4r9c",
              "GHSA-4f3f-g24h-fr8m",
              "GHSA-cjgq-5qmw-rcj6",
              "GHSA-hjqc-jx6g-rwp9",
              "GHSA-mq84-hjqx-cwf2",
              "PYSEC-2025-121",
              "PYSEC-2026-1486",
              "PYSEC-2026-1487",
              "PYSEC-2026-2324",
              "PYSEC-2026-2547"
            ],
            "fixed_version": null,
            "advisory_count": 10,
            "oldest_advisory_days": null
          },
          {
            "name": "mako",
            "direct": false,
            "version": "1.3.5",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-2h4p-vjrc-8xpq",
              "GHSA-v92g-xgxw-vvmm",
              "PYSEC-2026-2617",
              "PYSEC-2026-88"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": null
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.10.3",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-hx9q-6w63-j58v",
              "PYSEC-2026-107"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.10.7",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-hx9q-6w63-j58v",
              "PYSEC-2026-107"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "10.3.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-45hq-cxwh-f6vc",
              "GHSA-4x4j-2g7c-83w6",
              "GHSA-5x94-69rx-g8h2",
              "GHSA-62p4-gmf7-7g93",
              "GHSA-6r8x-57c9-28j4",
              "GHSA-8v84-f9pq-wr9x",
              "GHSA-9hw9-ch79-4vh6",
              "GHSA-cfh3-3jmp-rvhc",
              "GHSA-fj7v-r99m-22gq",
              "GHSA-jjj6-mw9f-p565"
            ],
            "fixed_version": null,
            "advisory_count": 29,
            "oldest_advisory_days": null
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "10.4.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-45hq-cxwh-f6vc",
              "GHSA-4x4j-2g7c-83w6",
              "GHSA-5x94-69rx-g8h2",
              "GHSA-62p4-gmf7-7g93",
              "GHSA-6r8x-57c9-28j4",
              "GHSA-8v84-f9pq-wr9x",
              "GHSA-9hw9-ch79-4vh6",
              "GHSA-cfh3-3jmp-rvhc",
              "GHSA-fj7v-r99m-22gq",
              "GHSA-jjj6-mw9f-p565"
            ],
            "fixed_version": null,
            "advisory_count": 29,
            "oldest_advisory_days": null
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.2.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-45hq-cxwh-f6vc",
              "GHSA-4x4j-2g7c-83w6",
              "GHSA-5x94-69rx-g8h2",
              "GHSA-62p4-gmf7-7g93",
              "GHSA-6r8x-57c9-28j4",
              "GHSA-8v84-f9pq-wr9x",
              "GHSA-9hw9-ch79-4vh6",
              "GHSA-fj7v-r99m-22gq",
              "GHSA-jjj6-mw9f-p565",
              "GHSA-pg7v-jwj7-p798"
            ],
            "fixed_version": null,
            "advisory_count": 21,
            "oldest_advisory_days": null
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "10.0.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-5wvp-7f3h-6wmm",
              "PYSEC-2023-238",
              "PYSEC-2024-161"
            ],
            "fixed_version": null,
            "advisory_count": 3,
            "oldest_advisory_days": null
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "15.0.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-rgxp-2hwp-jwgg",
              "PYSEC-2024-161",
              "PYSEC-2026-113"
            ],
            "fixed_version": null,
            "advisory_count": 3,
            "oldest_advisory_days": null
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "16.1.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-rgxp-2hwp-jwgg",
              "PYSEC-2024-161",
              "PYSEC-2026-113"
            ],
            "fixed_version": null,
            "advisory_count": 3,
            "oldest_advisory_days": null
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.11.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-752w-5fwx-jx9f",
              "GHSA-993g-76c3-p5m4",
              "GHSA-fhv5-28vv-h8m8",
              "GHSA-jq35-7prp-9v3f",
              "GHSA-w7vc-732c-9m39",
              "GHSA-xgmm-8j9v-c9wx",
              "PYSEC-2026-120",
              "PYSEC-2026-175",
              "PYSEC-2026-176",
              "PYSEC-2026-177"
            ],
            "fixed_version": null,
            "advisory_count": 12,
            "oldest_advisory_days": null
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.8.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-752w-5fwx-jx9f",
              "GHSA-993g-76c3-p5m4",
              "GHSA-fhv5-28vv-h8m8",
              "GHSA-w7vc-732c-9m39",
              "GHSA-xgmm-8j9v-c9wx",
              "PYSEC-2025-183",
              "PYSEC-2026-120",
              "PYSEC-2026-175",
              "PYSEC-2026-177",
              "PYSEC-2026-178"
            ],
            "fixed_version": null,
            "advisory_count": 11,
            "oldest_advisory_days": null
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.9.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-752w-5fwx-jx9f",
              "GHSA-993g-76c3-p5m4",
              "GHSA-fhv5-28vv-h8m8",
              "GHSA-jq35-7prp-9v3f",
              "GHSA-w7vc-732c-9m39",
              "GHSA-xgmm-8j9v-c9wx",
              "PYSEC-2025-183",
              "PYSEC-2026-120",
              "PYSEC-2026-175",
              "PYSEC-2026-176"
            ],
            "fixed_version": null,
            "advisory_count": 13,
            "oldest_advisory_days": null
          },
          {
            "name": "pyopenssl",
            "direct": false,
            "version": "23.3.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-5pwr-322w-8jr4",
              "GHSA-vp96-hxj8-p424",
              "PYSEC-2026-2268",
              "PYSEC-2026-2269"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": null
          },
          {
            "name": "pyopenssl",
            "direct": false,
            "version": "24.2.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-5pwr-322w-8jr4",
              "GHSA-vp96-hxj8-p424",
              "PYSEC-2026-2268",
              "PYSEC-2026-2269"
            ],
            "fixed_version": null,
            "advisory_count": 4,
            "oldest_advisory_days": null
          },
          {
            "name": "pyspark",
            "direct": false,
            "version": "3.3.2",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-6p6v-m64v-jx8q",
              "PYSEC-2023-44",
              "PYSEC-2025-184"
            ],
            "fixed_version": null,
            "advisory_count": 3,
            "oldest_advisory_days": null
          },
          {
            "name": "pyspark",
            "direct": false,
            "version": "3.5.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-6p6v-m64v-jx8q",
              "PYSEC-2025-184"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "torch",
            "direct": false,
            "version": "1.12.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-3749-ghw9-m3mg",
              "GHSA-47fc-vmwq-366v",
              "GHSA-53q9-r3pm-6pq6",
              "GHSA-5pcm-hx3q-hm94",
              "GHSA-887c-mr87-cxwp",
              "GHSA-c678-jfcj-6jmf",
              "GHSA-f4hp-rmr7-r7v8",
              "GHSA-pg7h-5qx3-wjr3",
              "GHSA-qfhq-4f3w-5fph",
              "GHSA-rrmf-rvhw-rf47"
            ],
            "fixed_version": null,
            "advisory_count": 30,
            "oldest_advisory_days": null
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.1.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-3749-ghw9-m3mg",
              "GHSA-53q9-r3pm-6pq6",
              "GHSA-5pcm-hx3q-hm94",
              "GHSA-887c-mr87-cxwp",
              "GHSA-c678-jfcj-6jmf",
              "GHSA-f4hp-rmr7-r7v8",
              "GHSA-pg7h-5qx3-wjr3",
              "GHSA-qfhq-4f3w-5fph",
              "GHSA-rrmf-rvhw-rf47",
              "GHSA-vgrw-7cvw-pwgx"
            ],
            "fixed_version": null,
            "advisory_count": 28,
            "oldest_advisory_days": null
          },
          {
            "name": "tornado",
            "direct": false,
            "version": "6.4.1",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-3x9g-8vmp-wqvf",
              "GHSA-78cv-mqj4-43f7",
              "GHSA-7cx3-6m66-7c5m",
              "GHSA-8w49-h785-mj3c",
              "GHSA-c98p-7wgm-6p64",
              "GHSA-cx3h-4qpv-8hc9",
              "GHSA-fqwm-6jpj-5wxc",
              "GHSA-jhmp-mqwm-3gq8",
              "GHSA-mgf9-4vpg-hj56",
              "GHSA-pr2v-jx2c-wg9f"
            ],
            "fixed_version": null,
            "advisory_count": 22,
            "oldest_advisory_days": null
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "2.2.3",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-29vq-49wr-vm6x",
              "GHSA-2g68-c3qc-8985",
              "GHSA-87hc-h4r5-73f7",
              "GHSA-f9vj-2wh5-fj8j",
              "GHSA-hgf8-39gv-g3f2",
              "GHSA-hrfv-mqp8-q5rw",
              "GHSA-q34m-jh98-gwm2",
              "PYSEC-2023-221",
              "PYSEC-2026-2043",
              "PYSEC-2026-2044"
            ],
            "fixed_version": null,
            "advisory_count": 14,
            "oldest_advisory_days": null
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "3.1.5",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-29vq-49wr-vm6x",
              "PYSEC-2026-2320"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "wheel",
            "direct": false,
            "version": "0.41.3",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-8rrh-rw8j-w5fx",
              "PYSEC-2026-2047"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.17.0",
            "severity": "unknown",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-jfmj-5v4g-7637",
              "PYSEC-2026-2074"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": null
          }
        ],
        "collected": true,
        "truncated": false,
        "by_severity": {
          "low": 4,
          "high": 19,
          "unknown": 52,
          "critical": 6,
          "moderate": 16
        },
        "advisory_count": 867,
        "affected_count": 97,
        "assessed_count": 669,
        "assessed_package": null,
        "unassessed_count": 71,
        "direct_affected_count": 28
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "adlfs",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2023.3.0"
        },
        {
          "name": "cachetools",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.3.3"
        },
        {
          "name": "click",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.6"
        },
        {
          "name": "cloudpickle",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.0"
        },
        {
          "name": "croniter",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.3.20"
        },
        {
          "name": "dataclasses-json",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.5.2,<0.5.12"
        },
        {
          "name": "diskcache",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.2.1"
        },
        {
          "name": "docker",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.0.0"
        },
        {
          "name": "docstring-parser",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.9.0"
        },
        {
          "name": "flyteidl",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.16.7,<2.0.0a0"
        },
        {
          "name": "fsspec",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2024.9.0"
        },
        {
          "name": "gcsfs",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2024.9.0,!=2025.5.0,!=2025.5.0post1"
        },
        {
          "name": "googleapis-common-protos",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.57"
        },
        {
          "name": "grpcio",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "grpcio-status",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "importlib-metadata",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "joblib",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "jsonlines",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "jsonpickle",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "keyring",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=18.0.1"
        },
        {
          "name": "markdown-it-py",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "marshmallow",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3,<4"
        },
        {
          "name": "marshmallow-enum",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "marshmallow-jsonschema",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.12.0"
        },
        {
          "name": "setuptools",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "<82"
        },
        {
          "name": "mashumaro",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "msgpack",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.1.0"
        },
        {
          "name": "protobuf",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "!=4.25.0"
        },
        {
          "name": "pygments",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "python-json-logger",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.0"
        },
        {
          "name": "pytimeparse",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.1.8"
        },
        {
          "name": "pyyaml",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "!=6.0.0,!=5.4.0,!=5.4.1"
        },
        {
          "name": "requests",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.18.4"
        },
        {
          "name": "rich",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "rich_click",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "s3fs",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2024.9.0"
        },
        {
          "name": "statsd",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.0.0"
        },
        {
          "name": "typing_extensions",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "urllib3",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.22"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "adlfs",
            "direct": true,
            "version": "2023.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "adlfs",
            "direct": true,
            "version": "2023.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "adlfs",
            "direct": true,
            "version": "2024.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "adlfs",
            "direct": true,
            "version": "2024.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "adlfs",
            "direct": true,
            "version": "2026.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": true,
            "version": "5.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": true,
            "version": "5.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": true,
            "version": "5.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": true,
            "version": "7.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": true,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": true,
            "version": "3.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": true,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "2.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dataclasses-json",
            "direct": true,
            "version": "0.5.9",
            "ecosystem": "pypi"
          },
          {
            "name": "diskcache",
            "direct": true,
            "version": "5.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "docker",
            "direct": true,
            "version": "6.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "docker",
            "direct": true,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": "0.15",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": "0.16",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": "1.10.6",
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": "1.10.7b0",
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": "1.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": "1.16.3",
            "ecosystem": "pypi"
          },
          {
            "name": "flyteidl",
            "direct": true,
            "version": "1.16.4",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": "2023.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": "2023.9.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": "2024.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": "2024.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": true,
            "version": "2026.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gcsfs",
            "direct": true,
            "version": "2023.9.2",
            "ecosystem": "pypi"
          },
          {
            "name": "gcsfs",
            "direct": true,
            "version": "2024.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gcsfs",
            "direct": true,
            "version": "2024.9.0.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "gcsfs",
            "direct": true,
            "version": "2026.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": true,
            "version": "1.61.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": true,
            "version": "1.62.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": true,
            "version": "1.63.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": true,
            "version": "1.65.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": true,
            "version": "1.72.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": "1.59.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": "1.60.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": "1.64.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": "1.66.2",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": true,
            "version": "1.78.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.59.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.60.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.62.2",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.62.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.66.2",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": true,
            "version": "1.78.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "6.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "7.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "8.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "8.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": true,
            "version": "8.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": true,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": true,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": true,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonlines",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpickle",
            "direct": true,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpickle",
            "direct": true,
            "version": "3.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpickle",
            "direct": true,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpickle",
            "direct": true,
            "version": "4.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": true,
            "version": "24.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": true,
            "version": "25.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": true,
            "version": "25.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": true,
            "version": "25.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.20.1",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.20.2",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.22.0",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": true,
            "version": "3.26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow-enum",
            "direct": true,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow-jsonschema",
            "direct": true,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mashumaro",
            "direct": true,
            "version": "3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "mashumaro",
            "direct": true,
            "version": "3.12",
            "ecosystem": "pypi"
          },
          {
            "name": "mashumaro",
            "direct": true,
            "version": "3.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mashumaro",
            "direct": true,
            "version": "3.15",
            "ecosystem": "pypi"
          },
          {
            "name": "mashumaro",
            "direct": true,
            "version": "3.20",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": true,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.24.4",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.5",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "4.25.8",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "5.28.2",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "6.33.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.17.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.19.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-json-logger",
            "direct": true,
            "version": "2.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "python-json-logger",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytimeparse",
            "direct": true,
            "version": "1.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": "6.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": "6.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.3",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.32.5",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": true,
            "version": "13.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": true,
            "version": "13.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": true,
            "version": "13.9.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": true,
            "version": "14.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": true,
            "version": "1.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": true,
            "version": "1.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": true,
            "version": "1.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": true,
            "version": "1.8.3",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": true,
            "version": "1.9.7",
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": true,
            "version": "2023.9.2",
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": true,
            "version": "2024.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": true,
            "version": "2024.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": true,
            "version": "2026.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": true,
            "version": "69.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "statsd",
            "direct": true,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "statsd",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": "4.12.2",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": "4.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "1.26.18",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "absl-py",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aioboto3",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": "2.15.2",
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": "2.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "aiofiles",
            "direct": false,
            "version": "23.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.10.10",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.10.11",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.13.3",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.9.3",
            "ecosystem": "pypi"
          },
          {
            "name": "aioitertools",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aioitertools",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aioresponses",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "alembic",
            "direct": false,
            "version": "1.13.3",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow",
            "direct": false,
            "version": "2.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-apache-beam",
            "direct": false,
            "version": "5.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-common-compat",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-common-io",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-common-sql",
            "direct": false,
            "version": "1.25.0rc1",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-fab",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-ftp",
            "direct": false,
            "version": "3.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-google",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-google",
            "direct": false,
            "version": "10.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-http",
            "direct": false,
            "version": "4.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-imap",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-smtp",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-airflow-providers-sqlite",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-beam",
            "direct": false,
            "version": "2.59.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apispec",
            "direct": false,
            "version": "6.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "argcomplete",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "arrow",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asgiref",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "asn1crypto",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "asttokens",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "astunparse",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "async-timeout",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "async-timeout",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncssh",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "23.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "23.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "24.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "autoflake",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.29.5",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.30.1",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-datalake-store",
            "direct": false,
            "version": "0.0.53",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-identity",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-identity",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-identity",
            "direct": false,
            "version": "1.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-storage-blob",
            "direct": false,
            "version": "12.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-storage-blob",
            "direct": false,
            "version": "12.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-storage-blob",
            "direct": false,
            "version": "12.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "backoff",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "backports-tarfile",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "binaryornot",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "blinker",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.31.17",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.34.106",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.35.36",
            "ecosystem": "pypi"
          },
          {
            "name": "cachelib",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cattrs",
            "direct": false,
            "version": "24.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2023.11.17",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2024.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2024.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2024.8.30",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cfgv",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "clickclick",
            "direct": false,
            "version": "20.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "codespell",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "coloredlogs",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "colorlog",
            "direct": false,
            "version": "6.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "comet-ml",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "comm",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "configupdater",
            "direct": false,
            "version": "3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "connexion",
            "direct": false,
            "version": "2.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cookiecutter",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cookiecutter",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": "7.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "crcmod",
            "direct": false,
            "version": "1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "cron-descriptor",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "41.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "42.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "43.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "dask",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "datasets",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "db-dtypes",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dbt-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "debugpy",
            "direct": false,
            "version": "1.8.7",
            "ecosystem": "pypi"
          },
          {
            "name": "decorator",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "deprecated",
            "direct": false,
            "version": "1.2.14",
            "ecosystem": "pypi"
          },
          {
            "name": "dill",
            "direct": false,
            "version": "0.3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "distlib",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docker-image-py",
            "direct": false,
            "version": "0.1.12",
            "ecosystem": "pypi"
          },
          {
            "name": "docopt",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "dolt-integrations",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "email-validator",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "envd",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "execnet",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fastavro",
            "direct": false,
            "version": "1.9.7",
            "ecosystem": "pypi"
          },
          {
            "name": "fasteners",
            "direct": false,
            "version": "0.19",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.20.3",
            "ecosystem": "pypi"
          },
          {
            "name": "flask",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-appbuilder",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-babel",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-caching",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-jwt-extended",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-limiter",
            "direct": false,
            "version": "3.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-login",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-session",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-sqlalchemy",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-wtf",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "23.5.26",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.12.19",
            "ecosystem": "pypi"
          },
          {
            "name": "flatten-dict",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "flytekit",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "flytekit",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "flytekit",
            "direct": false,
            "version": "1.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "flytekit",
            "direct": false,
            "version": "1.14.0b0",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "gast",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gcloud-aio-auth",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "gcloud-aio-bigquery",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gcloud-aio-storage",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geopandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gitdb",
            "direct": false,
            "version": "4.0.11",
            "ecosystem": "pypi"
          },
          {
            "name": "gitpython",
            "direct": false,
            "version": "3.1.40",
            "ecosystem": "pypi"
          },
          {
            "name": "google-ads",
            "direct": false,
            "version": "25.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-analytics-admin",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.16.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.21.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.29.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-python-client",
            "direct": false,
            "version": "2.149.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-apitools",
            "direct": false,
            "version": "0.5.31",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.23.4",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.29.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.35.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-httplib2",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-oauthlib",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-oauthlib",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-oauthlib",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-aiplatform",
            "direct": false,
            "version": "1.70.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-appengine-logging",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-audit-log",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-automl",
            "direct": false,
            "version": "2.13.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-batch",
            "direct": false,
            "version": "0.17.29",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery",
            "direct": false,
            "version": "3.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery",
            "direct": false,
            "version": "3.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery-datatransfer",
            "direct": false,
            "version": "3.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery-storage",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery-storage",
            "direct": false,
            "version": "2.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigquery-storage",
            "direct": false,
            "version": "2.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-bigtable",
            "direct": false,
            "version": "2.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-build",
            "direct": false,
            "version": "3.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-compute",
            "direct": false,
            "version": "1.19.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-container",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-core",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-core",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-datacatalog",
            "direct": false,
            "version": "3.20.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dataflow-client",
            "direct": false,
            "version": "0.8.12",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dataform",
            "direct": false,
            "version": "0.5.11",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dataplex",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dataproc",
            "direct": false,
            "version": "5.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dataproc-metastore",
            "direct": false,
            "version": "1.15.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-datastore",
            "direct": false,
            "version": "2.20.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-dlp",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-kms",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-language",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-logging",
            "direct": false,
            "version": "3.11.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-memcache",
            "direct": false,
            "version": "1.9.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-monitoring",
            "direct": false,
            "version": "2.22.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-orchestration-airflow",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-os-login",
            "direct": false,
            "version": "2.14.6",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-pubsub",
            "direct": false,
            "version": "2.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-pubsublite",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-recommendations-ai",
            "direct": false,
            "version": "0.10.12",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-redis",
            "direct": false,
            "version": "2.15.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-resource-manager",
            "direct": false,
            "version": "1.12.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-run",
            "direct": false,
            "version": "0.10.9",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-secret-manager",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-secret-manager",
            "direct": false,
            "version": "2.20.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-spanner",
            "direct": false,
            "version": "3.49.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-speech",
            "direct": false,
            "version": "2.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage",
            "direct": false,
            "version": "2.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage",
            "direct": false,
            "version": "2.18.2",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage-control",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage-transfer",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-tasks",
            "direct": false,
            "version": "2.16.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-texttospeech",
            "direct": false,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-translate",
            "direct": false,
            "version": "3.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-videointelligence",
            "direct": false,
            "version": "2.13.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-vision",
            "direct": false,
            "version": "3.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-workflows",
            "direct": false,
            "version": "1.14.5",
            "ecosystem": "pypi"
          },
          {
            "name": "google-crc32c",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-crc32c",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-pasta",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-re2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-re2",
            "direct": false,
            "version": "1.1.20240702",
            "ecosystem": "pypi"
          },
          {
            "name": "google-resumable-media",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-resumable-media",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-resumable-media",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "great-expectations",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "great-tables",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpc-google-iam-v1",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpc-google-iam-v1",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grpc-interceptor",
            "direct": false,
            "version": "0.15.4",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-gcp",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-health-checking",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-health-checking",
            "direct": false,
            "version": "1.62.3",
            "ecosystem": "pypi"
          },
          {
            "name": "gunicorn",
            "direct": false,
            "version": "23.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h5py",
            "direct": false,
            "version": "3.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "hdfs",
            "direct": false,
            "version": "2.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httplib2",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.27.2",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "humanfriendly",
            "direct": false,
            "version": "10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hypothesis",
            "direct": false,
            "version": "6.103.0",
            "ecosystem": "pypi"
          },
          {
            "name": "icdiff",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "identify",
            "direct": false,
            "version": "2.5.36",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.7",
            "ecosystem": "pypi"
          },
          {
            "name": "immutabledict",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-resources",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-resources",
            "direct": false,
            "version": "6.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "inflection",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": "6.29.5",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": "8.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": "8.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "isodate",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "itsdangerous",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-classes",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-classes",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jedi",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jeepney",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "js2py",
            "direct": false,
            "version": "0.74",
            "ecosystem": "pypi"
          },
          {
            "name": "json-merge-patch",
            "direct": false,
            "version": "0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2024.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-client",
            "direct": false,
            "version": "8.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-core",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "keras",
            "direct": false,
            "version": "2.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "keyrings-alt",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "kubernetes",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "kubernetes",
            "direct": false,
            "version": "28.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kubernetes",
            "direct": false,
            "version": "29.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lazy-object-proxy",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "leptonai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "libclang",
            "direct": false,
            "version": "18.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "limits",
            "direct": false,
            "version": "3.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "linkify-it-py",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "lockfile",
            "direct": false,
            "version": "0.12.2",
            "ecosystem": "pypi"
          },
          {
            "name": "looker-sdk",
            "direct": false,
            "version": "24.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mako",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown",
            "direct": false,
            "version": "3.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow-oneofschema",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow-sqlalchemy",
            "direct": false,
            "version": "0.28.2",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib-inline",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "mdit-py-plugins",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "memray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "methodtools",
            "direct": false,
            "version": "0.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "ml-dtypes",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mlflow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mock",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mpmath",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal",
            "direct": false,
            "version": "1.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal",
            "direct": false,
            "version": "1.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal",
            "direct": false,
            "version": "1.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal-extensions",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msal-extensions",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "natsort",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "nbconvert",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "neptune-scale",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "nest-asyncio",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nodeenv",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "1.23.5",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "1.24.4",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "1.26.4",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cublas-cu12",
            "direct": false,
            "version": "12.1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-cupti-cu12",
            "direct": false,
            "version": "12.1.105",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-nvrtc-cu12",
            "direct": false,
            "version": "12.1.105",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-runtime-cu12",
            "direct": false,
            "version": "12.1.105",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cudnn-cu12",
            "direct": false,
            "version": "8.9.2.26",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufft-cu12",
            "direct": false,
            "version": "11.0.2.54",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-curand-cu12",
            "direct": false,
            "version": "10.3.2.106",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusolver-cu12",
            "direct": false,
            "version": "11.4.5.107",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparse-cu12",
            "direct": false,
            "version": "12.1.0.106",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nccl-cu12",
            "direct": false,
            "version": "2.18.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvjitlink-cu12",
            "direct": false,
            "version": "12.3.101",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvtx-cu12",
            "direct": false,
            "version": "12.1.105",
            "ecosystem": "pypi"
          },
          {
            "name": "oauth2client",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "oauthlib",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "objsize",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "omegaconf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "onnx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "onnx-pytorch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": "1.16.1",
            "ecosystem": "pypi"
          },
          {
            "name": "onnxscript",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-grpc",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-http",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-proto",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-sdk",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-semantic-conventions",
            "direct": false,
            "version": "0.37b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opt-einsum",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "optuna",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ordered-set",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.10.7",
            "ecosystem": "pypi"
          },
          {
            "name": "overrides",
            "direct": false,
            "version": "7.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "23.2",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "24.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas-gbq",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pandera",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "papermill",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "parso",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pendulum",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "perian",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pexpect",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "10.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "plotly",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "polars",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "portalocker",
            "direct": false,
            "version": "2.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "portalocker",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pprintpp",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pre-commit",
            "direct": false,
            "version": "3.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "prison",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.45",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.48",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": "1.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": "1.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protoc-gen-openapiv2",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "protoc-gen-swagger",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ptyprocess",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pure-eval",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pure-eval",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "py4j",
            "direct": false,
            "version": "0.10.9.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "16.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow-hotfix",
            "direct": false,
            "version": "0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pybars3",
            "direct": false,
            "version": "0.9.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "2.21",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "2.22",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.9.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.23.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydata-google-auth",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydot",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyflakes",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjsparser",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pymeta3",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pymongo",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyopenssl",
            "direct": false,
            "version": "23.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyopenssl",
            "direct": false,
            "version": "24.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyspark",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyspark",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyspark",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "7.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": "0.21.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": "0.23.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-icdiff",
            "direct": false,
            "version": "0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-mock",
            "direct": false,
            "version": "3.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-timeout",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-xdist",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-daemon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-magic",
            "direct": false,
            "version": "0.4.27",
            "ecosystem": "pypi"
          },
          {
            "name": "python-nvd3",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-slugify",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-slugify",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "python-slugify",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2023.3.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2024.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2024.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32",
            "direct": false,
            "version": "311",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32-ctypes",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyzmq",
            "direct": false,
            "version": "26.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "redis",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.35.1",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2023.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2024.9.11",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-oauthlib",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-oauthlib",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-toolbelt",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3339-validator",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-argparse",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rsa",
            "direct": false,
            "version": "4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "secretstorage",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "setproctitle",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools-scm",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "skl2onnx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "smmap",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "snowflake-connector-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "snowflake-connector-python",
            "direct": false,
            "version": "3.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": "1.4.54",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy-bigquery",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy-jsonfield",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy-spanner",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy-spanner",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy-utils",
            "direct": false,
            "version": "0.41.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlparse",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "stack-data",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": "1.12",
            "ecosystem": "pypi"
          },
          {
            "name": "tabulate",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tensorboard",
            "direct": false,
            "version": "2.15.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tensorboard-data-server",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tensorflow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tensorflow",
            "direct": false,
            "version": "2.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tensorflow-estimator",
            "direct": false,
            "version": "2.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tensorflow-io-gcs-filesystem",
            "direct": false,
            "version": "0.37.1",
            "ecosystem": "pypi"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "text-unidecode",
            "direct": false,
            "version": "1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "tf2onnx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "time-machine",
            "direct": false,
            "version": "2.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomlkit",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "torchvision",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tornado",
            "direct": false,
            "version": "6.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "traitlets",
            "direct": false,
            "version": "5.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "types-cachetools",
            "direct": false,
            "version": "6.2.0.20251022",
            "ecosystem": "pypi"
          },
          {
            "name": "types-croniter",
            "direct": false,
            "version": "2.0.0.20240423",
            "ecosystem": "pypi"
          },
          {
            "name": "types-decorator",
            "direct": false,
            "version": "5.1.8.20240310",
            "ecosystem": "pypi"
          },
          {
            "name": "types-mock",
            "direct": false,
            "version": "5.1.0.20240425",
            "ecosystem": "pypi"
          },
          {
            "name": "types-protobuf",
            "direct": false,
            "version": "4.25.0.20240417",
            "ecosystem": "pypi"
          },
          {
            "name": "types-python-dateutil",
            "direct": false,
            "version": "2.8.19.14",
            "ecosystem": "pypi"
          },
          {
            "name": "types-python-dateutil",
            "direct": false,
            "version": "2.8.19.20240106",
            "ecosystem": "pypi"
          },
          {
            "name": "types-requests",
            "direct": false,
            "version": "2.32.0.20240523",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspect",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2023.4",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2024.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2024.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzlocal",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "uc-micro-py",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "universal-pathlib",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "uritemplate",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "vaex-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv",
            "direct": false,
            "version": "20.36.1",
            "ecosystem": "pypi"
          },
          {
            "name": "wandb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "pypi"
          },
          {
            "name": "websocket-client",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "websocket-client",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "websocket-client",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": "0.41.3",
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": "0.46.3",
            "ecosystem": "pypi"
          },
          {
            "name": "whylabs-client",
            "direct": false,
            "version": "0.6.10",
            "ecosystem": "pypi"
          },
          {
            "name": "whylogs",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "whylogs",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "whylogs-sketching",
            "direct": false,
            "version": "3.4.1.dev3",
            "ecosystem": "pypi"
          },
          {
            "name": "wirerope",
            "direct": false,
            "version": "0.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "1.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wtforms",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "xarray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.17.2",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.18.3",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "zarr",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.20.2",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.21.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 740,
        "direct_count": 143,
        "indirect_count": 597
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 165,
        "merged_prs": 2560,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 726
      },
      "bus_factor": 5,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "pingsutw",
          "commits": 323,
          "avatar_url": "https://avatars.githubusercontent.com/u/37936015?v=4"
        },
        {
          "type": "User",
          "login": "wild-endeavor",
          "commits": 312,
          "avatar_url": "https://avatars.githubusercontent.com/u/2896568?v=4"
        },
        {
          "type": "User",
          "login": "eapolinario",
          "commits": 185,
          "avatar_url": "https://avatars.githubusercontent.com/u/653394?v=4"
        },
        {
          "type": "User",
          "login": "kumare3",
          "commits": 108,
          "avatar_url": "https://avatars.githubusercontent.com/u/16888709?v=4"
        },
        {
          "type": "User",
          "login": "thomasjpfan",
          "commits": 108,
          "avatar_url": "https://avatars.githubusercontent.com/u/5402633?v=4"
        },
        {
          "type": "User",
          "login": "cosmicBboy",
          "commits": 101,
          "avatar_url": "https://avatars.githubusercontent.com/u/2816689?v=4"
        },
        {
          "type": "User",
          "login": "Future-Outlier",
          "commits": 89,
          "avatar_url": "https://avatars.githubusercontent.com/u/76461262?v=4"
        },
        {
          "type": "User",
          "login": "samhita-alla",
          "commits": 78,
          "avatar_url": "https://avatars.githubusercontent.com/u/27777173?v=4"
        },
        {
          "type": "User",
          "login": "matthewphsmith",
          "commits": 62,
          "avatar_url": "https://avatars.githubusercontent.com/u/7597118?v=4"
        },
        {
          "type": "User",
          "login": "fg91",
          "commits": 38,
          "avatar_url": "https://avatars.githubusercontent.com/u/36511035?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.157
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build_image.yml",
        "pythonbuild.yml",
        "pythonpublish.yml",
        "upgrade_automation.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "uv.lock"
      ],
      "scorecard": null,
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/flyteorg/flytekit",
    "host": "github.com",
    "name": "flytekit",
    "owner": "flyteorg"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 73,
      "inputs": {
        "security": 4,
        "vitality": 91,
        "community": 79,
        "governance": 84,
        "engineering": 91
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 91,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "commits_last_year": 100,
              "human_commit_share": 0.91,
              "days_since_last_push": 0,
              "active_weeks_last_year": 32
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "32/52 weeks with commits",
                "points": 22.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 32
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "100 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v1.16.26",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 10.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~10.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 10.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 79,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "forks": 339,
              "stars": 315,
              "watchers": 234,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "315 stars",
                "points": 40.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 315
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "339 forks",
                "points": 21.1,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 339
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "234 watchers",
                "points": 13.2,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 234
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 94,
            "inputs": {
              "packages": [
                "flytekit"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 413094
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "413,094 downloads/month across pypi",
                "points": 74.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 413094,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 84,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "bus_factor": 5,
              "contributors_sampled": 99,
              "top_contributor_share": 0.157
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "5 contributor(s) cover half of all commits",
                "points": 45.9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 16% of commits",
                "points": 19,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 16
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 78,
            "inputs": {
              "merged_prs": 2560,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 726
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2560/3286 decided PRs merged",
                "points": 29.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2560,
                      "decided": 3286
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 73,
            "inputs": {
              "followers": 338,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "flyteorg",
              "public_repos": 49,
              "account_age_days": 3112
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "338 followers of flyteorg",
                "points": 18.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 338,
                      "login": "flyteorg"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "49 public repos, account ~8 yr old",
                "points": 24.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 49
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "flytekit"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "480 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 480
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 91,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "4 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "flyte",
                "flyte-tasks",
                "pypi",
                "spark",
                "workflows",
                "sdk",
                "python",
                "mlops",
                "extensible",
                "automation",
                "data-science",
                "data",
                "hacktoberfest"
              ],
              "has_wiki": false,
              "homepage": "https://docs.flyte.org/en/latest/api/flytekit/docs_index.html",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://docs.flyte.org/en/latest/api/flytekit/docs_index.html",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "13 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "critical",
        "name": "Security",
        "value": 4,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dependency_lockfiles"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "source": "file_signals",
              "lockfiles": [
                "uv.lock"
              ],
              "manifests": [
                "plugins/setup.py",
                "pyproject.toml",
                "setup.cfg",
                "setup.py"
              ],
              "has_codeql_workflow": false,
              "has_security_policy": false,
              "has_dependabot_config": false
            },
            "components": [
              {
                "key": "security_policy_security_md",
                "name": "Security policy (SECURITY.md)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "dependabot_config",
                "name": "Dependabot config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "dependency_lockfiles",
                "name": "Dependency lockfiles",
                "detail": "published library — lockfiles are an application concern, not expected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "lockfiles_not_expected",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "codeql_workflow",
                "name": "CodeQL workflow",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "critical",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 669 resolved dependencies against OSV; 71 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 669
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 71
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 15,
            "inputs": {
              "source": "osv",
              "advisories": 867,
              "affected_packages": 97,
              "assessed_packages": 669,
              "unassessed_packages": 71,
              "affected_by_severity": "critical 6, high 19, moderate 16, low 4, unknown 52",
              "direct_affected_packages": 28
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "28 affected: click 8.1.7 (high 7.2), click 8.3.1 (high 7.2), msgpack 1.1.0 (high 7.5), +25 more",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 28,
                      "packages": "click 8.1.7 (high 7.2), click 8.3.1 (high 7.2), msgpack 1.1.0 (high 7.5)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 25
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "23 advisory-carrying package(s) unaddressed past 90 days; oldest published 792 days ago",
                "points": 9.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 23,
                      "oldest": 792
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 669,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 58,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.934,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "85 of 91 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 85,
                      "sampled": 91
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "uv.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile",
                "docs/Makefile",
                "plugins/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.09
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, docs/Makefile, plugins/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, docs/Makefile, plugins/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "9 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 151999,
              "source_files_sampled": 980,
              "oversized_source_files": 9
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "9/980 source files over 60KB",
                "points": 54.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 980,
                      "oversized": 9
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples",
                "notebooks"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples, notebooks",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples, notebooks"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "deps.dev does not index pypi:flytekit@1.16.26; advisories assessed against the repository dependency graph instead",
    "Advisory severity resolved for 120 of 365 advisories (lookup cap); the remainder are reported as unknown severity",
    "OpenSSF Scorecard did not return a usable result (exit code -9); skipping Scorecard checks"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T21:17:43.403990Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/flyteorg/flytekit.svg",
  "full_name": "flyteorg/flytekit",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.23.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsPyPI.