JuliaDiff/ChainRulesCore.jl

AD-backend agnostic system defining custom forward and reverse mode rules. This is the light weight core to allow you to define rules for your functions in your packages, without depending on any particular AD system.

267

stars

1,093

commits

Julia

primary language

Jun 22, 2026

updated

automatic-differentiation
hacktoberfest
julia

README

ChainRulesCore

Build Status Coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages DOI

Docs:

⚠️ The ChainRules project is currently seeking a new primary maintainer ⚠️
See this Discourse thread. We currently have many secondary maintainers and contributors with commit rights, but noone who has committed to leading the efforts. Until this is resolved PRs and issues may not recieve timely response.

The ChainRulesCore package provides a light-weight dependency for defining sensitivities for functions in your packages, without you needing to depend on ChainRules itself.

This will allow your package to be used with ChainRules.jl, which aims to provide a variety of common utilities that can be used by downstream automatic differentiation (AD) tools to define and execute forward-, reverse-, and mixed-mode primitives.

This package is a work in progress; PRs welcome!

Contributors

(top 30 of 58)

oxinabox

574 commits

mcabbott

116 commits

mzgubic

57 commits

jrevels

56 commits

JuliaDiff/ChainRulesCore.jl

AD-backend agnostic system defining custom forward and reverse mode rules. This is the light weight core to allow you to define rules for your functions in your packages, without depending on any particular AD system.

267

stars

1,093

commits

Julia

primary language

Jun 22, 2026

updated

automatic-differentiation
hacktoberfest
julia

README

ChainRulesCore

Build Status Coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages DOI

Docs:

⚠️ The ChainRules project is currently seeking a new primary maintainer ⚠️
See this Discourse thread. We currently have many secondary maintainers and contributors with commit rights, but noone who has committed to leading the efforts. Until this is resolved PRs and issues may not recieve timely response.

The ChainRulesCore package provides a light-weight dependency for defining sensitivities for functions in your packages, without you needing to depend on ChainRules itself.

This will allow your package to be used with ChainRules.jl, which aims to provide a variety of common utilities that can be used by downstream automatic differentiation (AD) tools to define and execute forward-, reverse-, and mixed-mode primitives.

This package is a work in progress; PRs welcome!

Contributors

(top 30 of 58)

oxinabox

574 commits

mcabbott

116 commits

mzgubic

57 commits

jrevels

56 commits

Languages

Julia

100.0%