{"id":348852,"name":"Cloud Assess","description":"An open-source tool to automate the assessment of the environmental impacts of cloud services.","url":"https://github.com/kleis-technology/cloud-assess","last_synced_at":"2026-04-29T20:00:32.357Z","repository":{"id":197947790,"uuid":"693726341","full_name":"kleis-technology/cloud-assess","owner":"kleis-technology","description":"A nice piece of backend to report the enviromental footprint of your Cloud services to your clients.","archived":false,"fork":false,"pushed_at":"2026-03-20T01:16:22.000Z","size":2488,"stargazers_count":23,"open_issues_count":11,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-23T19:01:32.010Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cloudassess.org","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kleis-technology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.Apache-2.0.txt","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-19T15:33:25.000Z","updated_at":"2026-03-07T21:21:44.000Z","dependencies_parsed_at":"2026-03-23T02:03:43.892Z","dependency_job_id":null,"html_url":"https://github.com/kleis-technology/cloud-assess","commit_stats":null,"previous_names":["kleis-technology/cloud-assess"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/kleis-technology/cloud-assess","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleis-technology","download_url":"https://codeload.github.com/kleis-technology/cloud-assess/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31223276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-31T04:08:55.938Z","status":"ssl_error","status_checked_at":"2026-03-31T04:08:47.883Z","response_time":111,"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":"kleis-technology","name":"Kleis Technology","uuid":"69863653","kind":"organization","description":"","email":null,"website":"https://kleis.ch","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/69863653?v=4","repositories_count":1,"last_synced_at":"2023-04-28T21:39:57.460Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kleis-technology","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-04-28T21:39:57.461Z","updated_at":"2023-04-28T21:39:57.461Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleis-technology","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleis-technology/repositories"},"packages":[],"commits":{"id":11690053,"full_name":"kleis-technology/cloud-assess","default_branch":"master","total_commits":199,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":66.33333333333333,"dds":0.05025125628140703,"past_year_total_commits":46,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":23.0,"past_year_dds":0.17391304347826086,"last_synced_at":"2026-04-27T19:01:04.476Z","last_synced_commit":"82f5606d4b76d496d9108d7fbb82deb9d401be15","created_at":"2026-03-21T01:00:19.817Z","updated_at":"2026-04-27T19:00:56.410Z","committers":[{"name":"Peva Blanchard","email":"pblanchard@kleis.ch","login":null,"count":189},{"name":"Sébastien Bros de Puechredon","email":"sbros@kleis.ch","login":"sebdebros","count":8},{"name":"Arnaud Béguin","email":"abeguin@kleis.ch","login":"abeguin","count":2}],"past_year_committers":[{"name":"Peva Blanchard","email":"pblanchard@kleis.ch","login":null,"count":38},{"name":"Sébastien Bros de Puechredon","email":"sbros@kleis.ch","login":"sebdebros","count":8}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-29T00:00:10.453Z","repositories_count":6223003,"commits_count":899915120,"contributors_count":34898902,"owners_count":1147513,"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":"kleis-technology/cloud-assess","html_url":"https://github.com/kleis-technology/cloud-assess","last_synced_at":"2026-04-27T19:01:13.396Z","status":"active","issues_count":6,"pull_requests_count":28,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":63486.6,"issues_closed_count":0,"pull_requests_closed_count":25,"pull_request_authors_count":2,"issue_authors_count":3,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.07142857142857142,"merged_pull_requests_count":24,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":5,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":153166.625,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":8,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.18181818181818182,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":7,"created_at":"2025-08-29T12:59:07.731Z","updated_at":"2026-04-27T19:01:13.396Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleis-technology%2Fcloud-assess/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":4,"NONE":2},"pull_request_author_associations_count":{"CONTRIBUTOR":27,"NONE":1},"issue_authors":{"abeguin":4,"Thommil":1,"Shillaker":1},"pull_request_authors":{"pevab":23,"sebdebros":5},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-27T00:00:06.950Z","repositories_count":14433773,"issues_count":34435239,"pull_requests_count":112697015,"authors_count":11247128,"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":{"CONTRIBUTOR":4,"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":10,"NONE":1},"past_year_issue_authors":{"abeguin":4,"Thommil":1},"past_year_pull_request_authors":{"pevab":6,"sebdebros":5},"maintainers":[],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":7,"DeleteEvent":20,"PullRequestEvent":16,"ForkEvent":1,"IssuesEvent":3,"WatchEvent":6,"IssueCommentEvent":4,"PushEvent":108,"GollumEvent":1,"PullRequestReviewCommentEvent":7,"PullRequestReviewEvent":7,"CreateEvent":21},"last_year":{"ReleaseEvent":2,"DeleteEvent":6,"PullRequestEvent":8,"IssuesEvent":2,"WatchEvent":4,"IssueCommentEvent":1,"PushEvent":64,"GollumEvent":1,"PullRequestReviewCommentEvent":4,"PullRequestReviewEvent":4,"CreateEvent":6}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/publish.yaml","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:39.497Z","updated_at":"2026-03-23T02:02:39.497Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/.github/workflows/publish.yaml","dependencies":[{"id":25844954217,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25844954218,"package_name":"gradle/wrapper-validation-action","ecosystem":"actions","requirements":"v1.0.6","direct":true,"kind":"composite","optional":false},{"id":25844954219,"package_name":"actions/setup-java","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25844954220,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25844954221,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25844954222,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25844954223,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25844954224,"package_name":"actions/create-release","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yaml","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:42.024Z","updated_at":"2026-03-23T02:02:42.024Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/.github/workflows/test.yaml","dependencies":[{"id":25844954225,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3.5.1","direct":true,"kind":"composite","optional":false},{"id":25844954226,"package_name":"gradle/wrapper-validation-action","ecosystem":"actions","requirements":"v1.0.6","direct":true,"kind":"composite","optional":false},{"id":25844954227,"package_name":"actions/setup-java","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:42.238Z","updated_at":"2026-03-23T02:02:42.238Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/Dockerfile","dependencies":[{"id":25844954228,"package_name":"gradle","ecosystem":"docker","requirements":"8.2","direct":true,"kind":"build","optional":false},{"id":25844954229,"package_name":"eclipse-temurin","ecosystem":"docker","requirements":"17","direct":true,"kind":"build","optional":false}]},{"ecosystem":"maven","filepath":"build.gradle.kts","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:42.742Z","updated_at":"2026-03-23T02:02:42.742Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/build.gradle.kts","dependencies":[{"id":25844954230,"package_name":"ch.kleis.lcaac:core","ecosystem":"maven","requirements":"$lcaacVersion","direct":true,"kind":"implementation","optional":false},{"id":25844954231,"package_name":"ch.kleis.lcaac:grammar","ecosystem":"maven","requirements":"$lcaacVersion","direct":true,"kind":"implementation","optional":false},{"id":25844954232,"package_name":"org.springframework.boot:spring-boot-starter","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954233,"package_name":"org.jetbrains.kotlin:kotlin-reflect","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954234,"package_name":"org.springframework.boot:spring-boot-starter-web","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954235,"package_name":"org.springframework.boot:spring-boot-starter-json","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954236,"package_name":"org.springframework.boot:spring-boot-starter-test","ecosystem":"maven","requirements":"*","direct":true,"kind":"testImplementation","optional":false},{"id":25844954237,"package_name":"org.springframework.boot:spring-boot-starter-validation","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954238,"package_name":"org.springframework.boot:spring-boot-starter-validation","ecosystem":"maven","requirements":"*","direct":true,"kind":"testImplementation","optional":false},{"id":25844954239,"package_name":"org.jetbrains.kotlinx:kotlinx-serialization-json","ecosystem":"maven","requirements":"1.5.1","direct":true,"kind":"implementation","optional":false},{"id":25844954240,"package_name":"io.mockk:mockk","ecosystem":"maven","requirements":"1.13.4","direct":true,"kind":"testImplementation","optional":false},{"id":25844954241,"package_name":"com.charleskorn.kaml:kaml","ecosystem":"maven","requirements":"0.59.0","direct":true,"kind":"implementation","optional":false},{"id":25844954242,"package_name":"org.springframework.boot:spring-boot-starter-actuator","ecosystem":"maven","requirements":"*","direct":true,"kind":"implementation","optional":false},{"id":25844954243,"package_name":"org.apache.commons:commons-compress","ecosystem":"maven","requirements":"1.28.0","direct":true,"kind":"implementation","optional":false}]},{"ecosystem":"nix","filepath":"flake.nix","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:44.921Z","updated_at":"2026-03-23T02:02:44.921Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/flake.nix","dependencies":[{"id":25844954247,"package_name":"lcaac-flake","ecosystem":"nix","requirements":"v2.0.0","direct":true,"kind":"runtime","optional":false},{"id":25844954248,"package_name":"nixpkgs","ecosystem":"nix","requirements":"nixos-25.05","direct":true,"kind":"runtime","optional":false},{"id":25844954249,"package_name":"flake-utils","ecosystem":"nix","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-03-23T02:02:45.096Z","updated_at":"2026-03-23T02:02:45.096Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/package-lock.json","dependencies":[]},{"ecosystem":"pypi","filepath":"demo/pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-03-23T02:02:45.189Z","updated_at":"2026-03-23T02:02:45.189Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/demo/pyproject.toml","dependencies":[{"id":25844954250,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=2.3.4","direct":true,"kind":"runtime","optional":false},{"id":25844954251,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.3.3","direct":true,"kind":"runtime","optional":false},{"id":25844954252,"package_name":"seaborn","ecosystem":"pypi","requirements":"\u003e=0.13.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"experiments/performance/uv.lock","sha":null,"kind":"lockfile","created_at":"2026-03-23T02:03:42.053Z","updated_at":"2026-03-23T02:03:42.053Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/experiments/performance/uv.lock","dependencies":[{"id":25844955572,"package_name":"certifi","ecosystem":"pypi","requirements":"2025.8.3","direct":false,"kind":"runtime","optional":false},{"id":25844955573,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":25844955574,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":25844955575,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":25844955576,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.59.0","direct":false,"kind":"runtime","optional":false},{"id":25844955577,"package_name":"idna","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":25844955578,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.8","direct":false,"kind":"runtime","optional":false},{"id":25844955579,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.10.5","direct":false,"kind":"runtime","optional":false},{"id":25844955580,"package_name":"numpy","ecosystem":"pypi","requirements":"2.3.2","direct":false,"kind":"runtime","optional":false},{"id":25844955581,"package_name":"packaging","ecosystem":"pypi","requirements":"25.0","direct":false,"kind":"runtime","optional":false},{"id":25844955582,"package_name":"perfanalysis","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844955583,"package_name":"pillow","ecosystem":"pypi","requirements":"11.3.0","direct":false,"kind":"runtime","optional":false},{"id":25844955584,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.2.3","direct":false,"kind":"runtime","optional":false},{"id":25844955585,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":25844955586,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.4","direct":false,"kind":"runtime","optional":false},{"id":25844955587,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25844955588,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"experiments/performance/pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-03-23T02:03:34.882Z","updated_at":"2026-03-23T02:03:34.882Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/experiments/performance/pyproject.toml","dependencies":[{"id":25844955569,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.10.5","direct":true,"kind":"runtime","optional":false},{"id":25844955570,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=2.3.2","direct":true,"kind":"runtime","optional":false},{"id":25844955571,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.32.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nix","filepath":"flake.lock","sha":null,"kind":"lockfile","created_at":"2026-03-23T02:02:44.590Z","updated_at":"2026-03-23T02:02:44.590Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/flake.lock","dependencies":[{"id":25844954244,"package_name":"flake-utils","ecosystem":"nix","requirements":"11707dc","direct":false,"kind":"runtime","optional":false},{"id":25844954245,"package_name":"lcaac-flake","ecosystem":"nix","requirements":"5f38f86","direct":false,"kind":"runtime","optional":false},{"id":25844954246,"package_name":"nixpkgs","ecosystem":"nix","requirements":"3de8f8d","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"demo/uv.lock","sha":null,"kind":"lockfile","created_at":"2026-03-23T02:02:45.278Z","updated_at":"2026-03-23T02:02:45.278Z","repository_link":"https://github.com/kleis-technology/cloud-assess/blob/main/demo/uv.lock","dependencies":[{"id":25844954253,"package_name":"anyio","ecosystem":"pypi","requirements":"4.11.0","direct":false,"kind":"runtime","optional":false},{"id":25844954254,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":25844954255,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954256,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954257,"package_name":"arrow","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":25844954258,"package_name":"asttokens","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25844954259,"package_name":"async-lru","ecosystem":"pypi","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":25844954260,"package_name":"attrs","ecosystem":"pypi","requirements":"25.4.0","direct":false,"kind":"runtime","optional":false},{"id":25844954261,"package_name":"babel","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":25844954262,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.14.2","direct":false,"kind":"runtime","optional":false},{"id":25844954263,"package_name":"bleach","ecosystem":"pypi","requirements":"6.3.0","direct":false,"kind":"runtime","optional":false},{"id":25844954264,"package_name":"certifi","ecosystem":"pypi","requirements":"2025.10.5","direct":false,"kind":"runtime","optional":false},{"id":25844954265,"package_name":"cffi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25844954266,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.4","direct":false,"kind":"runtime","optional":false},{"id":25844954267,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":25844954268,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":25844954269,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":25844954270,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":25844954271,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.17","direct":false,"kind":"runtime","optional":false},{"id":25844954272,"package_name":"decorator","ecosystem":"pypi","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":25844954273,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":25844954274,"package_name":"demo","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954275,"package_name":"executing","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":25844954276,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.21.2","direct":false,"kind":"runtime","optional":false},{"id":25844954277,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.60.1","direct":false,"kind":"runtime","optional":false},{"id":25844954278,"package_name":"fqdn","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":25844954279,"package_name":"h11","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":25844954280,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":25844954281,"package_name":"httpx","ecosystem":"pypi","requirements":"0.28.1","direct":false,"kind":"runtime","optional":false},{"id":25844954282,"package_name":"idna","ecosystem":"pypi","requirements":"3.11","direct":false,"kind":"runtime","optional":false},{"id":25844954283,"package_name":"ipykernel","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954284,"package_name":"ipython","ecosystem":"pypi","requirements":"9.6.0","direct":false,"kind":"runtime","optional":false},{"id":25844954285,"package_name":"ipython-pygments-lexers","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":25844954286,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":25844954287,"package_name":"isoduration","ecosystem":"pypi","requirements":"20.11.0","direct":false,"kind":"runtime","optional":false},{"id":25844954288,"package_name":"jedi","ecosystem":"pypi","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":25844954289,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":25844954290,"package_name":"json5","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":25844954291,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25844954292,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.25.1","direct":false,"kind":"runtime","optional":false},{"id":25844954293,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2025.9.1","direct":false,"kind":"runtime","optional":false},{"id":25844954294,"package_name":"jupyter","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":25844954295,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.6.3","direct":false,"kind":"runtime","optional":false},{"id":25844954296,"package_name":"jupyter-console","ecosystem":"pypi","requirements":"6.6.3","direct":false,"kind":"runtime","optional":false},{"id":25844954297,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.9.1","direct":false,"kind":"runtime","optional":false},{"id":25844954298,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":25844954299,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":25844954300,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":25844954301,"package_name":"jupyter-server-terminals","ecosystem":"pypi","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":25844954302,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"4.4.10","direct":false,"kind":"runtime","optional":false},{"id":25844954303,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":25844954304,"package_name":"jupyterlab-server","ecosystem":"pypi","requirements":"2.28.0","direct":false,"kind":"runtime","optional":false},{"id":25844954305,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"3.0.15","direct":false,"kind":"runtime","optional":false},{"id":25844954306,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.9","direct":false,"kind":"runtime","optional":false},{"id":25844954307,"package_name":"lark","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25844954308,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":25844954309,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.10.7","direct":false,"kind":"runtime","optional":false},{"id":25844954310,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":25844954311,"package_name":"mistune","ecosystem":"pypi","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":25844954312,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.10.2","direct":false,"kind":"runtime","optional":false},{"id":25844954313,"package_name":"nbconvert","ecosystem":"pypi","requirements":"7.16.6","direct":false,"kind":"runtime","optional":false},{"id":25844954314,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.10.4","direct":false,"kind":"runtime","optional":false},{"id":25844954315,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":25844954316,"package_name":"notebook","ecosystem":"pypi","requirements":"7.4.7","direct":false,"kind":"runtime","optional":false},{"id":25844954317,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"0.2.4","direct":false,"kind":"runtime","optional":false},{"id":25844954318,"package_name":"numpy","ecosystem":"pypi","requirements":"2.3.4","direct":false,"kind":"runtime","optional":false},{"id":25844954319,"package_name":"packaging","ecosystem":"pypi","requirements":"25.0","direct":false,"kind":"runtime","optional":false},{"id":25844954320,"package_name":"pandas","ecosystem":"pypi","requirements":"2.3.3","direct":false,"kind":"runtime","optional":false},{"id":25844954321,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":25844954322,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.5","direct":false,"kind":"runtime","optional":false},{"id":25844954323,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":25844954324,"package_name":"pillow","ecosystem":"pypi","requirements":"12.0.0","direct":false,"kind":"runtime","optional":false},{"id":25844954325,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.5.0","direct":false,"kind":"runtime","optional":false},{"id":25844954326,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"0.23.1","direct":false,"kind":"runtime","optional":false},{"id":25844954327,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.52","direct":false,"kind":"runtime","optional":false},{"id":25844954328,"package_name":"psutil","ecosystem":"pypi","requirements":"7.1.2","direct":false,"kind":"runtime","optional":false},{"id":25844954329,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25844954330,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":25844954331,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.23","direct":false,"kind":"runtime","optional":false},{"id":25844954332,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.2","direct":false,"kind":"runtime","optional":false},{"id":25844954333,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":25844954334,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":25844954335,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":25844954336,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":25844954337,"package_name":"pywinpty","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":25844954338,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":25844954339,"package_name":"pyzmq","ecosystem":"pypi","requirements":"27.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954340,"package_name":"referencing","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":25844954341,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.5","direct":false,"kind":"runtime","optional":false},{"id":25844954342,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":25844954343,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"0.1.1","direct":false,"kind":"runtime","optional":false},{"id":25844954344,"package_name":"rfc3987-syntax","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25844954345,"package_name":"rpds-py","ecosystem":"pypi","requirements":"0.28.0","direct":false,"kind":"runtime","optional":false},{"id":25844954346,"package_name":"seaborn","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":25844954347,"package_name":"send2trash","ecosystem":"pypi","requirements":"1.8.3","direct":false,"kind":"runtime","optional":false},{"id":25844954348,"package_name":"setuptools","ecosystem":"pypi","requirements":"80.9.0","direct":false,"kind":"runtime","optional":false},{"id":25844954349,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25844954350,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25844954351,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.8","direct":false,"kind":"runtime","optional":false},{"id":25844954352,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":25844954353,"package_name":"terminado","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"runtime","optional":false},{"id":25844954354,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":25844954355,"package_name":"tornado","ecosystem":"pypi","requirements":"6.5.2","direct":false,"kind":"runtime","optional":false},{"id":25844954356,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.14.3","direct":false,"kind":"runtime","optional":false},{"id":25844954357,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":25844954358,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":25844954359,"package_name":"uri-template","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25844954360,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false},{"id":25844954361,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.14","direct":false,"kind":"runtime","optional":false},{"id":25844954362,"package_name":"webcolors","ecosystem":"pypi","requirements":"25.10.0","direct":false,"kind":"runtime","optional":false},{"id":25844954363,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":25844954364,"package_name":"websocket-client","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":25844954365,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"4.0.14","direct":false,"kind":"runtime","optional":false}]}],"score":4.624972813284272,"created_at":"2026-03-19T00:08:24.653Z","updated_at":"2026-04-29T20:00:32.359Z","avatar_url":"https://github.com/kleis-technology.png","language":"Jupyter Notebook","category":"Consumption","sub_category":"Computation and Communication","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Cloud Assess\n\n![Repository Status](https://www.repostatus.org/badges/latest/active.svg)\n![Tests](https://github.com/kleis-technology/cloud-assess/actions/workflows/test.yaml/badge.svg)\n\nThis is the official repository of [Cloud Assess](https://cloudassess.org).\n\n## What is Cloud Assess?\n\nCloud Assess is an open-source tool to automate the assessment of\nthe environmental impacts of cloud services.\n\n![Cloud Assess](./assets/cloudassess.svg)\n\n## Table of Contents\n\n1. [Getting Started](#getting-started)\n2. [First Assessment](#first-assessment)\n3. [How does it work?](#how-does-it-work)\n    * [Trusted Library](#trusted-library)\n    * [Adapt the models to your taste](#adapt-the-models-to-your-taste)\n4. [License](#license)\n5. [About us](#about-us)\n\n## Getting Started\n\nFirst, you need to clone this repository:\n\n```bash\ngit checkout git@github.com:kleis-technology/cloud-assess.git\ncd cloud-assess\n```\n\nAll the commands in the sections below are to be run from the root of this repository.\nWe assume that you will run these commands in bash.\nIf you are using another shell, please adapt the commands accordingly.\n\n### Docker-compose\n\nYou can run the server using `docker-compose`.\n\n```bash\ndocker compose up -d\n```\n\nThe API specification is available in the folder `openapi`.\nFor a more interactive visualisation of the API, the `docker-compose`\nalso spins up a swagger ui instance.\nVisit this [http://localhost](http://localhost) to explore the endpoints, DTOs and run example queries.\n\n### Local build and run\n\n#### Requirements\n\nTo build the server, you will need\n\n* Java 17 (temurin) environment\n* A [GitHub personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) with the permission `read:packages` to download packages from GitHub Package Registry.\n\nThen, set up the following environment variables.\n\n```bash\nexport GITHUB_ACTOR=\u003cyour GitHub username\u003e\nexport GITHUB_TOKEN=\u003cthe token you just created\u003e\n```\n\n#### Procedure\n\nFrom the root of the git repository, run\n\n```bash\n./gradlew build\n```\n\nTo run the server locally\n\n```bash\n./gradlew bootRun\n```\n\nThe server should start listening for requests on `localhost:8080`.\n\nNote that, if you are on Windows, use the command `./gradlew.bat` instead of `./gradlew`.\n\n## First Assessment\n\nEach functional unit is associated with a specific API endpoint.\nFor instance, say we want to assess the environmental impact of using a virtual machine.\nThe request takes the following form:\n\n```json\n{\n   \"period\": {\n      \"amount\": 1.0,\n      \"unit\": \"hour\"\n   },\n   \"total_vcpu\": {\n      \"amount\": 100.0,\n      \"unit\": \"vCPU\"\n   },\n   \"total_ram\": {\n      \"amount\": 100.0,\n      \"unit\": \"GB\"\n   },\n   \"total_storage\": {\n      \"amount\": 100.0,\n      \"unit\": \"TB\"\n   },\n   \"virtual_machines\": [\n      {\n         \"id\": \"vm-01\",\n         \"pool_id\": \"client_vm\",\n         \"quantity\": {\n            \"amount\": 1.0,\n            \"unit\": \"u\"\n         },\n         \"ram\": {\n            \"amount\": 4.0,\n            \"unit\": \"GB\"\n         },\n         \"storage\": {\n            \"amount\": 20.0,\n            \"unit\": \"GB\"\n         },\n         \"vcpu\": {\n            \"amount\": 1.0,\n            \"unit\": \"vCPU\"\n         },\n         \"meta\": {\n            \"region\": \"sofia\",\n            \"env\": \"production\"\n         }\n      }\n   ]\n}\n```\n\nIn this request, we specify the usage of our virtual machine in terms\nof the quantity of resources used (ram, storage and vCPU).\n\nRunning this request yields an impact assessment with the common LCA indicators.\nOf course, in this example, we ran the assessment for a single virtual machine,\nbut nothing stops you from assessing as many virtual machines as you want.\n\u003cdetails\u003e\n\u003csummary\u003e\n    Expand to see what the result looks like.\n\u003c/summary\u003e\n\n```json\n{\n   \"virtual_machines\": [\n      {\n         \"period\": {\n            \"amount\": 1.0,\n            \"unit\": \"hour\"\n         },\n         \"request\": {\n            \"id\": \"vm-01\",\n            \"pool_id\": \"client_vm\",\n            \"quantity\": {\n               \"amount\": 1.0,\n               \"unit\": \"u\"\n            },\n            \"ram\": {\n               \"amount\": 4.0,\n               \"unit\": \"GB\"\n            },\n            \"storage\": {\n               \"amount\": 20.0,\n               \"unit\": \"GB\"\n            },\n            \"vcpu\": {\n               \"amount\": 1.0,\n               \"unit\": \"vCPU\"\n            },\n            \"meta\": {\n               \"region\": \"sofia\",\n               \"env\": \"production\"\n            }\n         },\n         \"impacts\": {\n            \"ADPe\": {\n               \"total\": {\n                  \"amount\": 1.1854678736318172E-5,\n                  \"unit\": \"kg Sb-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 2.225849560067201E-6,\n                     \"unit\": \"kg Sb-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 1.526861504175665E-6,\n                     \"unit\": \"kg Sb-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 6.570462152963352E-6,\n                     \"unit\": \"kg Sb-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 1.5315055191119535E-6,\n                     \"unit\": \"kg Sb-Eq\"\n                  }\n               }\n            },\n            \"ADPf\": {\n               \"total\": {\n                  \"amount\": 62.33162368565782,\n                  \"unit\": \"MJ, net calorific value\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 16.68493611195954,\n                     \"unit\": \"MJ, net calorific value\"\n                  },\n                  \"transport\": {\n                     \"amount\": 16.575951835849164,\n                     \"unit\": \"MJ, net calorific value\"\n                  },\n                  \"use\": {\n                     \"amount\": 12.48864307614414,\n                     \"unit\": \"MJ, net calorific value\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 16.582092661704973,\n                     \"unit\": \"MJ, net calorific value\"\n                  }\n               }\n            },\n            \"AP\": {\n               \"total\": {\n                  \"amount\": 0.027696043162935963,\n                  \"unit\": \"mol H+-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.007594263925867406,\n                     \"unit\": \"mol H+-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 0.007499887185410032,\n                     \"unit\": \"mol H+-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.005096811622739166,\n                     \"unit\": \"mol H+-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 0.007505080428919357,\n                     \"unit\": \"mol H+-Eq\"\n                  }\n               }\n            },\n            \"GWP\": {\n               \"total\": {\n                  \"amount\": 4.917652556684529,\n                  \"unit\": \"kg CO2-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 1.2685097680580173,\n                     \"unit\": \"kg CO2-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 1.2582340374175287,\n                     \"unit\": \"kg CO2-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 1.1324125903631403,\n                     \"unit\": \"kg CO2-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 1.2584961608458427,\n                     \"unit\": \"kg CO2-Eq\"\n                  }\n               }\n            },\n            \"LU\": {\n               \"total\": {\n                  \"amount\": 2.624571812069938,\n                  \"unit\": \"u\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.04726920471902647,\n                     \"unit\": \"u\"\n                  },\n                  \"transport\": {\n                     \"amount\": 0.021918300384408593,\n                     \"unit\": \"u\"\n                  },\n                  \"use\": {\n                     \"amount\": 2.5317431295884796,\n                     \"unit\": \"u\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 0.02364117737802341,\n                     \"unit\": \"u\"\n                  }\n               }\n            },\n            \"ODP\": {\n               \"total\": {\n                  \"amount\": 0.013312891435337558,\n                  \"unit\": \"kg CFC-11-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.0044376267209147125,\n                     \"unit\": \"kg CFC-11-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 0.0044376261366686634,\n                     \"unit\": \"kg CFC-11-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 1.2410867486489788E-8,\n                     \"unit\": \"kg CFC-11-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 0.004437626166886695,\n                     \"unit\": \"kg CFC-11-Eq\"\n                  }\n               }\n            },\n            \"PM\": {\n               \"total\": {\n                  \"amount\": 1.443563140628956E-6,\n                  \"unit\": \"disease incidence\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 4.659322817923548E-7,\n                     \"unit\": \"disease incidence\"\n                  },\n                  \"transport\": {\n                     \"amount\": 4.6532709663581914E-7,\n                     \"unit\": \"disease incidence\"\n                  },\n                  \"use\": {\n                     \"amount\": 4.6936584062332816E-8,\n                     \"unit\": \"disease incidence\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 4.653671781384491E-7,\n                     \"unit\": \"disease incidence\"\n                  }\n               }\n            },\n            \"POCP\": {\n               \"total\": {\n                  \"amount\": 0.002505739886538823,\n                  \"unit\": \"kg NMVOC-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 4.015940673344095E-5,\n                     \"unit\": \"kg NMVOC-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 1.6654121903901202E-6,\n                     \"unit\": \"kg NMVOC-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.0024609082726224306,\n                     \"unit\": \"kg NMVOC-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 3.0067949925616415E-6,\n                     \"unit\": \"kg NMVOC-Eq\"\n                  }\n               }\n            },\n            \"WU\": {\n               \"total\": {\n                  \"amount\": 0.2503283010915833,\n                  \"unit\": \"m3 world eq. deprived\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.012371380794322486,\n                     \"unit\": \"m3 world eq. deprived\"\n                  },\n                  \"transport\": {\n                     \"amount\": 0.0028470792627199957,\n                     \"unit\": \"m3 world eq. deprived\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.23226350876206023,\n                     \"unit\": \"m3 world eq. deprived\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 0.002846332272480629,\n                     \"unit\": \"m3 world eq. deprived\"\n                  }\n               }\n            },\n            \"CTUe\": {\n               \"total\": {\n                  \"amount\": 58.90191574298565,\n                  \"unit\": \"CTUe\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 18.73533240114092,\n                     \"unit\": \"CTUe\"\n                  },\n                  \"transport\": {\n                     \"amount\": 18.51641380532083,\n                     \"unit\": \"CTUe\"\n                  },\n                  \"use\": {\n                     \"amount\": 3.064604371185056,\n                     \"unit\": \"CTUe\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 18.58556516533884,\n                     \"unit\": \"CTUe\"\n                  }\n               }\n            },\n            \"CTUh_c\": {\n               \"total\": {\n                  \"amount\": 1.9213914310898006E-9,\n                  \"unit\": \"CTUh\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 1.8094839178619905E-10,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"transport\": {\n                     \"amount\": 1.3431110837644963E-10,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"use\": {\n                     \"amount\": 1.4671232876712334E-9,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 1.3900864325591864E-10,\n                     \"unit\": \"CTUh\"\n                  }\n               }\n            },\n            \"CTUh_nc\": {\n               \"total\": {\n                  \"amount\": 3.503286449092768E-8,\n                  \"unit\": \"CTUh\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 8.23316171853553E-9,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"transport\": {\n                     \"amount\": 7.746208995686664E-9,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"use\": {\n                     \"amount\": 1.1281201653961916E-8,\n                     \"unit\": \"CTUh\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 7.772292122743571E-9,\n                     \"unit\": \"CTUh\"\n                  }\n               }\n            },\n            \"Epf\": {\n               \"total\": {\n                  \"amount\": 3.763748948066863E-4,\n                  \"unit\": \"kg P-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 6.67944179626921E-6,\n                     \"unit\": \"kg P-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 3.4798870544897944E-6,\n                     \"unit\": \"kg P-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 3.624785519394673E-4,\n                     \"unit\": \"kg P-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 3.737014016459945E-6,\n                     \"unit\": \"kg P-Eq\"\n                  }\n               }\n            },\n            \"Epm\": {\n               \"total\": {\n                  \"amount\": 0.004107094825533502,\n                  \"unit\": \"kg N-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 9.038519487735136E-4,\n                     \"unit\": \"kg N-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 8.924280436794234E-4,\n                     \"unit\": \"kg N-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.0014164017889792132,\n                     \"unit\": \"kg N-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 8.944130441013518E-4,\n                     \"unit\": \"kg N-Eq\"\n                  }\n               }\n            },\n            \"Ept\": {\n               \"total\": {\n                  \"amount\": 0.04057960045019888,\n                  \"unit\": \"mol N-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.00950936272870918,\n                     \"unit\": \"mol N-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 0.009385327891433154,\n                     \"unit\": \"mol N-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.01229587775308712,\n                     \"unit\": \"mol N-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 0.009389032076969424,\n                     \"unit\": \"mol N-Eq\"\n                  }\n               }\n            },\n            \"IR\": {\n               \"total\": {\n                  \"amount\": 0.19346701518814927,\n                  \"unit\": \"kBq U235-Eq\"\n               },\n               \"per_lc_step\": {\n                  \"manufacturing\": {\n                     \"amount\": 0.018582459009159547,\n                     \"unit\": \"kBq U235-Eq\"\n                  },\n                  \"transport\": {\n                     \"amount\": 4.811815316290109E-7,\n                     \"unit\": \"kBq U235-Eq\"\n                  },\n                  \"use\": {\n                     \"amount\": 0.17482771230063854,\n                     \"unit\": \"kBq U235-Eq\"\n                  },\n                  \"end_of_life\": {\n                     \"amount\": 5.6362696819523E-5,\n                     \"unit\": \"kBq U235-Eq\"\n                  }\n               }\n            }\n         }\n      }\n   ]\n}\n```\n\n\u003c/details\u003e\n\n## How does it work?\n\n### Trusted Library\n\nThe ambition of Cloud Assess is to offer a library of *transparent*,\n*PCR-compliant* and *executable* LCA models in the sector of digital services.\nMore precisely, this work builds on the\nnew PCR (to be published soon) for data center and cloud services.\nThe PCR defines 7 functional units, covering the hosting infrastructure (physical datacenter) up to\nmore abstract ones, e.g., virtual machines. \nCloud Assess aims at covering all functional units, but also FU that are not explicitly covered by the PCR\n\n| PCR No. | Functional Unit    | Model | API endpoint |\n|---------|--------------------|-------|--------------|\n| 1       | Datacenter         | n/a   | n/a          |\n| 2       | Physical server    | ✅     | planned      |\n| 3       | Storage            | ✅     | planned      |\n| 4       | Network equipment  | ✅     | planned      |\n| 5       | Computing resource | ✅     | ✅            |\n| 6       | Virtual machine    | ✅     | ✅            |\n| 7       | Block storage      | ✅     | ✅            |\n\nThese models are specified under the folder `trusted_library`.\n\n### Adapt the models to your taste\n\n#### Structure\n\nThe models are written in the [LCA as CODE](https://lca-as-code.com) language.\nThis is a domain-specific language designed for the need of lifecycle analysis.\nThe models under the folder `trusted_library/lib` are directly loaded in the server\nto perform the assessments.\nA [tutorial](https://lca-as-code.com/book) is available if you want to learn\nmore about the language itself.\nThe source repository is available [here](https://github.com/kleis-technology/lcaac).\n\nThe folder `trusted_library` is organized as follows.\n* `lib` : this folder contains the models written in [LCA as CODE](https://lca-as-code.com).\n* `inventory` : this folder contains inventory data (csv files)\n\nHere is an illustration of this layering structure.\n\n\u003cimg alt=\"sankey\" src=\"assets/sankey.png\" width=800/\u003e\n\n#### Configuring and deploying Cloud Assess\n\nCheck out the [wiki](https://github.com/kleis-technology/cloud-assess/wiki/Deploying-Cloud-Assess)\nfor a tutorial on how to configure and deploy Cloud Assess in a Kubernetes environment.\n\n## License\n\nThe contents of this repository are licensed as follows:\n- `trusted_library` folder: Licensed under the [Apache 2 license](LICENSE.Apache-2.0.txt)\n- All other content: Dual-licensed under the GNU AGPL v3 or a commercial license (see [LICENSE](LICENSE.Dual.txt))\n\nFor commercial licensing inquiries, please contact us at `contact@kleis.ch`.\n\n## About us\n\n[Cloud Assess](https://cloudassess.org) is a joint-venture of [Resilio](https://resilio-solutions.com)\nand [Kleis Technology](https://kleis.ch).\n\nIf you have any questions related to Cloud Assess, be it about the LCA methodology or ways to automate the assessments,\nfeel free to reach out to us at `contact@resilio.tech`.\n\n\u003cspan\u003e\n\u003cimg alt=\"Resilio\" src=\"assets/resilio.svg\" style=\"background: white; padding: 2px\"/\u003e \u0026 \u003cimg alt=\"Kleis\" src=\"assets/kleis.svg\" style=\"background: white; padding: 2px\"/\u003e\n\u003c/span\u003e\n\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/348852","html_url":"https://ost.ecosyste.ms/projects/348852"}