{"id":76471,"name":"Eco2AI","description":"A Python library which accumulates statistics about power consumption and CO2 emission during running code.","url":"https://github.com/sb-ai-lab/eco2ai","last_synced_at":"2026-04-20T05:03:56.930Z","repository":{"id":37693719,"uuid":"498221891","full_name":"sb-ai-lab/Eco2AI","owner":"sb-ai-lab","description":"eco2AI is a python library which accumulates statistics about power consumption and CO2 emission during running code. ","archived":false,"fork":false,"pushed_at":"2025-03-10T22:38:50.000Z","size":2838,"stargazers_count":270,"open_issues_count":4,"forks_count":23,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-02T02:19:48.608Z","etag":null,"topics":["ai","carbon-emissions","carbon-footprint","co2-emissions","co2-monitoring","deep-learning","emission-tracker","energy-consumption","environment","esg","ghg","machine-learning","power-consumption-measurement","python","sustainability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sb-ai-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-31T06:57:26.000Z","updated_at":"2026-03-12T18:29:18.000Z","dependencies_parsed_at":"2023-09-21T19:31:52.879Z","dependency_job_id":"f3332beb-018c-41a0-950f-2d0f46076382","html_url":"https://github.com/sb-ai-lab/Eco2AI","commit_stats":{"total_commits":164,"total_committers":4,"mean_commits":41.0,"dds":0.4878048780487805,"last_synced_commit":"a7deca78f9a43abf9055efeb7d5e06aecc31335d"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sb-ai-lab/Eco2AI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab","download_url":"https://codeload.github.com/sb-ai-lab/Eco2AI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31700616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"ssl_error","status_checked_at":"2026-04-11T21:17:24.556Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"sb-ai-lab","name":"sb-ai-lab","uuid":"103759388","kind":"organization","description":"We aim to share our AI-based solutions for both scientific and industrial purposes. Hope you will find them useful and we’d appreciate much any feedback.","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/103759388?v=4","repositories_count":6,"last_synced_at":"2023-03-04T04:54:10.592Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sb-ai-lab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T09:56:01.128Z","updated_at":"2023-03-04T04:54:10.605Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab/repositories"},"packages":[{"id":4457247,"name":"eco2ai","ecosystem":"pypi","description":"emission tracking library","homepage":"https://github.com/sb-ai-lab/Eco2AI","licenses":"apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/sb-ai-lab/Eco2AI","keywords_array":[],"namespace":null,"versions_count":22,"first_release_published_at":"2022-06-01T10:18:14.000Z","latest_release_published_at":"2025-03-10T22:36:38.000Z","latest_release_number":"0.3.12","last_synced_at":"2026-04-16T03:02:05.701Z","created_at":"2022-06-01T10:31:30.989Z","updated_at":"2026-04-16T03:02:05.702Z","registry_url":"https://pypi.org/project/eco2ai/","install_command":"pip install eco2ai --index-url https://pypi.org/simple","documentation_url":"https://eco2ai.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 3 - Alpha","Environment :: Console","Intended Audience :: Science/Research","Natural Language :: English","Operating System :: OS Independent","Programming Language :: Python :: 2","Programming Language :: Python :: 2.7","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.4","Programming Language :: Python :: 3.5","Programming Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Scientific/Engineering :: Artificial Intelligence","Typing :: Typed"],"normalized_name":"eco2ai","project_status":null},"repo_metadata":{"id":37693719,"uuid":"498221891","full_name":"sb-ai-lab/Eco2AI","owner":"sb-ai-lab","description":"eco2AI is a python library which accumulates statistics about power consumption and CO2 emission during running code. ","archived":false,"fork":false,"pushed_at":"2024-07-03T03:33:45.000Z","size":2687,"stargazers_count":231,"open_issues_count":4,"forks_count":18,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-29T22:30:30.087Z","etag":null,"topics":["ai","carbon-emissions","carbon-footprint","co2-emissions","co2-monitoring","deep-learning","emission-tracker","energy-consumption","environment","esg","ghg","machine-learning","power-consumption-measurement","python","sustainability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sb-ai-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-05-31T06:57:26.000Z","updated_at":"2024-10-20T09:54:20.000Z","dependencies_parsed_at":"2023-09-21T19:31:52.879Z","dependency_job_id":"f3332beb-018c-41a0-950f-2d0f46076382","html_url":"https://github.com/sb-ai-lab/Eco2AI","commit_stats":{"total_commits":162,"total_committers":4,"mean_commits":40.5,"dds":0.4814814814814815,"last_synced_commit":"dfbd4d26eb29001b446abdc78463296a7de4a027"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab","download_url":"https://codeload.github.com/sb-ai-lab/Eco2AI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155699,"owners_count":16940393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"sb-ai-lab","name":"sb-ai-lab","uuid":"103759388","kind":"organization","description":"We aim to share our AI-based solutions for both scientific and industrial purposes. Hope you will find them useful and we’d appreciate much any feedback.","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/103759388?v=4","repositories_count":6,"last_synced_at":"2023-03-04T04:54:10.592Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sb-ai-lab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T09:56:01.128Z","updated_at":"2023-03-04T04:54:10.605Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sb-ai-lab/repositories"},"tags":[]},"repo_metadata_updated_at":"2024-10-30T02:58:46.836Z","dependent_packages_count":3,"downloads":1023,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":20.438931708472015,"dependent_repos_count":22.077396024530657,"dependent_packages_count":7.306363177401113,"stargazers_count":5.556469008499027,"forks_count":9.606898886386361,"docker_downloads_count":null,"average":12.997211761057835},"purl":"pkg:pypi/eco2ai","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/eco2ai","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/eco2ai","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/eco2ai/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:01:27.909Z","issues_count":5,"pull_requests_count":4,"avg_time_to_close_issue":98647.5,"avg_time_to_close_pull_request":9087266.666666666,"issues_closed_count":2,"pull_requests_closed_count":3,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":0.8,"avg_comments_per_pull_request":0.5,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/eco2ai/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/eco2ai/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/eco2ai/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/eco2ai/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/eco2ai/codemeta","maintainers":[{"uuid":"nikitanikolaevich","login":"nikitanikolaevich","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/nikitanikolaevich/","role":null,"created_at":"2023-02-13T13:11:55.038Z","updated_at":"2023-02-13T13:11:55.038Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/nikitanikolaevich/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":843282,"maintainers_count":360289,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":1254174,"full_name":"sb-ai-lab/Eco2AI","default_branch":"main","total_commits":168,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":28.0,"dds":0.5,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-15T06:42:18.148Z","last_synced_commit":"366debb262c50568abb8c5551706b08512163c7a","created_at":"2023-03-27T10:59:12.900Z","updated_at":"2026-04-15T06:42:17.200Z","committers":[{"name":"vladimir-laz","email":"vladimir.lazarev.99@gmail.com","login":"vladimir-laz","count":84},{"name":"Никита Николаевич","email":"nikitanikolaevichzaharenko@yandex.ru","login":"NikitaNikolaevich","count":62},{"name":"Alex Korovin","email":"alexnkorovin@gmail.com","login":"alexnkorovin","count":17},{"name":"parohod","email":"budennyysemen@gmail.com","login":"parohod","count":2},{"name":"Коровин Алексей","email":"korovin@airi.net","login":null,"count":2},{"name":"fwcd","email":"fwcdmail@gmail.com","login":"fwcd","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-16T00:00:20.271Z","repositories_count":6213715,"commits_count":900167587,"contributors_count":34924320,"owners_count":1144733,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"sb-ai-lab/Eco2AI","html_url":"https://github.com/sb-ai-lab/Eco2AI","last_synced_at":"2026-04-07T23:00:31.601Z","status":"error","issues_count":5,"pull_requests_count":12,"avg_time_to_close_issue":7221104.0,"avg_time_to_close_pull_request":17578949.25,"issues_closed_count":3,"pull_requests_closed_count":8,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":1.4,"avg_comments_per_pull_request":0.25,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":492681.0,"past_year_avg_time_to_close_pull_request":19.5,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":3.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-09T10:35:37.819Z","updated_at":"2026-04-07T23:00:31.602Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sb-ai-lab%2FEco2AI/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":5},"pull_request_author_associations_count":{"NONE":5,"CONTRIBUTOR":4,"COLLABORATOR":3},"issue_authors":{"Mirual":1,"Dimario49":1,"luciabouzaheguerte":1,"PeterHartog":1,"fatma-laribi":1},"pull_request_authors":{"ada0l":3,"alexnkorovin":3,"fwcd":2,"beiyonder":2,"WindowsKonon1337":1,"ioannismavromatis":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-16T00:00:09.014Z","repositories_count":14278736,"issues_count":34603228,"pull_requests_count":113215899,"authors_count":11235550,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":3},"past_year_issue_authors":{},"past_year_pull_request_authors":{"beiyonder":2,"WindowsKonon1337":1},"maintainers":[{"login":"alexnkorovin","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexnkorovin"}],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":2,"PullRequestEvent":5,"ForkEvent":4,"IssuesEvent":3,"WatchEvent":35,"IssueCommentEvent":4,"PushEvent":7,"PullRequestReviewEvent":1,"CreateEvent":2},"last_year":{"PullRequestEvent":1,"ForkEvent":3,"WatchEvent":15}},"keywords":["ai","carbon-emissions","carbon-footprint","co2-emissions","co2-monitoring","deep-learning","emission-tracker","energy-consumption","environment","esg","ghg","machine-learning","power-consumption-measurement","python","sustainability"],"dependencies":[{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2022-07-30T23:07:56.272Z","updated_at":"2022-07-30T23:07:56.272Z","repository_link":"https://github.com/sb-ai-lab/Eco2AI/blob/main/poetry.lock","dependencies":[{"id":527517393,"package_name":"apscheduler","ecosystem":"pypi","requirements":"3.9.1","direct":false,"kind":"runtime","optional":false},{"id":527517394,"package_name":"backports.zoneinfo","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":527517395,"package_name":"certifi","ecosystem":"pypi","requirements":"2022.6.15","direct":false,"kind":"runtime","optional":false},{"id":527517396,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":527517397,"package_name":"funcsigs","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":527517398,"package_name":"futures","ecosystem":"pypi","requirements":"3.3.0","direct":false,"kind":"runtime","optional":false},{"id":527517399,"package_name":"idna","ecosystem":"pypi","requirements":"3.3","direct":false,"kind":"runtime","optional":false},{"id":527517400,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"5.4.0","direct":false,"kind":"runtime","optional":false},{"id":527517401,"package_name":"numpy","ecosystem":"pypi","requirements":"1.21.6","direct":false,"kind":"runtime","optional":false},{"id":527517402,"package_name":"numpy","ecosystem":"pypi","requirements":"1.23.1","direct":false,"kind":"runtime","optional":false},{"id":527517403,"package_name":"pandas","ecosystem":"pypi","requirements":"1.3.5","direct":false,"kind":"runtime","optional":false},{"id":527517404,"package_name":"pandas","ecosystem":"pypi","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":527517405,"package_name":"psutil","ecosystem":"pypi","requirements":"5.9.1","direct":false,"kind":"runtime","optional":false},{"id":527517406,"package_name":"py-cpuinfo","ecosystem":"pypi","requirements":"8.0.0","direct":false,"kind":"runtime","optional":false},{"id":527517407,"package_name":"pynvml","ecosystem":"pypi","requirements":"11.4.1","direct":false,"kind":"runtime","optional":false},{"id":527517408,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.2","direct":false,"kind":"runtime","optional":false},{"id":527517409,"package_name":"pytz","ecosystem":"pypi","requirements":"2022.1","direct":false,"kind":"runtime","optional":false},{"id":527517410,"package_name":"pytz-deprecation-shim","ecosystem":"pypi","requirements":"0.1.0.post0","direct":false,"kind":"runtime","optional":false},{"id":527517411,"package_name":"requests","ecosystem":"pypi","requirements":"2.28.1","direct":false,"kind":"runtime","optional":false},{"id":527517412,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":527517413,"package_name":"tornado","ecosystem":"pypi","requirements":"6.2","direct":false,"kind":"runtime","optional":false},{"id":527517414,"package_name":"tzdata","ecosystem":"pypi","requirements":"2022.1","direct":false,"kind":"runtime","optional":false},{"id":527517415,"package_name":"tzlocal","ecosystem":"pypi","requirements":"4.2","direct":false,"kind":"runtime","optional":false},{"id":527517416,"package_name":"urllib3","ecosystem":"pypi","requirements":"1.26.10","direct":false,"kind":"runtime","optional":false},{"id":527517417,"package_name":"zipp","ecosystem":"pypi","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2022-07-30T23:07:56.449Z","updated_at":"2022-07-30T23:07:56.449Z","repository_link":"https://github.com/sb-ai-lab/Eco2AI/blob/main/pyproject.toml","dependencies":[{"id":527518237,"package_name":"python","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":527518238,"package_name":"pandas","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"\u003e=1.2.1,\u003c=1.3.5\"\n  python: \"\u003e=3.7.1, \u003c3.8\"\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"\u003e=1.4.0,\u003c=1.4.3\"\n  python: \"\u003e=3.8\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518239,"package_name":"APScheduler","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, \u003c4\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518240,"package_name":"requests","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=3.7, \u003c4\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518241,"package_name":"pynvml","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=3.6\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518242,"package_name":"psutil","ecosystem":"pypi","requirements":"^5.9.1","direct":true,"kind":"runtime","optional":false},{"id":527518243,"package_name":"tzlocal","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=3.6\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518244,"package_name":"tornado","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=3.7\"\n","direct":true,"kind":"runtime","optional":false},{"id":527518245,"package_name":"py-cpuinfo","ecosystem":"pypi","requirements":"---\n- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n  version: \"*\"\n  python: \"\u003e=3.7\"\n","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-09-21T19:31:52.428Z","updated_at":"2023-09-21T19:31:52.428Z","repository_link":"https://github.com/sb-ai-lab/Eco2AI/blob/main/setup.py","dependencies":[]}],"score":14.340258021631236,"created_at":"2023-09-19T00:02:07.066Z","updated_at":"2026-04-20T05:03:56.953Z","avatar_url":"https://github.com/sb-ai-lab.png","language":"Python","category":"Consumption","sub_category":"Computation and Communication","monthly_downloads":1023,"total_dependent_repos":1,"total_dependent_packages":3,"readme":"\u003cimg src=https://github.com/sb-ai-lab/Eco2AI/blob/main/images/photo_2022-06-14_13-02-37.jpg /\u003e\n\n\n![PyPI Downloads](https://img.shields.io/pypi/dm/eco2ai?color=brightgreen\u0026label=PyPI%20downloads\u0026logo=pypi\u0026logoColor=yellow)\n[![PyPI all Downloads](https://img.shields.io/badge/All%20PyPI%20downloads-look%20in%20Colab-brightgreen)](https://colab.research.google.com/drive/1UoSHPRUHbg5B1U2x8p_ACo21X9N6n1im?authuser=1)\n\n\n[![PyPI - Downloads](https://img.shields.io/badge/%20PyPI%20-link%20for%20download-brightgreen)](https://pypi.org/project/eco2ai/)\n![PyPI - Downloads](https://img.shields.io/pypi/v/eco2ai?color=bright-green\u0026label=PyPI\u0026logo=pypi\u0026logoColor=yellow)\n[![DOI](https://img.shields.io/badge/DOI-eco2AI%20article-brightgreen)](https://link.springer.com/article/10.1134/S1064562422060230)\n[![telegram support](https://img.shields.io/twitter/url?label=eco2ai%20support\u0026logo=telegram\u0026style=social\u0026url=https%3A%2F%2Ft.me%2F%2BjsaoAgioprQ4Zjk6)](https://t.me/eco2ai)\n\n# Eco2AI\n\n+ [About Eco2AI :clipboard:](#1)\n+ [Installation :wrench:](#2)\n+ [Use examples :computer:](#3)\n+ [Important note :blue_book:](#4)\n+ [Citing](#5)\n+ [Feedback :envelope:](#6) \n\n\n\n\n\n## About Eco2AI :clipboard: \u003ca name=\"1\"\u003e\u003c/a\u003e \n\n\u003cimg src=https://github.com/sb-ai-lab/Eco2AI/blob/main/images/eco2ai_logo_cut.jpg /\u003e\n\nThe Eco2AI is a python library for CO\u003csub\u003e2\u003c/sub\u003e emission tracking. It monitors energy consumption of CPU \u0026 GPU devices and estimates equivalent carbon emissions taking into account the regional emission coefficient. \nThe Eco2AI is applicable to all python scripts and all you need is to add the couple of strings to your code. All emissions data and information about your devices are recorded in a local file. \n\nEvery single run of Tracker() accompanies by a session description added to the log file, including the following elements:\n                              \n\n+ project_name\n+ experiment_description\n+ start_time\n+ duration(s)\n+ power_consumption(kWTh)\n+ CO\u003csub\u003e2\u003c/sub\u003e_emissions(kg)\n+ CPU_name\n+ GPU_name\n+ OS\n+ country\n\n##  Installation \u003ca name=\"2\"\u003e\u003c/a\u003e \nTo install the eco2AI library, run the following command:\n\n```\npip install eco2ai\n```\n\n## Use examples \u003ca name=\"3\"\u003e\u003c/a\u003e \n\nExample usage eco2AI [![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1hn0DQiKHeyXwvOOR3UEXaGsD6DqVm6b7?authuser=1)\nYou can also find eco2AI tutorial on youtube [![utube](https://img.shields.io/youtube/views/-fegQpA2gPg?label=eco2AI\u0026style=social)](https://www.youtube.com/watch?v=-fegQpA2gPg\u0026ab_channel=AIRIInstitute)\n\nThe eco2AI interface is quite simple. Here is the simplest usage example:\n\n```python\n\nimport eco2ai\n\ntracker = eco2ai.Tracker(project_name=\"YourProjectName\", experiment_description=\"training the \u003cyour model\u003e model\")\n\ntracker.start()\n\n\u003cyour gpu \u0026(or) cpu calculations\u003e\n\ntracker.stop()\n```\n\nThe eco2AI also supports decorators. As soon as the decorated function is executed, the information about the emissions will be written to the emission.csv file:\n\n```python\nfrom eco2ai import track\n\n@track\ndef train_func(model, dataset, optimizer, epochs):\n    ...\n\ntrain_func(your_model, your_dataset, your_optimizer, your_epochs)\n```\n\nFor your convenience, every time you instantiate the Tracker object with your custom parameters, these settings will be saved until the library is deleted. Each new tracker will be created with your custom settings (if you create a tracker with new parameters, they will be saved instead of the old ones). For example:\n\n```python\nimport eco2ai\n\ntracker = eco2ai.Tracker(\n    project_name=\"YourProjectName\", \n    experiment_description=\"training \u003cyour model\u003e model\",\n    file_name=\"emission.csv\"\n    )\n\ntracker.start()\n\u003cyour gpu \u0026(or) cpu calculations\u003e\ntracker.stop()\n\n...\n\n# now, we want to create a new tracker for new calculations\ntracker = eco2ai.Tracker()\n# now, it's equivalent to:\n# tracker = eco2ai.Tracker(\n#     project_name=\"YourProjectName\", \n#     experiment_description=\"training the \u003cyour model\u003e model\",\n#     file_name=\"emission.csv\"\n# )\ntracker.start()\n\u003cyour gpu \u0026(or) cpu calculations\u003e\ntracker.stop()\n\n```\n\nYou can also set parameters using the set_params() function, as in the example below:\n\n```python\nfrom eco2ai import set_params, Tracker\n\nset_params(\n    project_name=\"My_default_project_name\",\n    experiment_description=\"We trained...\",\n    file_name=\"my_emission_file.csv\"\n)\n\ntracker = Tracker()\n# now, it's equivelent to:\n# tracker = Tracker(\n#     project_name=\"My_default_project_name\",\n#     experiment_description=\"We trained...\",\n#     file_name=\"my_emission_file.csv\"\n# )\ntracker.start()\n\u003cyour code\u003e\ntracker.stop()\n```\n\n\n\n\u003c!-- There is [sber_emission_tracker_guide.ipynb](https://github.com/vladimir-laz/AIRIEmisisonTracker/blob/704ff88468f6ad403d69a63738888e1a3c41f59b/guide/sber_emission_tracker_guide.ipynb)  - useful jupyter notebook with more examples and notes. We highly recommend to check it out beforehand. --\u003e\n## Important note \u003ca name=\"4\"\u003e\u003c/a\u003e \n\nIf for some reasons it is not possible to define country, then emission coefficient is set to 436.529kg/MWh, which is global average.\n[Global Electricity Review](https://ember-climate.org/insights/research/global-electricity-review-2022/#supporting-material-downloads)\n\nFor proper calculation of gpu and cpu power consumption, you should create a \"Tracker\" before any gpu or CPU usage.\n\nCreate a new “Tracker” for every new calculation.\n\n# Usage of Eco2AI\n\nAn example of using the library is given in the [publication](https://arxiv.org/abs/2208.00406). It the paper we presented experiments of tracking equivalent CO\u003csub\u003e2\u003c/sub\u003e emissions using eco2AI while training [ruDALL-E](https://github.com/sberbank-ai/ru-dalle) models with with 1.3 billion ([Malevich](https://habr.com/ru/company/sberbank/blog/589673/), ruDALL-E XL 1.3B) and 12 billion parameters ([Kandinsky](https://github.com/sberbank-ai/ru-dalle), ruDALL-E XL 12B). These are [multimodal](https://arxiv.org/abs/2202.10435) pre-trained transformers that learn the conditional distribution of images with by some string of text capable of generating arbitrary images from a russian text prompt that describes the desired result.\nProperly accounted carbon emissions and power consumption Malevich and Kandinsky fine-tuning Malevich and Kandinsky on the [Emojis dataset](https://arxiv.org/abs/2112.02448) is given in the table below.\n   \n   | **Model** | **Train time** | **Power, kWh** | **CO\u003csub\u003e2\u003c/sub\u003e, kg** | **GPU** | **CPU** | **Batch Size** |\n   |:----------|:-------------:|:------:| :-----: |:-----:|:------:|:------:|\n   | **Malevich**| 4h 19m | 1.37 | **0.33** | A100 Graphics, 1 | AMD EPYC 7742 64-Core | 4 |\n   | **Kandinsky** | 9h 45m | 24.50 | **5.89** | A100 Graphics, 8 | AMD EPYC 7742 64-Core | 12 |\n\nAlso we presented results for training of Malevich with optimized variation of [GELU](https://arxiv.org/abs/1606.08415) activation function. Training of the Malevich with the [8-bit version of GELU](https://arxiv.org/abs/2110.02861) allows us to spent about 10\\% less energy and, consequently, produce less equivalent CO\u003csub\u003e2\u003c/sub\u003e emissions.\n\n# Citing Eco2AI\n[![DOI](https://img.shields.io/badge/DOI-eco2AI%20article-brightgreen)](https://link.springer.com/article/10.1134/S1064562422060230)\n\nThe Eco2AI is licensed under a [Apache licence 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n\nPlease consider citing the following paper in any research manuscript using the Eco2AI library:\n\n```\n@article{eco2AI,\ntitle={eco2AI: Carbon Emissions Tracking of Machine Learning Models as the First Step Towards Sustainable AI},\nurl={https://doi.org/10.1134/S1064562422060230}, DOI={10.1134/S1064562422060230},\njournal={Doklady Mathematics},\nauthor={Budennyy, S. A. and Lazarev, V. D. and Zakharenko, N. N. and Korovin, A. N. and Plosskaya, O. A. and Dimitrov, D. V. and Akhripkin, V. S. and Pavlov, I. V. and Oseledets, I. V. and Barsola, I. S. and Egorov, I. V. and Kosterina, A. A. and Zhukov, L. E.}, year={2023}, month=jan, language={en}}\n```\n\n## In collaboration with\n[\u003cimg src=\"https://github.com/sb-ai-lab/Eco2AI/blob/main/images/AIRI%20-%20Full%20logo%20(2).png\" width=\"200\"/\u003e](https://airi.net/)\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1134/S1064562422060230"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/76471","html_url":"https://ost.ecosyste.ms/projects/76471"}