# FluxML/Zygote.jl

21st century AD

Repository: https://github.com/FluxML/Zygote.jl
Canonical: https://ross.abutalabs.com/products/zygotejl
Homepage: https://fluxml.ai/Zygote.jl/
Language: Julia
License: NOASSERTION
License Family: other
Topics: julia, julia-compiler, control-flow, gradient, machine-learning, automatic-differentiation
Last push: 2026-08-11T08:44:01+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 94, longevity 100
- inputs: {"age_days": 2949, "days_push": 22, "days_rel": 42, "gap_med": 7.0, "n_releases_24m": 21}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1568, forks 221 (observed 2026-08-28T04:05:05.103831+00:00)

## What it is
Zygote.jl is a source-to-source automatic differentiation library for Julia that hooks into the Julia compiler to generate gradient (backwards pass) code automatically. It is the AD engine behind the Flux machine learning framework and supports control flow, recursion, closures, and custom gradient rules via ChainRules.

## Use cases
- compute gradients of Julia functions for machine learning
- differentiate a neural network model with respect to its parameters
- train models with Flux using reverse-mode AD
- define custom gradient rules with ChainRulesCore rrule
- differentiate code containing control flow, recursion, and closures
- generate efficient backwards passes at compile time

## When to choose
- you are training or building models in Flux.jl
- you need reverse-mode automatic differentiation in Julia with dynamic control flow
- you want gradients over nested parameter structures
- you need compile-time generated backwards passes for performance

## When to avoid
- your code relies on array mutation or exception handling, which are unsupported
- you need forward-mode differentiation only (consider ForwardDiff.jl)
- you are not working in the Julia ecosystem

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, compiler
- domain: machine-learning, deep-learning
- platform: jvm, cross-platform
- tags: automatic-differentiation, julia, source-to-source, gradients, fluxml, differentiable-programming, algorithms

## Member repositories
- FluxML/Zygote.jl (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:05.103831+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:58:55.945004+00:00, confidence not recorded.
  - readme: https://github.com/FluxML/Zygote.jl (fetched 2026-08-28T04:05:05.103831+00:00, sha cb8fcea94e99)
  - homepage: https://fluxml.ai/Zygote.jl/ (fetched 2026-08-29T11:28:24.343180+00:00, sha 44136fa355b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
