Skip to content

codedthinking/Targets.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Targets.jl

Targets.jl is a Julia package for defining and managing computational targets, inspired by the targets library in R. It provides a simple way to create reproducible and efficient data pipelines by automatically tracking dependencies and caching results.

Features

  • Define targets using the @target macro
  • Automatically track dependencies between targets
  • Cache computed results to avoid unnecessary recomputation
  • Automatically recompute targets when dependencies change
  • Support for both simple values and function-based targets

Example Usage

using Targets

# Define a function and some targets
function add(x, y)
    println("Computing the sum of $x and $y")
    x + y
end

@target a = 1
@target b = 2
@target c = add(a, b)

# Access target values
@get c  # Computes and caches the result
println("The value of c is: $c")

# Change a dependency
@target a = 10

# Access c again (it will be automatically recomputed)
@get c

# Redefine the function
function add(x, y)
    println("Computing the sum of $x and 2*$y")
    x + 2*y
end

# Access c again (it will be automatically recomputed)
@get c

Targets.jl simplifies the process of creating data pipelines by managing dependencies and caching results, making your workflow more efficient and reproducible.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages