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: ![vscode_debug](docs/edit/images/vscode_debug.png) - -### 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]",