mlco2/codecarbon

Too many variables when initializing the EmissionsTracker

Open

#404 opened on May 5, 2023

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Python (306 forks)auto 404
enhancementgood first issue

Repository metrics

Stars
 (1,885 stars)
PR merge metrics
 (PR metrics pending)

Description

Description

The BaseEmissionsTracker accepts 22 variables when initialized (and growing). This could lead to potential issues. And it is a known code smell.

What I Propose

Refactor the input variables to accept a config dict object as input.

So instead of

EmissionsTracker(project_name: "My project", measure_power_secs=10, output_dir="./temp")

codecarbon could do

config_options = {
    project_name: "My project",
    measure_power_secs=10,
    output_dir="./temp",
}
EmissionsTracker(config_options)

Contributor guide