diff --git a/codecarbon/_version.py b/codecarbon/_version.py
index 528787cfc..055276878 100644
--- a/codecarbon/_version.py
+++ b/codecarbon/_version.py
@@ -1 +1 @@
-__version__ = "3.0.0"
+__version__ = "3.0.1"
diff --git a/codecarbon/emissions_tracker.py b/codecarbon/emissions_tracker.py
index 24ee26c4f..9b4294d73 100644
--- a/codecarbon/emissions_tracker.py
+++ b/codecarbon/emissions_tracker.py
@@ -123,14 +123,18 @@ def _set_from_conf(
# no value provided in the constructor for `name`: check in the conf
# (using the provided default value)
value = self._external_conf.get(name, default)
-
- # parse to `return_type` if needed
- if return_type is not None:
+ if value is not None and return_type is not None:
if return_type is bool:
value = str(value).lower() == "true"
else:
assert callable(return_type)
- value = return_type(value)
+ try:
+ value = return_type(value)
+ except (ValueError, TypeError):
+ logger.error(
+ f"CONFIG - Value for '{name}' must be of type '{return_type.__name__}'. Got '{value}' instead. It will be ignored."
+ )
+ value = None
# Check conf
if name == "output_dir":
if not os.path.exists(value):
@@ -280,10 +284,10 @@ def __init__(
self._set_from_conf(tracking_mode, "tracking_mode", "machine")
self._set_from_conf(on_csv_write, "on_csv_write", "append")
self._set_from_conf(logger_preamble, "logger_preamble", "")
- self._set_from_conf(force_cpu_power, "force_cpu_power")
- self._set_from_conf(force_ram_power, "force_ram_power")
+ self._set_from_conf(force_cpu_power, "force_cpu_power", None, float)
+ self._set_from_conf(force_ram_power, "force_ram_power", None, float)
self._set_from_conf(pue, "pue", 1.0, float)
- self._set_from_conf(force_mode_cpu_load, "force_mode_cpu_load", False)
+ self._set_from_conf(force_mode_cpu_load, "force_mode_cpu_load", False, bool)
self._set_from_conf(
experiment_id, "experiment_id", "5b0fa12a-3dd7-45bb-9766-cc326314d9f1"
)
diff --git a/docs/.buildinfo b/docs/.buildinfo
index 3e62a9af1..037f452e7 100644
--- a/docs/.buildinfo
+++ b/docs/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d75eb8ce15708524ae1fb27acec993bc
+config: efdde624c3e18e32d8a147d48b8c5ee5
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index e1ef608cd..12d3d03c1 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '3.0.0',
+ VERSION: '3.0.1',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/docs/advanced_installation.html b/docs/advanced_installation.html
index 2491f629d..9f2d6749f 100644
--- a/docs/advanced_installation.html
+++ b/docs/advanced_installation.html
@@ -6,14 +6,14 @@
-