diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5163713c4..d1302f578 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,34 +4,32 @@
-- [Contributing to Code Carbon](#contributing-to-code-carbon)
- - [ Have a Question?](#-have-a-question)
- - [ Found a Bug?](#-found-a-bug)
- - [ Have a Feature Request?](#-have-a-feature-request)
- - [ Ready to Contribute!](#-ready-to-contribute)
- - [ Create an issue](#-create-an-issue)
- - [Installation](#installation)
- - [Some Hatch commands](#some-hatch-commands)
- - [Tests](#tests)
- - [Stress your computer](#stress-your-computer)
- - [Update all dependancies](#update-all-dependancies)
- - [Branching and Pull Requests](#branching-and-pull-requests)
- - [Debug in VS Code](#debug-in-vs-code)
- - [ Local deployment](#-local-deployment)
- - [CSV Dashboard](#csv-dashboard)
- - [API Dashboard](#api-dashboard)
- - [API](#api)
- - [Test the API](#test-the-api)
- - [Coding style \&\& Linting](#coding-style--linting)
- - [Dependencies management](#dependencies-management)
- - [Alternative ways of contributing](#alternative-ways-of-contributing)
- - [Build Documentation 🖨️](#build-documentation-️)
- - [Release process](#release-process)
- - [Restore database from a production Backup](#restore-database-from-a-production-backup)
- - [Deployment](#deployment)
- - [API](#api-1)
- - [Dashboard](#dashboard)
- - [License](#license)
+- [ Have a Question?](#have-a-question)
+- [ Found a Bug?](#found-a-bug)
+- [ Have a Feature Request?](#have-a-feature-request)
+- [Alternative ways of contributing](#alternative-ways-of-contributing)
+- [ Ready to Contribute!](#ready-to-contribute)
+ * [Installation](#installation)
+ * [Some Hatch commands](#some-hatch-commands)
+ * [Tests](#tests)
+ * [Stress your computer](#stress-your-computer)
+ * [Update all dependancies](#update-all-dependancies)
+ * [Branching and Pull Requests](#branching-and-pull-requests)
+ * [Debug in VS Code](#debug-in-vs-code)
+ * [Coding style && Linting](#coding-style-linting)
+ * [Dependencies management](#dependencies-management)
+ * [Build Documentation 🖨️](#build-documentation-)
+ * [Release process](#release-process)
+- [API and Dashboard](#api-and-dashboard)
+ * [CSV Dashboard](#csv-dashboard)
+ * [Web dashboard](#web-dashboard)
+ * [API](#api)
+ * [Test the API](#test-the-api)
+ * [Restore database from a production Backup](#restore-database-from-a-production-backup)
+ * [Deployment](#deployment)
+ + [API](#api-1)
+ + [Dashboard](#dashboard)
+- [License](#license)
@@ -53,16 +51,20 @@ If you've identified a bug in `codecarbon`, please [submit an issue](#issue) to
Feel free to describe your request by [submitting an issue](#issue) documenting the feature (with its intent) and a PR with a proposed implementation of the feature.
+Before submitting a new issue, please search the issues to make sure there isn't a similar issue already.
+New issues can be created within the [GitHub repo](https://github.com/mlco2/codecarbon/issues/new).
-
-## Ready to Contribute!
+
+## Alternative ways of contributing
+You have a cool idea, but do not know know if it fits with Code Carbon? You can create an issue to share:
-
-### Create an issue
+- the code, via the Github repo or [Binder](https://mybinder.org/), to share executable notebooks
+- a webapp, using [Voilà](https://github.com/voila-dashboards/voila), [Dash](https://github.com/plotly/dash) or [Streamlit](https://github.com/streamlit/streamlit)
+- ideas for improvement about the tool or its documentation
-Before submitting a new issue, please search the issues to make sure there isn't a similar issue already.
-New issues can be created with in the [GitHub repo](https://github.com/mlco2/codecarbon/issues/new).
+
+## Ready to Contribute!
@@ -288,12 +290,97 @@ Then run opened test with this button:

-
-### Local deployment
+
+### Coding style && Linting
+The coding style and linting rules are automatically applied and enforced by [pre-commit](https://pre-commit.com/). This tool helps to maintain the same code style across the code-base such to ease the review and collaboration process. Once installed ([https://pre-commit.com/#installation](https://pre-commit.com/#installation)), you can install a Git hook to automatically run pre-commit (and all configured linters/auto-formatters) before doing a commit with `hatch run dev:precommit-install`. Then once you tried to commit, the linters/formatters will run automatically. It should display something similar to:
+
+```log
+[INFO] Initializing environment for https://github.com/psf/black.
+[INFO] Initializing environment for https://gitlab.com/pycqa/flake8.
+[INFO] Installing environment for https://github.com/psf/black.
+[INFO] Once installed this environment will be reused.
+[INFO] This may take a few minutes...
+[INFO] Installing environment for https://gitlab.com/pycqa/flake8.
+[INFO] Once installed this environment will be reused.
+[INFO] This may take a few minutes...
+seed isort known_third_party.............................................Passed
+isort....................................................................Failed
+- hook id: isort
+- files were modified by this hook
+
+Fixing codecarbon/__init__.py
+
+black....................................................................Passed
+flake8...................................................................Passed
+```
+
+If any of the linters/formatters fail, check the difference with `git diff`, add the differences if there is no behavior changes (isort and black might have change some coding style or import order, this is expected it is their job) with `git add` and finally try to commit again `git commit ...`.
+
+You can also run `pre-commit` with `hatch run dev:pre-commit run -v` if you have some changes staged but you are not ready yet to commit.
+
+It's nice to keep it up-to-date with `hatch run dev:precommit-update` sometimes.
+
+
+
+### Dependencies management
+
+Dependencies are defined in different places:
+
+- In [pyproject.toml](pyproject.toml#L28), those are all the dependencies.
+- In [requirements.txt](requirements.txt) and [requirements/](requirements/), those are locked dependencies managed by [Hatch plugin pip-compile](https://github.com/juftin/hatch-pip-compile), do not edit them.
+- In [.conda/meta.yaml](.conda/meta.yaml#L21), those are the dependencies for the Conda pacakge targeting Python 3.7 and higher versions.
+
+
+
+### Build Documentation 🖨️
+
+No software is complete without great documentation!
+To make generating documentation easier, we use [`sphinx` package](https://www.sphinx-doc.org/en/master/usage/installation.html#installation-from-pypi).
+
+In order to make changes, edit the `.rst` files that are in the `/docs/edit` folder, and then run:
+
+```
+hatch run docs:build
+```
+
+to regenerate the html files.
+
+
+### Release process
+
+- Merge all PRs.
+- Create a PR bumping the version with `hatch run dev:bumpver update --patch`.
+- Run `hatch run python3 .github/check_version.py` to check version consistancy.
+- Update the dependencies with `hatch-pip-compile --upgrade --all`.
+- [Build Documentation](#documentation) if needed with `hatch run docs:build`.
+- Push the changes.
+- Merge the PR.
+- Wait for the Github Action `ReleaseDrafter` to finish running on the merge commit.
+- [Edit the Draft release](https://github.com/mlco2/codecarbon/releases/) on Github and give it a tag, `v1.0.0` for the version 1.0.0. Github will automatically create a Git tag for it. Complete help [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
+- A [Github Action](https://github.com/mlco2/codecarbon/actions) _Upload Python Package_ will be run automaticaly to upload the package.
+- For conda, we now have a [feedstock](https://github.com/conda-forge/codecarbon-feedstock/pulls) to publish to Conda-Forge channel.
+
+If you still want to publish to the Anaconda CodeCarbon channel:
+
+Start a Docker image in the same directory and bind-mount the current directory with:
+
+`docker run -ti --rm=true -v $PWD:/data continuumio/anaconda3`.
+
+Inside the docker container, run:
+
+- `conda install -y conda-build conda-verify conda-forge::hatchling`
+- `cd /data && mkdir -p /conda_dist`
+- `conda build --python 3.11 .conda/ -c conda-forge --output-folder /conda_dist`
+- `anaconda upload --user codecarbon /conda_dist/noarch/codecarbon-*.tar.bz2`
+
+
+
+
+## API and Dashboard
-## CSV Dashboard
+### CSV Dashboard
To run locally the dashboard application, you can use it out on a sample data file such as the one in `examples/emissions.csv`, and run it with the following command from the code base:
@@ -311,9 +398,8 @@ If you have the package installed, you can run the CLI command:
carbonboard --filepath="examples/emissions.csv" --port=8050
```
-
-
-## API Dashboard
+
+### Web dashboard
To test the new dashboard that uses the API, run:
@@ -392,105 +478,8 @@ hatch run api:test-integ
```
-
-
-### Coding style && Linting
-
-The coding style and linting rules are automatically applied and enforced by [pre-commit](https://pre-commit.com/). This tool helps to maintain the same code style across the code-base such to ease the review and collaboration process. Once installed ([https://pre-commit.com/#installation](https://pre-commit.com/#installation)), you can install a Git hook to automatically run pre-commit (and all configured linters/auto-formatters) before doing a commit with `hatch run dev:precommit-install`. Then once you tried to commit, the linters/formatters will run automatically. It should display something similar to:
-
-```log
-[INFO] Initializing environment for https://github.com/psf/black.
-[INFO] Initializing environment for https://gitlab.com/pycqa/flake8.
-[INFO] Installing environment for https://github.com/psf/black.
-[INFO] Once installed this environment will be reused.
-[INFO] This may take a few minutes...
-[INFO] Installing environment for https://gitlab.com/pycqa/flake8.
-[INFO] Once installed this environment will be reused.
-[INFO] This may take a few minutes...
-seed isort known_third_party.............................................Passed
-isort....................................................................Failed
-- hook id: isort
-- files were modified by this hook
-
-Fixing codecarbon/__init__.py
-
-black....................................................................Passed
-flake8...................................................................Passed
-```
-
-If any of the linters/formatters fail, check the difference with `git diff`, add the differences if there is no behavior changes (isort and black might have change some coding style or import order, this is expected it is their job) with `git add` and finally try to commit again `git commit ...`.
-
-You can also run `pre-commit` with `hatch run dev:pre-commit run -v` if you have some changes staged but you are not ready yet to commit.
-
-It's nice to keep it up-to-date with `hatch run dev:precommit-update` sometimes.
-
-
-
-### Dependencies management
-
-Dependencies are defined in different places:
-
-- In [pyproject.toml](pyproject.toml#L28), those are all the dependencies.
-- In [requirements.txt](requirements.txt) and [requirements/](requirements/), those are locked dependencies managed by [Hatch plugin pip-compile](https://github.com/juftin/hatch-pip-compile), do not edit them.
-- In [.conda/meta.yaml](.conda/meta.yaml#L21), those are the dependencies for the Conda pacakge targeting Python 3.7 and higher versions.
-
-
-
-### Alternative ways of contributing
-
-You have a cool idea, but do not know know if it fits with Code Carbon? You can create an issue to share:
-
-- the code, via the Github repo or [Binder](https://mybinder.org/), to share executable notebooks
-- a webapp, using [Voilà](https://github.com/voila-dashboards/voila), [Dash](https://github.com/plotly/dash) or [Streamlit](https://github.com/streamlit/streamlit)
-- ideas for improvement about the tool or its documentation
-
-
-
-### Build Documentation 🖨️
-
-No software is complete without great documentation!
-To make generating documentation easier, we use [`sphinx` package](https://www.sphinx-doc.org/en/master/usage/installation.html#installation-from-pypi).
-
-In order to make changes, edit the `.rst` files that are in the `/docs/edit` folder, and then run:
-
-```
-hatch run docs:build
-```
-
-to regenerate the html files.
-
-
-
-### Release process
-
-- Merge all PRs.
-- Create a PR bumping the version with `hatch run dev:bumpver update --patch`.
-- Run `hatch run python3 .github/check_version.py` to check version consistancy.
-- Update the dependencies with `hatch-pip-compile --upgrade --all`.
-- [Build Documentation](#documentation) if needed with `hatch run docs:build`.
-- Push the changes.
-- Merge the PR.
-- Wait for the Github Action `ReleaseDrafter` to finish running on the merge commit.
-- [Edit the Draft release](https://github.com/mlco2/codecarbon/releases/) on Github and give it a tag, `v1.0.0` for the version 1.0.0. Github will automatically create a Git tag for it. Complete help [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
-- A [Github Action](https://github.com/mlco2/codecarbon/actions) _Upload Python Package_ will be run automaticaly to upload the package.
-- For conda, we now have a [feedstock](https://github.com/conda-forge/codecarbon-feedstock/pulls) to publish to Conda-Forge channel.
-
-If you still want to publish to the Anaconda CodeCarbon channel:
-
-Start a Docker image in the same directory and bind-mount the current directory with:
-
-`docker run -ti --rm=true -v $PWD:/data continuumio/anaconda3`.
-
-Inside the docker container, run:
-
-- `conda install -y conda-build conda-verify conda-forge::hatchling`
-- `cd /data && mkdir -p /conda_dist`
-- `conda build --python 3.11 .conda/ -c conda-forge --output-folder /conda_dist`
-- `anaconda upload --user codecarbon /conda_dist/noarch/codecarbon-*.tar.bz2`
-
-
-#### Restore database from a production Backup
+### Restore database from a production Backup
```sh
docker cp postgresql_*.dump postgres_codecarbon:/tmp
@@ -517,11 +506,11 @@ CALL public.spcc_purgeduplicatedata();
-#### Deployment
+### Deployment
-##### API
+#### API
The API is availiable to everyone from https://api.codecarbon.io, but if you want to deploy it for yourself, here are the instructions.
@@ -557,7 +546,7 @@ Please note that Clever Cloud host Code Carbon for free because they like our pr
-##### Dashboard
+#### Dashboard
Same as for the API, for example to deploy the branh `fix-unit` to CleverCloud:
@@ -578,7 +567,7 @@ PORT="8000"
-### License
+## License
By contributing your code, you agree to license your contribution under the terms of the [MIT License](LICENSE).
diff --git a/codecarbon/_version.py b/codecarbon/_version.py
index b4066b65a..239bf2b2b 100644
--- a/codecarbon/_version.py
+++ b/codecarbon/_version.py
@@ -1 +1 @@
-__version__ = "2.8.1"
+__version__ = "2.8.2"
diff --git a/codecarbon/cli/main.py b/codecarbon/cli/main.py
index 20470351c..9f1614837 100644
--- a/codecarbon/cli/main.py
+++ b/codecarbon/cli/main.py
@@ -101,7 +101,6 @@ def show_config(path: Path = Path("./.codecarbon.config")) -> None:
fief = Fief(AUTH_SERVER_URL, AUTH_CLIENT_ID)
fief_auth = FiefAuth(fief, "./credentials.json")
-print("FIEF", AUTH_SERVER_URL, AUTH_CLIENT_ID)
def _get_access_token():
@@ -128,10 +127,7 @@ def login():
fief_auth.authorize()
-@codecarbon.command("get-token", short_help="Get project token")
-def get_token(project_id: str):
- # api = ApiClient(endpoint_url=API_URL) # TODO: get endpoint from config
- # api.set_access_token(_get_access_token())
+def get_api_key(project_id: str):
req = requests.post(
f"{API_URL}/projects/{project_id}/api-tokens",
json={
@@ -141,7 +137,16 @@ def get_token(project_id: str):
},
headers={"Authorization": f"Bearer {_get_access_token()}"},
)
- print("Your token: " + req.json()["token"])
+ api_key = req.json()["token"]
+ return api_key
+
+
+@codecarbon.command("get-token", short_help="Get project token")
+def get_token(project_id: str):
+ # api = ApiClient(endpoint_url=API_URL) # TODO: get endpoint from config
+ # api.set_access_token(_get_access_token())
+ token = get_api_key(project_id)
+ print("Your token: " + token)
print("Add it to the api_key field in your configuration file")
@@ -292,6 +297,8 @@ def config():
experiment = [e for e in experiments if e["name"] == experiment][0]
overwrite_local_config("experiment_id", experiment["id"], path=file_path)
+ api_key = get_api_key(project_id)
+ overwrite_local_config("api_key", api_key, path=file_path)
show_config(file_path)
print(
"Consult [link=https://mlco2.github.io/codecarbon/usage.html#configuration]configuration documentation[/link] for more configuration options"
diff --git a/docs/.buildinfo b/docs/.buildinfo
index c23838d37..748624d42 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: 734e8c48b9573f38d51f3c058baf536f
+config: 9f4750dacb0c56bfad9fbaf2281536e5
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index 74977ded0..4085713d6 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '2.8.1',
+ VERSION: '2.8.2',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/docs/api.html b/docs/api.html
index 6aa904aad..2a20db5dd 100644
--- a/docs/api.html
+++ b/docs/api.html
@@ -6,14 +6,14 @@
-
CodeCarbon API — CodeCarbon 2.8.1 documentation
+ CodeCarbon API — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/comet.html b/docs/comet.html
index fa42241b1..d89b2fae0 100644
--- a/docs/comet.html
+++ b/docs/comet.html
@@ -6,14 +6,14 @@
- Comet Integration — CodeCarbon 2.8.1 documentation
+ Comet Integration — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/edit/conf.py b/docs/edit/conf.py
index 195604f16..c727833b4 100644
--- a/docs/edit/conf.py
+++ b/docs/edit/conf.py
@@ -23,7 +23,7 @@
author = "BCG GAMMA, Comet.ml, Haverford College, MILA, Data For Good"
# The full version, including alpha/beta/rc tags
-release = "2.8.1"
+release = "2.8.2"
# -- General configuration ---------------------------------------------------
diff --git a/docs/examples.html b/docs/examples.html
index 4c331e7e4..b6127806f 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -6,14 +6,14 @@
- Examples — CodeCarbon 2.8.1 documentation
+ Examples — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/faq.html b/docs/faq.html
index 1919c054f..388567191 100644
--- a/docs/faq.html
+++ b/docs/faq.html
@@ -6,14 +6,14 @@
- Frequently Asked Questions — CodeCarbon 2.8.1 documentation
+ Frequently Asked Questions — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/genindex.html b/docs/genindex.html
index 1a57c7768..4bc300eff 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -5,14 +5,14 @@
- Index — CodeCarbon 2.8.1 documentation
+ Index — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/index.html b/docs/index.html
index 0324c5752..98132fb66 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,14 +6,14 @@
- CodeCarbon — CodeCarbon 2.8.1 documentation
+ CodeCarbon — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/installation.html b/docs/installation.html
index 4a55ae671..05cbd412b 100644
--- a/docs/installation.html
+++ b/docs/installation.html
@@ -6,14 +6,14 @@
- Installing CodeCarbon — CodeCarbon 2.8.1 documentation
+ Installing CodeCarbon — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/methodology.html b/docs/methodology.html
index 8a4175814..4a0076603 100644
--- a/docs/methodology.html
+++ b/docs/methodology.html
@@ -6,14 +6,14 @@
- Methodology — CodeCarbon 2.8.1 documentation
+ Methodology — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/model_examples.html b/docs/model_examples.html
index 0568c810e..9eebf06c3 100644
--- a/docs/model_examples.html
+++ b/docs/model_examples.html
@@ -6,14 +6,14 @@
- Model Comparisons — CodeCarbon 2.8.1 documentation
+ Model Comparisons — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/motivation.html b/docs/motivation.html
index 9b74124b3..41b7cb774 100644
--- a/docs/motivation.html
+++ b/docs/motivation.html
@@ -6,14 +6,14 @@
- Motivation — CodeCarbon 2.8.1 documentation
+ Motivation — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/output.html b/docs/output.html
index 51b620d2b..726147153 100644
--- a/docs/output.html
+++ b/docs/output.html
@@ -6,14 +6,14 @@
- Output — CodeCarbon 2.8.1 documentation
+ Output — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/parameters.html b/docs/parameters.html
index 8791a8ef1..2fd7a08d3 100644
--- a/docs/parameters.html
+++ b/docs/parameters.html
@@ -6,14 +6,14 @@
- Parameters — CodeCarbon 2.8.1 documentation
+ Parameters — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/search.html b/docs/search.html
index 0932a165e..8e021be6b 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -5,7 +5,7 @@
- Search — CodeCarbon 2.8.1 documentation
+ Search — CodeCarbon 2.8.2 documentation
@@ -13,7 +13,7 @@
-
+
diff --git a/docs/to_logger.html b/docs/to_logger.html
index 264078dc0..6cdb5cf9c 100644
--- a/docs/to_logger.html
+++ b/docs/to_logger.html
@@ -6,14 +6,14 @@
- Collecting emissions to a logger — CodeCarbon 2.8.1 documentation
+ Collecting emissions to a logger — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/usage.html b/docs/usage.html
index 9dc616ab5..74d86e794 100644
--- a/docs/usage.html
+++ b/docs/usage.html
@@ -6,14 +6,14 @@
- Quickstart — CodeCarbon 2.8.1 documentation
+ Quickstart — CodeCarbon 2.8.2 documentation
-
+
diff --git a/docs/visualize.html b/docs/visualize.html
index b86bd4376..a61eda149 100644
--- a/docs/visualize.html
+++ b/docs/visualize.html
@@ -6,14 +6,14 @@
- Visualize — CodeCarbon 2.8.1 documentation
+ Visualize — CodeCarbon 2.8.2 documentation
-
+
diff --git a/pyproject.toml b/pyproject.toml
index 10104112a..2de09077e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -183,7 +183,7 @@ include = [
]
[tool.bumpver]
-current_version = "2.8.1"
+current_version = "2.8.2"
version_pattern = "MAJOR.MINOR.PATCH"
[tool.bumpver.file_patterns]
diff --git a/requirements.txt b/requirements.txt
index eb95ed01a..a4db61f36 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16,7 +16,7 @@
# - typer
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.default
@@ -33,13 +33,13 @@ click==8.1.7
# via
# hatch.envs.default
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
fief-client==0.20.0
# via hatch.envs.default
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -54,11 +54,13 @@ markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
-numpy==2.1.3
+numpy==2.2.0
# via pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
pandas==2.2.3
# via hatch.envs.default
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.default
prompt-toolkit==3.0.36
# via questionary
@@ -70,7 +72,7 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.default
python-dateutil==2.9.0.post0
# via
@@ -90,7 +92,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via python-dateutil
sniffio==1.3.1
# via
@@ -98,12 +100,13 @@ sniffio==1.3.1
# httpx
termcolor==2.3.0
# via yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.default
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# jwcrypto
# typer
tzdata==2024.2
diff --git a/requirements/requirements-api.txt b/requirements/requirements-api.txt
index 17a1250e3..110992fea 100644
--- a/requirements/requirements-api.txt
+++ b/requirements/requirements-api.txt
@@ -40,14 +40,14 @@
alembic==1.14.0
# via hatch.envs.api
-anyio==4.6.2.post1
+anyio==4.7.0
# via
# httpx
# starlette
# watchfiles
arrow==1.3.0
# via hatch.envs.api
-bcrypt==4.2.0
+bcrypt==4.2.1
# via hatch.envs.api
certifi==2024.8.30
# via
@@ -63,15 +63,15 @@ click==8.1.7
# hatch.envs.api
# typer
# uvicorn
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
-dependency-injector==4.43.0
+dependency-injector==4.44.0
# via hatch.envs.api
dnspython==2.7.0
# via email-validator
email-validator==2.2.0
# via pydantic
-fastapi==0.115.4
+fastapi==0.115.6
# via
# hatch.envs.api
# fastapi-pagination
@@ -86,7 +86,7 @@ h11==0.14.0
# via
# httpcore
# uvicorn
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httptools==0.6.4
# via uvicorn
@@ -106,7 +106,7 @@ jwcrypto==1.5.6
# via fief-client
makefun==1.15.6
# via fief-client
-mako==1.3.6
+mako==1.3.8
# via alembic
markdown-it-py==3.0.0
# via rich
@@ -116,17 +116,19 @@ mdurl==0.1.2
# via markdown-it-py
mock==5.1.0
# via hatch.envs.api
-numpy==2.1.3
+numpy==2.2.0
# via
# hatch.envs.api
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via pytest
pandas==2.2.3
# via hatch.envs.api
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.api
prompt-toolkit==3.0.36
# via questionary
@@ -145,11 +147,11 @@ pydantic==1.10.19
# fastapi-pagination
pygments==2.18.0
# via rich
-pyjwt==2.9.0
+pyjwt==2.10.1
# via hatch.envs.api
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.api
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.api
python-dateutil==2.9.0.post0
# via
@@ -183,7 +185,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# dependency-injector
# python-dateutil
@@ -195,17 +197,18 @@ sqlalchemy==1.4.54
# via
# hatch.envs.api
# alembic
-starlette
+starlette==0.41.3
# via fastapi
termcolor==2.3.0
# via yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.api
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
# alembic
+ # anyio
# fastapi
# jwcrypto
# pydantic
@@ -216,15 +219,15 @@ urllib3==2.2.3
# via
# requests
# responses
-uvicorn==0.32.0
+uvicorn==0.32.1
# via hatch.envs.api
uvloop==0.21.0
# via uvicorn
-watchfiles==0.24.0
+watchfiles==1.0.3
# via uvicorn
wcwidth==0.2.13
# via prompt-toolkit
-websockets==14.0
+websockets==14.1
# via uvicorn
yaspin==3.1.0
# via fief-client
diff --git a/requirements/requirements-carbonboard.txt b/requirements/requirements-carbonboard.txt
index f6061e7fd..463e1663b 100644
--- a/requirements/requirements-carbonboard.txt
+++ b/requirements/requirements-carbonboard.txt
@@ -19,7 +19,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.carbonboard
@@ -39,7 +39,7 @@ click==8.1.7
# hatch.envs.carbonboard
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -61,7 +61,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -88,15 +88,17 @@ mdurl==0.1.2
# via markdown-it-py
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3
+numpy==2.2.0
# via pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via plotly
pandas==2.2.3
# via hatch.envs.carbonboard
plotly==5.24.1
# via dash
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.carbonboard
prompt-toolkit==3.0.36
# via questionary
@@ -108,7 +110,7 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.carbonboard
python-dateutil==2.9.0.post0
# via
@@ -132,7 +134,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -146,12 +148,13 @@ termcolor==2.3.0
# via
# fire
# yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.carbonboard
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# dash
# jwcrypto
# typer
@@ -167,7 +170,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-dashboard.txt b/requirements/requirements-dashboard.txt
index 8237abbcd..a821eb779 100644
--- a/requirements/requirements-dashboard.txt
+++ b/requirements/requirements-dashboard.txt
@@ -19,7 +19,7 @@
# - typer
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.dashboard
@@ -39,7 +39,7 @@ click==8.1.7
# hatch.envs.dashboard
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -59,7 +59,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -86,8 +86,10 @@ mdurl==0.1.2
# via markdown-it-py
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3
+numpy==2.2.0
# via pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via plotly
pandas==2.2.3
@@ -96,7 +98,7 @@ plotly==5.24.1
# via
# hatch.envs.dashboard
# dash
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.dashboard
prompt-toolkit==3.0.36
# via questionary
@@ -108,7 +110,7 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.dashboard
python-dateutil==2.9.0.post0
# via
@@ -132,7 +134,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -144,12 +146,13 @@ tenacity==9.0.0
# via plotly
termcolor==2.3.0
# via yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.dashboard
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# dash
# jwcrypto
# typer
@@ -165,7 +168,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt
index c7940fa5c..9cfcf5c1d 100644
--- a/requirements/requirements-dev.txt
+++ b/requirements/requirements-dev.txt
@@ -1,5 +1,5 @@
#
-# This file is autogenerated by hatch-pip-compile with Python 3.11
+# This file is autogenerated by hatch-pip-compile with Python 3.12
#
# - bumpver
# - pre-commit
@@ -21,13 +21,13 @@
# - typer
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.dev
black==24.10.0
# via hatch.envs.dev
-bumpver==2023.1129
+bumpver==2024.1130
# via hatch.envs.dev
certifi==2024.8.30
# via
@@ -48,7 +48,7 @@ click==8.1.7
# typer
colorama==0.4.6
# via bumpver
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
distlib==0.3.9
# via virtualenv
@@ -58,11 +58,11 @@ filelock==3.16.1
# via virtualenv
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
-identify==2.6.2
+identify==2.6.3
# via pre-commit
idna==3.10
# via
@@ -73,8 +73,6 @@ jwcrypto==1.5.6
# via fief-client
lexid==2021.1006
# via bumpver
-looseversion==1.3.0
- # via bumpver
markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
@@ -87,8 +85,10 @@ mypy-extensions==1.0.0
# mypy
nodeenv==1.9.1
# via pre-commit
-numpy==2.1.3
+numpy==2.2.0
# via pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via black
pandas==2.2.3
@@ -101,7 +101,7 @@ platformdirs==4.3.6
# virtualenv
pre-commit==4.0.1
# via hatch.envs.dev
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.dev
prompt-toolkit==3.0.36
# via questionary
@@ -113,7 +113,7 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.dev
python-dateutil==2.9.0.post0
# via
@@ -133,11 +133,11 @@ rich==13.9.4
# via
# hatch.envs.dev
# typer
-ruff==0.7.3
+ruff==0.8.3
# via hatch.envs.dev
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via python-dateutil
sniffio==1.3.1
# via
@@ -147,12 +147,13 @@ termcolor==2.3.0
# via yaspin
toml==0.10.2
# via bumpver
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.dev
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# jwcrypto
# mypy
# typer
@@ -160,7 +161,7 @@ tzdata==2024.2
# via pandas
urllib3==2.2.3
# via requests
-virtualenv==20.27.1
+virtualenv==20.28.0
# via pre-commit
wcwidth==0.2.13
# via prompt-toolkit
diff --git a/requirements/requirements-test.py3.10.txt b/requirements/requirements-test.py3.10.txt
index fe33ac3cb..f6dec7806 100644
--- a/requirements/requirements-test.py3.10.txt
+++ b/requirements/requirements-test.py3.10.txt
@@ -28,7 +28,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.test.py3.10
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.10
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -74,7 +74,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -105,10 +105,12 @@ mock==5.1.0
# via hatch.envs.test.py3.10
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3 ; python_version >= "3.9"
+numpy==2.2.0 ; python_version >= "3.9"
# via
# hatch.envs.test.py3.10
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via
# plotly
@@ -119,7 +121,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.10
prompt-toolkit==3.0.36
# via questionary
@@ -131,9 +133,9 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.test.py3.10
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.10
python-dateutil==2.9.0.post0
# via
@@ -165,7 +167,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -179,11 +181,11 @@ termcolor==2.3.0
# via
# fire
# yaspin
-tomli==2.0.2
+tomli==2.2.1
# via pytest
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.10
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
@@ -206,7 +208,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-test.py3.11.txt b/requirements/requirements-test.py3.11.txt
index 8b58e07e4..e05a91fb9 100644
--- a/requirements/requirements-test.py3.11.txt
+++ b/requirements/requirements-test.py3.11.txt
@@ -28,7 +28,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.test.py3.11
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.11
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -70,7 +70,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -101,10 +101,12 @@ mock==5.1.0
# via hatch.envs.test.py3.11
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3 ; python_version >= "3.9"
+numpy==2.2.0 ; python_version >= "3.9"
# via
# hatch.envs.test.py3.11
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via
# plotly
@@ -115,7 +117,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.11
prompt-toolkit==3.0.36
# via questionary
@@ -127,9 +129,9 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.test.py3.11
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.11
python-dateutil==2.9.0.post0
# via
@@ -161,7 +163,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -175,12 +177,13 @@ termcolor==2.3.0
# via
# fire
# yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.11
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# dash
# jwcrypto
# typer
@@ -198,7 +201,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-test.py3.12.txt b/requirements/requirements-test.py3.12.txt
index 3885bb8fa..9a803989c 100644
--- a/requirements/requirements-test.py3.12.txt
+++ b/requirements/requirements-test.py3.12.txt
@@ -28,7 +28,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.test.py3.12
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.12
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -70,7 +70,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -101,10 +101,12 @@ mock==5.1.0
# via hatch.envs.test.py3.12
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3 ; python_version >= "3.9"
+numpy==2.2.0 ; python_version >= "3.9"
# via
# hatch.envs.test.py3.12
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via
# plotly
@@ -115,7 +117,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.12
prompt-toolkit==3.0.36
# via questionary
@@ -127,9 +129,9 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.test.py3.12
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.12
python-dateutil==2.9.0.post0
# via
@@ -161,7 +163,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -175,12 +177,13 @@ termcolor==2.3.0
# via
# fire
# yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.12
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
+ # anyio
# dash
# jwcrypto
# typer
@@ -198,7 +201,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-test.py3.13.txt b/requirements/requirements-test.py3.13.txt
index 0662e4c4a..9af84f89e 100644
--- a/requirements/requirements-test.py3.13.txt
+++ b/requirements/requirements-test.py3.13.txt
@@ -28,7 +28,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.test.py3.13
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.13
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -70,7 +70,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -101,10 +101,12 @@ mock==5.1.0
# via hatch.envs.test.py3.13
nest-asyncio==1.6.0
# via dash
-numpy==2.1.3 ; python_version >= "3.9"
+numpy==2.2.0 ; python_version >= "3.9"
# via
# hatch.envs.test.py3.13
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via
# plotly
@@ -115,7 +117,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.13
prompt-toolkit==3.0.36
# via questionary
@@ -127,9 +129,9 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.test.py3.13
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.13
python-dateutil==2.9.0.post0
# via
@@ -161,7 +163,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -175,9 +177,9 @@ termcolor==2.3.0
# via
# fire
# yaspin
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.13
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
@@ -198,7 +200,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/requirements-test.py3.8.txt b/requirements/requirements-test.py3.8.txt
index 308a3d7a6..4a384587b 100644
--- a/requirements/requirements-test.py3.8.txt
+++ b/requirements/requirements-test.py3.8.txt
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.8
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -74,7 +74,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -123,7 +123,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.8
prompt-toolkit==3.0.36
# via questionary
@@ -137,7 +137,7 @@ pygments==2.18.0
# via rich
pynvml==11.5.3
# via hatch.envs.test.py3.8
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.8
python-dateutil==2.9.0.post0
# via
@@ -169,7 +169,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -183,11 +183,11 @@ termcolor==2.4.0
# via
# fire
# yaspin
-tomli==2.0.2
+tomli==2.2.1
# via pytest
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.8
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
diff --git a/requirements/requirements-test.py3.9.txt b/requirements/requirements-test.py3.9.txt
index 4b228ef4b..f7f3e9f65 100644
--- a/requirements/requirements-test.py3.9.txt
+++ b/requirements/requirements-test.py3.9.txt
@@ -28,7 +28,7 @@
# - fire
#
-anyio==4.6.2.post1
+anyio==4.7.0
# via httpx
arrow==1.3.0
# via hatch.envs.test.py3.9
@@ -48,7 +48,7 @@ click==8.1.7
# hatch.envs.test.py3.9
# flask
# typer
-cryptography==43.0.3
+cryptography==44.0.0
# via jwcrypto
dash==2.18.2
# via
@@ -74,7 +74,7 @@ flask==3.0.3
# via dash
h11==0.14.0
# via httpcore
-httpcore==1.0.6
+httpcore==1.0.7
# via httpx
httpx==0.27.2
# via fief-client
@@ -111,6 +111,8 @@ numpy==2.0.2 ; python_version >= "3.9"
# via
# hatch.envs.test.py3.9
# pandas
+nvidia-ml-py==12.560.30
+ # via pynvml
packaging==24.2
# via
# plotly
@@ -121,7 +123,7 @@ plotly==5.24.1
# via dash
pluggy==1.5.0
# via pytest
-prometheus-client==0.21.0
+prometheus-client==0.21.1
# via hatch.envs.test.py3.9
prompt-toolkit==3.0.36
# via questionary
@@ -133,9 +135,9 @@ pycparser==2.22
# via cffi
pygments==2.18.0
# via rich
-pynvml==11.5.3
+pynvml==12.0.0
# via hatch.envs.test.py3.9
-pytest==8.3.3
+pytest==8.3.4
# via hatch.envs.test.py3.9
python-dateutil==2.9.0.post0
# via
@@ -167,7 +169,7 @@ rich==13.9.4
# typer
shellingham==1.5.4
# via typer
-six==1.16.0
+six==1.17.0
# via
# python-dateutil
# retrying
@@ -181,11 +183,11 @@ termcolor==2.3.0
# via
# fire
# yaspin
-tomli==2.0.2
+tomli==2.2.1
# via pytest
-typer==0.13.0
+typer==0.15.1
# via hatch.envs.test.py3.9
-types-python-dateutil==2.9.0.20241003
+types-python-dateutil==2.9.0.20241206
# via arrow
typing-extensions==4.12.2
# via
@@ -208,7 +210,7 @@ werkzeug==3.0.6
# flask
yaspin==3.1.0
# via fief-client
-zipp==3.20.2
+zipp==3.21.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/tests/test_cli.py b/tests/test_cli.py
index c5fbc75c6..bc495a63e 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -52,12 +52,19 @@ def test_app(self, MockApiClient):
self.assertIn(__app_name__, result.stdout)
self.assertIn(__version__, result.stdout)
+ @patch("codecarbon.cli.main.get_api_key")
@patch("codecarbon.cli.main.Path.exists")
@patch("codecarbon.cli.main.Confirm.ask")
@patch("codecarbon.cli.main.questionary_prompt")
@patch("codecarbon.cli.main._get_access_token")
def test_config_no_local_new_all(
- self, mock_token, mock_prompt, mock_confirm, mock_path_exists, MockApiClient
+ self,
+ mock_token,
+ mock_prompt,
+ mock_confirm,
+ mock_path_exists,
+ mock_get_api_key,
+ MockApiClient,
):
temp_dir = os.getenv("RUNNER_TEMP", tempfile.gettempdir())
temp_codecarbon_config = tempfile.NamedTemporaryFile(
@@ -75,6 +82,7 @@ def side_effect_wrapper(*args, **kwargs):
side_effect_wrapper.call_count = 0
mock_path_exists.side_effect = side_effect_wrapper
MockApiClient.return_value = self.mock_api_client
+ mock_get_api_key.return_value = "api_key"
mock_token.return_value = "user_token"
mock_prompt.side_effect = [
"Create New Organization",
@@ -88,6 +96,7 @@ def side_effect_wrapper(*args, **kwargs):
["config"],
input=f"{temp_codecarbon_config.name}\n",
)
+ print(result)
self.assertEqual(result.exit_code, 0)
self.assertIn(
"Creating new experiment\nExperiment name : [Code Carbon user test]",