Page Not Found | Carbon Aware SDK
-
+
diff --git a/assets/js/c969abce.4120a749.js b/assets/js/c969abce.4120a749.js
new file mode 100644
index 000000000..7e4a152fc
--- /dev/null
+++ b/assets/js/c969abce.4120a749.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[8001],{7685:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var t=r(4848),i=r(5680);const a={slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},s=void 0,o={permalink:"/blog/release-v1.4",editUrl:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx",source:"@site/blog/2024-05-24-release-1.4.mdx",title:"Release v1.4",description:"Release 1.4",date:"2024-05-24T00:00:00.000Z",tags:[{inline:!0,label:"v1.4",permalink:"/blog/tags/v-1-4"},{inline:!0,label:"release",permalink:"/blog/tags/release"}],readingTime:.695,hasTruncateMarker:!1,authors:[],frontMatter:{slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},unlisted:!1,prevItem:{title:"Release v1.5",permalink:"/blog/release-v1.5"},nextItem:{title:"Carbon Aware SDK 1.4, behind the scenes",permalink:"/blog/dotnet-8-upgrade"}},l={authorsImageUrls:[]},c=[{value:"Added",id:"added",level:3},{value:"Fixed",id:"fixed",level:3},{value:"Changed",id:"changed",level:3},{value:"API",id:"api",level:4},{value:"API Deployment",id:"api-deployment",level:4},{value:"SDK",id:"sdk",level:4},{value:"Other",id:"other",level:4}];function d(e){const n={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",ul:"ul",...(0,i.RP)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Release 1.4"}),"\n",(0,t.jsx)(n.h3,{id:"added",children:"Added"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401",children:"#401 Feature Contribution: Upgrade .NET version to .NET 8 "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419",children:"#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500",children:"PR #500 Up Helm chart version to 1.2.0 "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397",children:"#397 Feature Contribution: Data caching in the SDK "})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"fixed",children:"Fixed"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505",children:"#505 Bug: Project Page wiki from GSF website still says it's in incubation "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496",children:"#496 URGENT WebAPI container has not built due to segmentation fault "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487",children:"#487 Bug: Getting started guide is lost "})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"changed",children:"Changed"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477",children:"#477 Bug: Ensure the readme file shows as the project overview content on the documentation site "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485",children:"PR #485 Docs overview, disclaimer & pipeline updates for graduation "})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"api",children:"API"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"api-deployment",children:"API Deployment"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"sdk",children:"SDK"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"other",children:"Other"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more details, checkout ",(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503"})]})]})}function u(e={}){const{wrapper:n}={...(0,i.RP)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5680:(e,n,r)=>{r.d(n,{RP:()=>c});var t=r(6540);function i(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function s(e){for(var n=1;n=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=t.createContext({}),c=function(e){var n=t.useContext(l),r=n;return e&&(r="function"==typeof e?e(n):s(s({},n),e)),r},d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},u=t.forwardRef((function(e,n){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),h=c(r),p=i,b=h["".concat(l,".").concat(p)]||h[p]||d[p]||a;return r?t.createElement(b,s(s({ref:n},u),{},{components:r})):t.createElement(b,s({ref:n},u))}));u.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/c969abce.67d35602.js b/assets/js/c969abce.67d35602.js
deleted file mode 100644
index b4a3f1dfe..000000000
--- a/assets/js/c969abce.67d35602.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[8001],{7685:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(4848),a=n(5680);const i={slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},o=void 0,s={permalink:"/blog/release-v1.4",editUrl:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx",source:"@site/blog/2024-05-24-release-1.4.mdx",title:"Release v1.4",description:"Release 1.4",date:"2024-05-24T00:00:00.000Z",tags:[{inline:!0,label:"v1.4",permalink:"/blog/tags/v-1-4"},{inline:!0,label:"release",permalink:"/blog/tags/release"}],readingTime:.65,hasTruncateMarker:!1,authors:[],frontMatter:{slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},unlisted:!1,prevItem:{title:"Release v1.5",permalink:"/blog/release-v1.5"},nextItem:{title:"Carbon Aware SDK 1.4, behind the scenes",permalink:"/blog/dotnet-8-upgrade"}},l={authorsImageUrls:[]},c=[{value:"Added",id:"added",level:3},{value:"Fixed",id:"fixed",level:3},{value:"Changed",id:"changed",level:3},{value:"API",id:"api",level:4},{value:"API Deployment",id:"api-deployment",level:4},{value:"SDK",id:"sdk",level:4},{value:"Other",id:"other",level:4}];function d(e){const t={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",ul:"ul",...(0,a.RP)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Release 1.4"}),"\n",(0,r.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401",children:"#401 Feature Contribution: Upgrade .NET version to .NET 8 "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419",children:"#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model "}),"\n-[PR #500] Up Helm chart version to 1.2.0 ](",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500"}),")"]}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397",children:"#397 Feature Contribution: Data caching in the SDK "})]}),"\n",(0,r.jsx)(t.h3,{id:"fixed",children:"Fixed"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505",children:"#505 Bug: Project Page wiki from GSF website still says it's in incubation "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496",children:"#496 URGENT WebAPI container has not built due to segmentation fault "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487",children:"#487 Bug: Getting started guide is lost "})]}),"\n",(0,r.jsx)(t.h3,{id:"changed",children:"Changed"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477",children:"#477 Bug: Ensure the readme file shows as the project overview content on the documentation site "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485",children:"PR #485 Docs overview, disclaimer & pipeline updates for graduation "})]}),"\n",(0,r.jsx)(t.h4,{id:"api",children:"API"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"api-deployment",children:"API Deployment"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"sdk",children:"SDK"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"other",children:"Other"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For more details, checkout ",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503"})]})]})}function u(e={}){const{wrapper:t}={...(0,a.RP)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5680:(e,t,n)=>{n.d(t,{RP:()=>c});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),h=c(n),p=a,b=h["".concat(l,".").concat(p)]||h[p]||d[p]||i;return n?r.createElement(b,o(o({ref:t},u),{},{components:n})):r.createElement(b,o({ref:t},u))}));u.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/cd3f4257.f3c29b6c.js b/assets/js/cd3f4257.f3c29b6c.js
deleted file mode 100644
index 286d08ad5..000000000
--- a/assets/js/cd3f4257.f3c29b6c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[2283],{7827:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(4848),a=n(5680);const i={slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},o=void 0,s={permalink:"/blog/release-v1.4",editUrl:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx",source:"@site/blog/2024-05-24-release-1.4.mdx",title:"Release v1.4",description:"Release 1.4",date:"2024-05-24T00:00:00.000Z",tags:[{inline:!0,label:"v1.4",permalink:"/blog/tags/v-1-4"},{inline:!0,label:"release",permalink:"/blog/tags/release"}],readingTime:.65,hasTruncateMarker:!1,authors:[],frontMatter:{slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},unlisted:!1,prevItem:{title:"Release v1.5",permalink:"/blog/release-v1.5"},nextItem:{title:"Carbon Aware SDK 1.4, behind the scenes",permalink:"/blog/dotnet-8-upgrade"}},l={authorsImageUrls:[]},c=[{value:"Added",id:"added",level:3},{value:"Fixed",id:"fixed",level:3},{value:"Changed",id:"changed",level:3},{value:"API",id:"api",level:4},{value:"API Deployment",id:"api-deployment",level:4},{value:"SDK",id:"sdk",level:4},{value:"Other",id:"other",level:4}];function d(e){const t={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",ul:"ul",...(0,a.RP)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Release 1.4"}),"\n",(0,r.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401",children:"#401 Feature Contribution: Upgrade .NET version to .NET 8 "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419",children:"#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model "}),"\n-[PR #500] Up Helm chart version to 1.2.0 ](",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500"}),")"]}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397",children:"#397 Feature Contribution: Data caching in the SDK "})]}),"\n",(0,r.jsx)(t.h3,{id:"fixed",children:"Fixed"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505",children:"#505 Bug: Project Page wiki from GSF website still says it's in incubation "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496",children:"#496 URGENT WebAPI container has not built due to segmentation fault "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487",children:"#487 Bug: Getting started guide is lost "})]}),"\n",(0,r.jsx)(t.h3,{id:"changed",children:"Changed"}),"\n",(0,r.jsxs)(t.p,{children:["-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477",children:"#477 Bug: Ensure the readme file shows as the project overview content on the documentation site "}),"\n-",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485",children:"PR #485 Docs overview, disclaimer & pipeline updates for graduation "})]}),"\n",(0,r.jsx)(t.h4,{id:"api",children:"API"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"api-deployment",children:"API Deployment"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"sdk",children:"SDK"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"other",children:"Other"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For more details, checkout ",(0,r.jsx)(t.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503"})]})]})}function u(e={}){const{wrapper:t}={...(0,a.RP)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5680:(e,t,n)=>{n.d(t,{RP:()=>c});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),h=c(n),p=a,b=h["".concat(l,".").concat(p)]||h[p]||d[p]||i;return n?r.createElement(b,o(o({ref:t},u),{},{components:n})):r.createElement(b,o({ref:t},u))}));u.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/cd3f4257.fc5679ad.js b/assets/js/cd3f4257.fc5679ad.js
new file mode 100644
index 000000000..c5c40533b
--- /dev/null
+++ b/assets/js/cd3f4257.fc5679ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[2283],{7827:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var t=r(4848),i=r(5680);const a={slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},s=void 0,o={permalink:"/blog/release-v1.4",editUrl:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx",source:"@site/blog/2024-05-24-release-1.4.mdx",title:"Release v1.4",description:"Release 1.4",date:"2024-05-24T00:00:00.000Z",tags:[{inline:!0,label:"v1.4",permalink:"/blog/tags/v-1-4"},{inline:!0,label:"release",permalink:"/blog/tags/release"}],readingTime:.695,hasTruncateMarker:!1,authors:[],frontMatter:{slug:"release-v1.4",title:"Release v1.4",tags:["v1.4","release"]},unlisted:!1,prevItem:{title:"Release v1.5",permalink:"/blog/release-v1.5"},nextItem:{title:"Carbon Aware SDK 1.4, behind the scenes",permalink:"/blog/dotnet-8-upgrade"}},l={authorsImageUrls:[]},c=[{value:"Added",id:"added",level:3},{value:"Fixed",id:"fixed",level:3},{value:"Changed",id:"changed",level:3},{value:"API",id:"api",level:4},{value:"API Deployment",id:"api-deployment",level:4},{value:"SDK",id:"sdk",level:4},{value:"Other",id:"other",level:4}];function d(e){const n={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",ul:"ul",...(0,i.RP)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Release 1.4"}),"\n",(0,t.jsx)(n.h3,{id:"added",children:"Added"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401",children:"#401 Feature Contribution: Upgrade .NET version to .NET 8 "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419",children:"#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500",children:"PR #500 Up Helm chart version to 1.2.0 "})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397",children:"#397 Feature Contribution: Data caching in the SDK "})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"fixed",children:"Fixed"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505",children:"#505 Bug: Project Page wiki from GSF website still says it's in incubation "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496",children:"#496 URGENT WebAPI container has not built due to segmentation fault "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487",children:"#487 Bug: Getting started guide is lost "})}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"changed",children:"Changed"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477",children:"#477 Bug: Ensure the readme file shows as the project overview content on the documentation site "})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485",children:"PR #485 Docs overview, disclaimer & pipeline updates for graduation "})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"api",children:"API"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"api-deployment",children:"API Deployment"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"sdk",children:"SDK"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"other",children:"Other"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more details, checkout ",(0,t.jsx)(n.a,{href:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503",children:"https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503"})]})]})}function u(e={}){const{wrapper:n}={...(0,i.RP)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5680:(e,n,r)=>{r.d(n,{RP:()=>c});var t=r(6540);function i(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function s(e){for(var n=1;n=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=t.createContext({}),c=function(e){var n=t.useContext(l),r=n;return e&&(r="function"==typeof e?e(n):s(s({},n),e)),r},d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},u=t.forwardRef((function(e,n){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),h=c(r),p=i,b=h["".concat(l,".").concat(p)]||h[p]||d[p]||a;return r?t.createElement(b,s(s({ref:n},u),{},{components:r})):t.createElement(b,s({ref:n},u))}));u.displayName="MDXCreateElement"}}]);
\ No newline at end of file
diff --git a/assets/js/f81c1134.07e3cab9.js b/assets/js/f81c1134.07e3cab9.js
deleted file mode 100644
index 73797b5dc..000000000
--- a/assets/js/f81c1134.07e3cab9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[8130],{7735:e=>{e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"release-v1.5","metadata":{"permalink":"/blog/release-v1.5","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-07-23-release-1.5.mdx","source":"@site/blog/2024-07-23-release-1.5.mdx","title":"Release v1.5","description":"Release 1.5","date":"2024-07-23T00:00:00.000Z","tags":[{"inline":true,"label":"v1.5","permalink":"/blog/tags/v-1-5"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":1.79,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.5","title":"Release v1.5","tags":["v1.5","release"]},"unlisted":false,"nextItem":{"title":"Release v1.4","permalink":"/blog/release-v1.4"}},"content":"Release 1.5\\n\\nThis is the WattTime v3 update. Most notable changes that may require action are for deployment configuration, and these are minor.\\n\\n### Added \\n\\nWattTime v3 API support. This is an inplace upgrade for v2.\\n\\n- [PR #532 Watt Time v3 Support ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/532)\\n- [PR #340 Add example for \'podman play kube\' ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/340)\\n- [PR #536 Updated azure-regions.json with new regions ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/536)\\n- [#519 Remove hackathon sentence from our website banner ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/519)\\n- [#510 Gap Analysis for WattTime v3 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/510)\\n- [#262 Feature Contribution: Publish the docker file in a docker registry ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/262)\\n\\n### Removed\\n\\nWattTime v2 API support due to v3 in place replacement.\\n\\n### Fixed\\n\\n- [PR #522 Remove Hack mention from the Docs\'s banner ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/522)\\n- [#535 Bug: Configuration for locations loads twice ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/535)\\n- [PR #516 Update published documentation to .NET 8 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/516)\\n- [PR #515 overview.md: Fixed three broken links Signed-off-by: joecus1 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/515)\\n- [#506 Check our published documentation to identify any references to .NET7 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/506)\\n- [#512 Bug: Broken links in overview.md file ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/512)\\n\\n### Changed\\n\\nUpdates for WattTime v3 API endpoint from v2, details in the [ADR for WattTime v3 changes](./casdk-docs/docs/architecture//decisions/0016-watt-time-v3.md).\\n\\n#### API\\n\\nNo changes\\n\\n#### API Deployment\\n\\nDue to the change for WattTime v3, there is change to the configuration for WattTime users.\\n\\nWith some of the changes to the code, some of the configuration will also needs to change.\\n\\n| Config (v2) | Config (v3) | Description |\\n|------------------------------------|----------------------------------|------------------------------|\\n| `BalancingAuthorityCacheTTL` | `RegionCacheTTL` | This is the cache for regions data in seconds, and has a default value of 1 day. This only needs updating if you set it |\\n| n/a | `AuthenticationBaseUrl` | **NEW** This is the base URL for the WattTime Authentication API and defaults to `https://api.watttime.org/` if not set. |\\n\\nExample below if set (note they do not have to be set)\\n```json\\n\\"wattTime_no-proxy\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"the_username\\",\\n \\"Password\\": \\"super_secret_secret\\",\\n \\"BaseURL\\": \\"https://api.watttime.org/v3/\\",\\n \\"AutenticationBaseURL\\": \\"https://api.watttime.org\\", // This is new but not mandatory in config\\n \\"RegionCacheTTL\\": 86400, // This is changed but not mandatory in config\\n \\"Proxy\\": {\\n \\"UseProxy\\": false\\n }\\n```\\n\\n#### SDK \\n\\nNo changes\\n\\n\\n#### Other\\n\\nNo changes\\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503)"},{"id":"release-v1.4","metadata":{"permalink":"/blog/release-v1.4","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx","source":"@site/blog/2024-05-24-release-1.4.mdx","title":"Release v1.4","description":"Release 1.4","date":"2024-05-24T00:00:00.000Z","tags":[{"inline":true,"label":"v1.4","permalink":"/blog/tags/v-1-4"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.65,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.4","title":"Release v1.4","tags":["v1.4","release"]},"unlisted":false,"prevItem":{"title":"Release v1.5","permalink":"/blog/release-v1.5"},"nextItem":{"title":"Carbon Aware SDK 1.4, behind the scenes","permalink":"/blog/dotnet-8-upgrade"}},"content":"Release 1.4\\n\\n\\n### Added \\n\\n-[#401 Feature Contribution: Upgrade .NET version to .NET 8 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401)\\n-[#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419)\\n-[PR #500] Up Helm chart version to 1.2.0 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500)\\n\\n-[#397 Feature Contribution: Data caching in the SDK ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397)\\n\\n### Fixed\\n\\n-[#505 Bug: Project Page wiki from GSF website still says it\'s in incubation ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505)\\n-[#496 URGENT WebAPI container has not built due to segmentation fault ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496)\\n-[#487 Bug: Getting started guide is lost ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487)\\n\\n\\n### Changed\\n\\n-[#477 Bug: Ensure the readme file shows as the project overview content on the documentation site ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477)\\n-[PR #485 Docs overview, disclaimer & pipeline updates for graduation ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- \\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503)"},{"id":"dotnet-8-upgrade","metadata":{"permalink":"/blog/dotnet-8-upgrade","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-16-dotnet8/index.md","source":"@site/blog/2024-05-16-dotnet8/index.md","title":"Carbon Aware SDK 1.4, behind the scenes","description":"As most software nowadays, the Carbon Aware SDK relies on a stack of utilities, and while adding a new feature is usually the most appealing for a project, it\u2019s also critical to maintain the stack, especially in a community effort.","date":"2024-05-16T00:00:00.000Z","tags":[{"inline":true,"label":"dotnet8","permalink":"/blog/tags/dotnet-8"},{"inline":true,"label":"post","permalink":"/blog/tags/post"}],"readingTime":8.045,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"dotnet-8-upgrade","title":"Carbon Aware SDK 1.4, behind the scenes","tags":["dotnet8","post"]},"unlisted":false,"prevItem":{"title":"Release v1.4","permalink":"/blog/release-v1.4"},"nextItem":{"title":"Release v1.3","permalink":"/blog/release-v1.3"}},"content":"As most software nowadays, the Carbon Aware SDK relies on a stack of utilities, and while adding a new feature is usually the most appealing for a project, it\u2019s also critical to maintain the stack, especially in a community effort.\\n\\nContainerization has helped shift the upgrading work to a more convenient time for the development team, but there are still various motivations for keeping a stack up to date with current versions: security, bug fixes, performance, support\u2026 but the best is to couple with new feature development: such was the case for the .NET framework.\\n\\nHowever, those updates often have ripple effects, as their dependencies are not always foreseeable, making the software upgrade workload hard to predict.\\n\\nAs NTT and NTT DATA were key participants in this contribution, this is a good occasion to cast a light on the behind the scenes, and the way this new Carbon Aware SDK is being used internally.\\n\\n# Why .NET 8 ?\\n\\nCarbon Aware SDK v1.4.0 was released in May 2024. Its core evolution was the upgrade to .NET 8. Until v1.3.x, the Carbon Aware SDK relied on the LTS (Long Term Support) version .NET 6. With an EOL (End of Life) set for November 2024, an upgrade was unavoidable.\\n\\nMicrosoft released .NET 8 in November 2023, the latest LTS version of .NET, which [will be supported until November 2026](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). \\n\\nWanting to display the Software Carbon Intensity ([SCI - Software Carbon Intensity](https://sci.greensoftware.foundation/) as adopted in [ISO/IEC 21031:2024](https://www.iso.org/standard/86612.html)) metrics from the Carbon Aware SDK WebAPI made .NET 8 a requirement, as .NET 8 introduced [enhanced support for implementing metrics features](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8/runtime#extensions-metrics).\\n\\nIndeed, the newly introduced [IMeterFactory](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.imeterfactory?view=net-8.0) interface enabled us to create a [Meter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter?view=net-8.0) instance while maintaining modularity by using dependency injection (i.e. use the .NET 8 implementation of the feature, instead of recreating it\u2026 another software development sustainable pattern). \\n\\nIn summary, Carbon Intensity metrics handling was combined with the necessary support extension that the .NET 8 upgrade provides.\\n\\n# In practice\\n\\nThe initial work for upgrading to .NET 8 was done in [Pull Request #404](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/404) (aka PR, a code change proposal, which once approved will be merged in the main code).\\n\\nWithout being a C# expert, it\u2019s still interesting to look at the PR and see that: it involves several individuals working together as a community, many files were impacted, and highlights the importance of tests and samples, which required further work due to some ripple effects.\\n\\nFor the nitty gritty (else jump to the next paragraph): the core work is \u201csimply\u201d updating the target framework version. \\n\\nIt can be done in the property window of each of the C# projects, for example, in the Japanese version of Visual Studio (Fig.1).\\n\\n![fig1](./fig1.png)\\n\\nFig.1 Property window of C# project in Carbon Aware SDK on Visual Studio Community Edition\\n\\nCarbon Aware SDK includes 30 C# projects (in v1.3.0 at least), so automation is welcomed. The target framework version is described in `/Project/PropertyGroup/TargetFramework` in the `.csproj` file. For example, running the command on WSL:\\n\\n```\\nfind . -name \\"*.csproj\\" -exec sed -i \'s|^\\\\(\\\\s\\\\+\\\\)net6.0$|\\\\1net8.0|g\' {} \\\\;\\n```\\n\\nThe .NET version is specified in many other places, which need to be updated as well (`grep` will list them all).\\n\\n* Base image in Docker file\\n * Use tag `8.0` instead of `6.0` for `mcr.microsoft.com/dotnet/sdk`\\n* Tool configurations\\n * global.json\\n * dotnet-tools.json\\n * launch.json for VSCode\\n* Target framework version for OpenAPI generator for .NET\\n* .NET version for [actions/setup-dotnet](https://github.com/actions/setup-dotnet) in GitHub Actions Workflow\\n* Comments in source files\\n* Documents\\n\\nWhile the updating part is done, the work does not end there\u2026\\n\\n# Unexpected work items\\n\\nWhile the .NET 8 upgrade was done, some unexpected issues surfaced. \\n\\n## Ripple effect on sample code\\n\\nTo help onboard newcomers to the Carbon Aware SDK, a sample running on Azure Functions is provided.\\n\\nAzure Functions for .NET is transitioning one of its execution modes (the In-process model) to the Isolated worker model ([more details here](https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-in-process-differences)). Moreover, .NET 8 did not yet provide an option to use the former model in its initial release (cf. [roadmap of Azure Functions](https://techcommunity.microsoft.com/t5/apps-on-azure-blog/net-on-azure-functions-august-2023-roadmap-update/ba-p/3910098)).\\n\\nAs our sample was still implementing the in-process model (to be deprecated and not available in .NET 8 at this time), it made sense to migrate to the isolated worker model.\\n\\nFor the code lover, there is a helpful [guide](https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-to-isolated-model?tabs=net8) for the migration. This led to:\\n\\n* Change the version of container images to build and test\\n* Update the `.csproj` file\\n* Replace `Startup.cs` with `Program.cs`\\n* Replace `FunctionName` attribute with `Function`\\n* Change loggers to be obtained from the DI container\\n* Update the document\\n\\nFor more details browse: [Pull Request #420](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/420).\\n\\n## Port Number Breaking change\\n\\nAs the Carbon Aware SDK WebAPI uses ASP.NET Core technology, another collateral change was required since .NET 8 changed its default port number from 80 to 8080 [Microsoft Learn document](https://learn.microsoft.com/en-us/dotnet/core/compatibility/containers/8.0/aspnet-port)).\\n\\nChanging the port number from WebAPI container affects the containerPort in the Helm chart and some GitHub Workflows that uses WebAPI.\\n\\n## Broken build pipeline on GitHub Actions\\n\\nThanks to GitHub, a lot of automation is available to publish code, allowing contributors to focus more on coding. In particular, the Carbon Aware SDK repository is configured to publish the WebAPI container image (like a snapshot build) when a commit occurs on the dev branch.\\n\\nHowever, it suddenly stopped working after the .NET 8 upgrade.\\n\\nThe team investigated the logs (Fig. 2), as a container image for both AMD64 and Arm64 Linux in GitHub Actions with [docker/build-push-action](https://github.com/docker/build-push-action): a mysterious segmentation fault (SEGV) was occurring after the upgrade\u2026 the code was not changed, `dotnet publish` was outside the scope.\\n\\n```\\n > [linux/arm64 build-env 4/6] RUN dotnet publish CarbonAware.WebApi/src/CarbonAware.WebApi.csproj -c Release -o publish:\\n7.209 MSBuild version 17.9.6+a4ecab324 for .NET\\n24.69 Determining projects to restore...\\n41.42 Segmentation fault (core dumped)\\n```\\n\\nFig.2 Logs in `dotnet publish` on GitHub Actions\\n\\nFurther investigation was done, and thanks to a [.NET blog](https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/) about multi-platform container support, we identified that an unsupported approach was used for the build, and needed to be amended. More precisely, since .NET 6, QEMU static binaries were used to build container images for multi-platform.\\n\\nFortunately, the .NET blog guides how to build multi-platform container images, and the workflow was fixed accordingly in [Pull Request #498](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/498). So the WebAPI container image with .NET 8 can be pulled from [GitHub Packages](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pkgs/container/carbon-aware-sdk) now!\\n\\n# Use case in NTT / NTT DATA\\n\\nWhile NTT & NTT DATA have been contributing to the Carbon Aware SDK for a long time, we had not previously publicly referenced our [adoption of the tool](https://github.com/Green-Software-Foundation/carbon-aware-sdk/blob/dev/casdk-docs/docs/overview/adopters.md).\\n\\nThe Carbon Aware SDK v1.4.0 carbon metrics exporter (dependent on .NET8 upgrade) has increased the usefulness of the SDK due to increased visualization capabilities now available.\\n\\n## Carbon Intensity map\\n\\nThis feature facilitates integration with monitoring solutions like [Prometheus](https://prometheus.io/) and furthermore with a visualization solution like [Grafana](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/): unlocking geomap style visualization (showing metrics at specified locations on a map). By enabling the exporter and making some settings on Grafana, carbon intensities can be exported from Carbon Aware SDK to a geomap, this is part of a dashboard to monitor carbon emissions for software systems.\\n\\nThe Carbon Intensity can be intuitively visualized with size and colors on a geomap. Beyond raising awareness, this can guide decisions on location or time shift.\\n\\n![fig3](./fig3.png)\\n\\n## Green Dashboard for Kubernetes\\n\\nCarbon Aware SDK helps increase awareness around Carbon emission, and it is now possible to monitor carbon emission per application within Kubernetes.\\n\\nIn practice, each container\'s energy consumption is evaluated through [Kepler](https://www.cncf.io/projects/kepler/) (sandbox project in Cloud Native Cloud Foundation, [CNCF](https://www.cncf.io/)), and thanks to the Carbon Aware SDK, the carbon emission can be evaluated.\\n\\nAll those emission data from power grid can be accessed through the Prometheus exporter with the Carbon Aware SDK (starting v1.4.0), and visualized with the Grafana dashboard.\\n\\nThe power consumption, energy consumption, carbon emission, and SCI can be seen at a glance!\\n\\nOne of the upsides of micro-services architecture, as Kubernetes facilitates it, is to be able to work on different pieces of an application in a relatively independent fashion (maintaining, scaling, optimizing\u2026).\\n\\nThe Green Dashboard allows a team to check an application\'s global energy consumption and carbon emission (dashboard left side), while drilling down into sustainability-related metrics for each micro-service (dashboard right side).\\n\\nIt shows the SCI, allowing to get a sense of the rate of Carbon Emission down to a particular piece of an architecture (R being the [functional unit](https://learn.greensoftware.foundation/measurement/#software-carbon-intensity-specification) for that service - for example, an API call, the data is being shown per R unit or over an hour).\\n\\nWhile in monolithic application optimization needs customized instrumentation, and often have rippled effects, this green dashboard helps identify which micro-service refactoring would have the maximum impact on the application\'s carbon footprint, leveraging the team effort more efficiently.\\n\\n![fig4](./fig4.png)\\n\\n# Moving Forward\\n\\nWith the Cloud Computing expansion, and Kubernetes flexibility, more and more choices exist for running a workload. While business and economic constraints often lead those decisions, the carbon footprint is becoming an increasingly critical consideration.\\n\\nThis is a difficult endeavor, and the first step is to know where one stands, measure but also later evaluate and confirm what action would lead to improvement. That was one of the intentions behind the Green Dashboard for Kubernetes, and the Carbon Aware SDK 1.4 is a key element in this approach.\\n\\nBy providing a standard interface to the carbon emissions of the energy, the Carbon Aware SDK is a key element for IT sustainability: from evaluating current carbon footprint up to taking into account carbon intensity for geo or time shifting\u2026\\n\\nThanks to the community effort the first step is a click away with the [quickstarting guide](https://carbon-aware-sdk.greensoftware.foundation/docs/quickstart), available for everyone.\\n\\nNo excuse!"},{"id":"release-v1.3","metadata":{"permalink":"/blog/release-v1.3","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-02-13-release-1.3.mdx","source":"@site/blog/2024-02-13-release-1.3.mdx","title":"Release v1.3","description":"Release 1.3","date":"2024-02-13T00:00:00.000Z","tags":[{"inline":true,"label":"v1.3","permalink":"/blog/tags/v-1-3"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.835,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.3","title":"Release v1.3","tags":["v1.3","release"]},"unlisted":false,"prevItem":{"title":"Carbon Aware SDK 1.4, behind the scenes","permalink":"/blog/dotnet-8-upgrade"},"nextItem":{"title":"Release v1.2","permalink":"/blog/release-v1.2"}},"content":"Release 1.3\\n\\n\\n### Added \\n\\n- docs site at https://carbon-aware-sdk.greensoftware.foundation/\\n- [PR #464 Create SECURITY.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/464)\\n- [PR #461 CarbonHack24 Update to README.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/461)\\n- [PR #457 Features/codespaces quickstart ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/457)\\n- [PR #459 Readme updates for clarity ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/459)\\n- [PR #449 Support location source setting in Helm chart ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/449)\\n- [PR #431 Update documentation of Usefulness (adopters.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/431)\\n- [#416 Add disclaimer banner to any public-facing documentation (docusaurus webpage) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/416)\\n- [#415 Update documentation of secureness (security.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/415)\\n- [#414 Update documentation of Usefulness (adopters.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/414)\\n- [#413 Update documentation for Test Coverage ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/413)\\n- [#412 Update documentation for End User Guide (enablement.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/412)\\n- [#410 Update documentation for How to contribute (contributing.md ) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/410)\\n\\n### Fixed\\n\\n- [#344 [Bug]: Fix and update doc deployment workflow ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/344) \\n\\n### Changed\\n\\n- [#411 Update documentation for Project overview (ReadMe) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/411)\\n- [PR #454 Update quickstart.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/454)\\n- [PR #453 Update overview.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/453)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- \\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/474](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/474)"},{"id":"release-v1.2","metadata":{"permalink":"/blog/release-v1.2","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-01-14-release-1.2.mdx","source":"@site/blog/2024-01-14-release-1.2.mdx","title":"Release v1.2","description":"Added","date":"2024-01-14T00:00:00.000Z","tags":[{"inline":true,"label":"v1.2","permalink":"/blog/tags/v-1-2"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.425,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.2","title":"Release v1.2","tags":["v1.2","release"]},"unlisted":false,"prevItem":{"title":"Release v1.3","permalink":"/blog/release-v1.3"},"nextItem":{"title":"Release v1.1","permalink":"/blog/release-v1.1"}},"content":"### Added \\n\\n- [#381 Add Helm chart and workflow](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/381)\\n- New package release for Helm charts available at https://github.com/Green-Software-Foundation/carbon-aware-sdk/pkgs/container/charts%2Fcarbon-aware-sdk\\n\\n### Fixed\\n\\n- [#232 Generating SDK client does not work on linux](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/232)\\n- [#393 Fix: verify-azure-function-with-packages](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/393)\\n- [#391 fixing 3 broken links in overview.md](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/391)\\n- [#389 EMFree data source should regard specified time range](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/389)\\n\\n### Changed\\n\\n- [#425 Updating CONTRIBUTING.md](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/425)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- Improved process leveraging the project boards at https://github.com/orgs/Green-Software-Foundation/projects/15/views/2\\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/232](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues?q=label%3Av1.2+is%3Aclosed+)"},{"id":"release-v1.1","metadata":{"permalink":"/blog/release-v1.1","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2023-07-18-release-1.1.mdx","source":"@site/blog/2023-07-18-release-1.1.mdx","title":"Release v1.1","description":"Added","date":"2023-07-18T00:00:00.000Z","tags":[{"inline":true,"label":"v1.1","permalink":"/blog/tags/v-1-1"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":2.34,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.1","title":"Release v1.1","tags":["v1.1","release"]},"unlisted":false,"prevItem":{"title":"Release v1.2","permalink":"/blog/release-v1.2"},"nextItem":{"title":"Release v1.0","permalink":"/blog/release-v1.0"}},"content":"### Added \\n\\n- Added Electricity Maps (paid api) support for forecasting and historical data. \\n- Added ElectricityMaps (free api) support for historical data. Note that this API does not support forecast capabilities. \\n\\n### Fixed\\n\\n- Fixed generated test data that had time bomb bug that was in test data, which caused integration tests to fail. This is now automatically generated each time.\\n- Fixed some bugs that related to underlying data source errors surfacing as HTTP 500 errors from the API. These should now be more consistent.\\n- Fixed an issue where UTF-8 passwords were encoded as ASCII for WattTime API, causing integration failure. \\n- Fixes some bugs in unit tests with uncaught scenarios, or faulty tests.\\n\\n### Changed\\n\\n- No previous API\'s were changed. \\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n- Time is now always in UTC. Previously the API may have returned local time depending on underlying API.\\n\\n#### API\\n\\n- `/locations` - Show the list of configured named locations that can be used in the API.\\n- `/api/v1/swagger.yaml` - Provides OpenAPI document now at public endpoint when deployed.\\n\\n#### API Deployment\\n\\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n\\n#### SDK \\n\\n- SDK was abstracted to provide a library for DLL import usage, which now allows users to use the SDK in their projects directly without the need to deploy an API. This is useful in scenarios where the API can not be centralised. Note - we still highly recommend centralising for management of the API and audit capabilities with observability.\\n- Functionality for forecast and historical data have been seperated into seperate interfaces. This impacts configuration, see upgrading from 1.0.0 to 1.1.0 for more information.\\n- Additional tests across the SDK have been added.\\n- Aggregation tier in the SDK was removed, this should not impact users of the SDK, but may impact maintainers who were actively contributing.\\n\\n\\n#### Other\\n\\n- All contributors need to signoff commits for contribution using `git commit -s`.\\n- Added PR release workflow improvements for the project management of the CA SDK project team.\\n- Updated the project to prune stale PR\'s and issues to help with the management of the CA SDK project.\\n\\n\\n### Upgrading from 1.0.0 to 1.1.0 \\n\\n- Configuration changes are required due to historical and forecast configuration now being decoupled. Refer to - [Configuration](../docs/tutorial-extras/configuration) for a guide. The following is provided as an example of the new data source configuration format.\\n```json\\n{\\n \\"DataSources\\": {\\n \\"EmissionsDataSource\\": \\"Json\\",\\n \\"ForecastDataSource\\": \\"WattTime\\",\\n \\"Configurations\\": {\\n \\"WattTime\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"username\\",\\n \\"Password\\": \\"password\\",\\n \\"BaseURL\\": \\"https://api2.watttime.org/v2/\\",\\n \\"Proxy\\": {\\n \\"useProxy\\": true,\\n \\"url\\": \\"http://10.10.10.1\\",\\n \\"username\\": \\"proxyUsername\\",\\n \\"password\\": \\"proxyPassword\\"\\n }\\n },\\n \\"ElectricityMaps\\": {\\n \\"Type\\": \\"ElectricityMaps\\",\\n \\"APITokenHeader\\": \\"auth-token\\",\\n \\"APIToken\\": \\"myAwesomeToken\\",\\n \\"BaseURL\\": \\"https://api.electricitymap.org/v3/\\"\\n },\\n \\"Json\\": {\\n \\"Type\\": \\"Json\\",\\n \\"DataFileLocation\\": \\"test-data-azure-emissions.json\\"\\n }\\n }\\n }\\n}\\n```"},{"id":"release-v1.0","metadata":{"permalink":"/blog/release-v1.0","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2022-10-01-release-1.0.mdx","source":"@site/blog/2022-10-01-release-1.0.mdx","title":"Release v1.0","description":"Added","date":"2022-10-01T00:00:00.000Z","tags":[{"inline":true,"label":"v1.0","permalink":"/blog/tags/v-1-0"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":2.34,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.0","title":"Release v1.0","tags":["v1.0","release"]},"unlisted":false,"prevItem":{"title":"Release v1.1","permalink":"/blog/release-v1.1"},"nextItem":{"title":"Welcome to the Carbon Aware SDK documentation site","permalink":"/blog/welcome"}},"content":"### Added \\n\\n- Added Electricity Maps (paid api) support for forecasting and historical data. \\n- Added ElectricityMaps (free api) support for historical data. Note that this API does not support forecast capabilities. \\n\\n### Fixed\\n\\n- Fixed generated test data that had time bomb bug that was in test data, which caused integration tests to fail. This is now automatically generated each time.\\n- Fixed some bugs that related to underlying data source errors surfacing as HTTP 500 errors from the API. These should now be more consistent.\\n- Fixed an issue where UTF-8 passwords were encoded as ASCII for WattTime API, causing integration failure. \\n- Fixes some bugs in unit tests with uncaught scenarios, or faulty tests.\\n\\n### Changed\\n\\n- No previous API\'s were changed. \\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n- Time is now always in UTC. Previously the API may have returned local time depending on underlying API.\\n\\n#### API\\n\\n- `/locations` - Show the list of configured named locations that can be used in the API.\\n- `/api/v1/swagger.yaml` - Provides OpenAPI document now at public endpoint when deployed.\\n\\n#### API Deployment\\n\\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n\\n#### SDK \\n\\n- SDK was abstracted to provide a library for DLL import usage, which now allows users to use the SDK in their projects directly without the need to deploy an API. This is useful in scenarios where the API can not be centralised. Note - we still highly recommend centralising for management of the API and audit capabilities with observability.\\n- Functionality for forecast and historical data have been seperated into seperate interfaces. This impacts configuration, see upgrading from 1.0.0 to 1.1.0 for more information.\\n- Additional tests across the SDK have been added.\\n- Aggregation tier in the SDK was removed, this should not impact users of the SDK, but may impact maintainers who were actively contributing.\\n\\n\\n#### Other\\n\\n- All contributors need to signoff commits for contribution using `git commit -s`.\\n- Added PR release workflow improvements for the project management of the CA SDK project team.\\n- Updated the project to prune stale PR\'s and issues to help with the management of the CA SDK project.\\n\\n\\n### Upgrading from 1.0.0 to 1.1.0 \\n\\n- Configuration changes are required due to historical and forecast configuration now being decoupled. Refer to - [Configuration](../docs/tutorial-extras/configuration) for a guide. The following is provided as an example of the new data source configuration format.\\n```json\\n{\\n \\"DataSources\\": {\\n \\"EmissionsDataSource\\": \\"Json\\",\\n \\"ForecastDataSource\\": \\"WattTime\\",\\n \\"Configurations\\": {\\n \\"WattTime\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"username\\",\\n \\"Password\\": \\"password\\",\\n \\"BaseURL\\": \\"https://api2.watttime.org/v2/\\",\\n \\"Proxy\\": {\\n \\"useProxy\\": true,\\n \\"url\\": \\"http://10.10.10.1\\",\\n \\"username\\": \\"proxyUsername\\",\\n \\"password\\": \\"proxyPassword\\"\\n }\\n },\\n \\"ElectricityMaps\\": {\\n \\"Type\\": \\"ElectricityMaps\\",\\n \\"APITokenHeader\\": \\"auth-token\\",\\n \\"APIToken\\": \\"myAwesomeToken\\",\\n \\"BaseURL\\": \\"https://api.electricitymap.org/v3/\\"\\n },\\n \\"Json\\": {\\n \\"Type\\": \\"Json\\",\\n \\"DataFileLocation\\": \\"test-data-azure-emissions.json\\"\\n }\\n }\\n }\\n}\\n```"},{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome to the Carbon Aware SDK documentation site","description":"Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":true,"label":"welcome","permalink":"/blog/tags/welcome"},{"inline":true,"label":"post","permalink":"/blog/tags/post"}],"readingTime":1.245,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"welcome","title":"Welcome to the Carbon Aware SDK documentation site","tags":["welcome","post"]},"unlisted":false,"prevItem":{"title":"Release v1.0","permalink":"/blog/release-v1.0"}},"content":"Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher. \\n\\nThe Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you **measure and reduce your software\'s carbon emissions**, and choose when and where you run your software to make it greener.\\n\\n![Carbon Aware Software](./carbon-aware-software.png)\\n\\n\\nBy knowing the carbon emissions of the energy that powers your applications, you and your organisation can leverage greener energy sources to reduce your CO2 emissions by: \\n\\n* Building AI models when carbon emissions are lower\\n* Deploying software into the cloud in locations that have greener energy sources\\n* Running software updates at greener energy time windows \\n* Using data to run hypothetical models to understand how you could start driving impact and reduce emissions, drive business cases for change, and create a greener future. \\n\\nWithin the [Green Software Foundations Theory of Change](https://greensoftware.foundation/articles/theory-of-change), we look at 3 pillars, that being **Knowledge**, **Tech Culture**, and **Tooling** as focus areas to drive this change. The Carbon Aware SDK at its core sits firmly in the **Tooling** pillar, and also supports the other pillars, providing **Knowledge** through emissions data to inform change, and being core enabler for the **Tech Culture** for building carbon aware software.\\n\\nCompanies including UBS and Vestas have already deployed the Carbon Aware SDK to build greener software, and you can too!\\n\\n_Published in feb 2024 based on latest updates to the readme.md_"}]}}')}}]);
\ No newline at end of file
diff --git a/assets/js/f81c1134.d76e80c8.js b/assets/js/f81c1134.d76e80c8.js
new file mode 100644
index 000000000..49c971ff2
--- /dev/null
+++ b/assets/js/f81c1134.d76e80c8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcasdk_docs=self.webpackChunkcasdk_docs||[]).push([[8130],{7735:e=>{e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"release-v1.5","metadata":{"permalink":"/blog/release-v1.5","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-07-23-release-1.5.mdx","source":"@site/blog/2024-07-23-release-1.5.mdx","title":"Release v1.5","description":"Release 1.5","date":"2024-07-23T00:00:00.000Z","tags":[{"inline":true,"label":"v1.5","permalink":"/blog/tags/v-1-5"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":1.79,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.5","title":"Release v1.5","tags":["v1.5","release"]},"unlisted":false,"nextItem":{"title":"Release v1.4","permalink":"/blog/release-v1.4"}},"content":"Release 1.5\\n\\nThis is the WattTime v3 update. Most notable changes that may require action are for deployment configuration, and these are minor.\\n\\n### Added \\n\\nWattTime v3 API support. This is an inplace upgrade for v2.\\n\\n- [PR #532 Watt Time v3 Support ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/532)\\n- [PR #340 Add example for \'podman play kube\' ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/340)\\n- [PR #536 Updated azure-regions.json with new regions ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/536)\\n- [#519 Remove hackathon sentence from our website banner ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/519)\\n- [#510 Gap Analysis for WattTime v3 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/510)\\n- [#262 Feature Contribution: Publish the docker file in a docker registry ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/262)\\n\\n### Removed\\n\\nWattTime v2 API support due to v3 in place replacement.\\n\\n### Fixed\\n\\n- [PR #522 Remove Hack mention from the Docs\'s banner ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/522)\\n- [#535 Bug: Configuration for locations loads twice ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/535)\\n- [PR #516 Update published documentation to .NET 8 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/516)\\n- [PR #515 overview.md: Fixed three broken links Signed-off-by: joecus1 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/515)\\n- [#506 Check our published documentation to identify any references to .NET7 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/506)\\n- [#512 Bug: Broken links in overview.md file ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/512)\\n\\n### Changed\\n\\nUpdates for WattTime v3 API endpoint from v2, details in the [ADR for WattTime v3 changes](./casdk-docs/docs/architecture//decisions/0016-watt-time-v3.md).\\n\\n#### API\\n\\nNo changes\\n\\n#### API Deployment\\n\\nDue to the change for WattTime v3, there is change to the configuration for WattTime users.\\n\\nWith some of the changes to the code, some of the configuration will also needs to change.\\n\\n| Config (v2) | Config (v3) | Description |\\n|------------------------------------|----------------------------------|------------------------------|\\n| `BalancingAuthorityCacheTTL` | `RegionCacheTTL` | This is the cache for regions data in seconds, and has a default value of 1 day. This only needs updating if you set it |\\n| n/a | `AuthenticationBaseUrl` | **NEW** This is the base URL for the WattTime Authentication API and defaults to `https://api.watttime.org/` if not set. |\\n\\nExample below if set (note they do not have to be set)\\n```json\\n\\"wattTime_no-proxy\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"the_username\\",\\n \\"Password\\": \\"super_secret_secret\\",\\n \\"BaseURL\\": \\"https://api.watttime.org/v3/\\",\\n \\"AutenticationBaseURL\\": \\"https://api.watttime.org\\", // This is new but not mandatory in config\\n \\"RegionCacheTTL\\": 86400, // This is changed but not mandatory in config\\n \\"Proxy\\": {\\n \\"UseProxy\\": false\\n }\\n```\\n\\n#### SDK \\n\\nNo changes\\n\\n\\n#### Other\\n\\nNo changes\\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503)"},{"id":"release-v1.4","metadata":{"permalink":"/blog/release-v1.4","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-24-release-1.4.mdx","source":"@site/blog/2024-05-24-release-1.4.mdx","title":"Release v1.4","description":"Release 1.4","date":"2024-05-24T00:00:00.000Z","tags":[{"inline":true,"label":"v1.4","permalink":"/blog/tags/v-1-4"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.695,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.4","title":"Release v1.4","tags":["v1.4","release"]},"unlisted":false,"prevItem":{"title":"Release v1.5","permalink":"/blog/release-v1.5"},"nextItem":{"title":"Carbon Aware SDK 1.4, behind the scenes","permalink":"/blog/dotnet-8-upgrade"}},"content":"Release 1.4\\n\\n\\n### Added \\n\\n- [#401 Feature Contribution: Upgrade .NET version to .NET 8 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/401)\\n- [#419 Feature Contribution: Migrate sample implementation of Azure Function to isolated worker model ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/419)\\n- [PR #500 Up Helm chart version to 1.2.0 ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/500)\\n\\n- [#397 Feature Contribution: Data caching in the SDK ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/397)\\n\\n### Fixed\\n\\n- [#505 Bug: Project Page wiki from GSF website still says it\'s in incubation ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/505)\\n- [#496 URGENT WebAPI container has not built due to segmentation fault ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/496)\\n- [#487 Bug: Getting started guide is lost ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/487)\\n\\n\\n### Changed\\n\\n- [#477 Bug: Ensure the readme file shows as the project overview content on the documentation site ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/477)\\n- [PR #485 Docs overview, disclaimer & pipeline updates for graduation ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/485)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- \\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/503)"},{"id":"dotnet-8-upgrade","metadata":{"permalink":"/blog/dotnet-8-upgrade","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-05-16-dotnet8/index.md","source":"@site/blog/2024-05-16-dotnet8/index.md","title":"Carbon Aware SDK 1.4, behind the scenes","description":"As most software nowadays, the Carbon Aware SDK relies on a stack of utilities, and while adding a new feature is usually the most appealing for a project, it\u2019s also critical to maintain the stack, especially in a community effort.","date":"2024-05-16T00:00:00.000Z","tags":[{"inline":true,"label":"dotnet8","permalink":"/blog/tags/dotnet-8"},{"inline":true,"label":"post","permalink":"/blog/tags/post"}],"readingTime":8.045,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"dotnet-8-upgrade","title":"Carbon Aware SDK 1.4, behind the scenes","tags":["dotnet8","post"]},"unlisted":false,"prevItem":{"title":"Release v1.4","permalink":"/blog/release-v1.4"},"nextItem":{"title":"Release v1.3","permalink":"/blog/release-v1.3"}},"content":"As most software nowadays, the Carbon Aware SDK relies on a stack of utilities, and while adding a new feature is usually the most appealing for a project, it\u2019s also critical to maintain the stack, especially in a community effort.\\n\\nContainerization has helped shift the upgrading work to a more convenient time for the development team, but there are still various motivations for keeping a stack up to date with current versions: security, bug fixes, performance, support\u2026 but the best is to couple with new feature development: such was the case for the .NET framework.\\n\\nHowever, those updates often have ripple effects, as their dependencies are not always foreseeable, making the software upgrade workload hard to predict.\\n\\nAs NTT and NTT DATA were key participants in this contribution, this is a good occasion to cast a light on the behind the scenes, and the way this new Carbon Aware SDK is being used internally.\\n\\n# Why .NET 8 ?\\n\\nCarbon Aware SDK v1.4.0 was released in May 2024. Its core evolution was the upgrade to .NET 8. Until v1.3.x, the Carbon Aware SDK relied on the LTS (Long Term Support) version .NET 6. With an EOL (End of Life) set for November 2024, an upgrade was unavoidable.\\n\\nMicrosoft released .NET 8 in November 2023, the latest LTS version of .NET, which [will be supported until November 2026](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). \\n\\nWanting to display the Software Carbon Intensity ([SCI - Software Carbon Intensity](https://sci.greensoftware.foundation/) as adopted in [ISO/IEC 21031:2024](https://www.iso.org/standard/86612.html)) metrics from the Carbon Aware SDK WebAPI made .NET 8 a requirement, as .NET 8 introduced [enhanced support for implementing metrics features](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8/runtime#extensions-metrics).\\n\\nIndeed, the newly introduced [IMeterFactory](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.imeterfactory?view=net-8.0) interface enabled us to create a [Meter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter?view=net-8.0) instance while maintaining modularity by using dependency injection (i.e. use the .NET 8 implementation of the feature, instead of recreating it\u2026 another software development sustainable pattern). \\n\\nIn summary, Carbon Intensity metrics handling was combined with the necessary support extension that the .NET 8 upgrade provides.\\n\\n# In practice\\n\\nThe initial work for upgrading to .NET 8 was done in [Pull Request #404](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/404) (aka PR, a code change proposal, which once approved will be merged in the main code).\\n\\nWithout being a C# expert, it\u2019s still interesting to look at the PR and see that: it involves several individuals working together as a community, many files were impacted, and highlights the importance of tests and samples, which required further work due to some ripple effects.\\n\\nFor the nitty gritty (else jump to the next paragraph): the core work is \u201csimply\u201d updating the target framework version. \\n\\nIt can be done in the property window of each of the C# projects, for example, in the Japanese version of Visual Studio (Fig.1).\\n\\n![fig1](./fig1.png)\\n\\nFig.1 Property window of C# project in Carbon Aware SDK on Visual Studio Community Edition\\n\\nCarbon Aware SDK includes 30 C# projects (in v1.3.0 at least), so automation is welcomed. The target framework version is described in `/Project/PropertyGroup/TargetFramework` in the `.csproj` file. For example, running the command on WSL:\\n\\n```\\nfind . -name \\"*.csproj\\" -exec sed -i \'s|^\\\\(\\\\s\\\\+\\\\)net6.0$|\\\\1net8.0|g\' {} \\\\;\\n```\\n\\nThe .NET version is specified in many other places, which need to be updated as well (`grep` will list them all).\\n\\n* Base image in Docker file\\n * Use tag `8.0` instead of `6.0` for `mcr.microsoft.com/dotnet/sdk`\\n* Tool configurations\\n * global.json\\n * dotnet-tools.json\\n * launch.json for VSCode\\n* Target framework version for OpenAPI generator for .NET\\n* .NET version for [actions/setup-dotnet](https://github.com/actions/setup-dotnet) in GitHub Actions Workflow\\n* Comments in source files\\n* Documents\\n\\nWhile the updating part is done, the work does not end there\u2026\\n\\n# Unexpected work items\\n\\nWhile the .NET 8 upgrade was done, some unexpected issues surfaced. \\n\\n## Ripple effect on sample code\\n\\nTo help onboard newcomers to the Carbon Aware SDK, a sample running on Azure Functions is provided.\\n\\nAzure Functions for .NET is transitioning one of its execution modes (the In-process model) to the Isolated worker model ([more details here](https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-in-process-differences)). Moreover, .NET 8 did not yet provide an option to use the former model in its initial release (cf. [roadmap of Azure Functions](https://techcommunity.microsoft.com/t5/apps-on-azure-blog/net-on-azure-functions-august-2023-roadmap-update/ba-p/3910098)).\\n\\nAs our sample was still implementing the in-process model (to be deprecated and not available in .NET 8 at this time), it made sense to migrate to the isolated worker model.\\n\\nFor the code lover, there is a helpful [guide](https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-to-isolated-model?tabs=net8) for the migration. This led to:\\n\\n* Change the version of container images to build and test\\n* Update the `.csproj` file\\n* Replace `Startup.cs` with `Program.cs`\\n* Replace `FunctionName` attribute with `Function`\\n* Change loggers to be obtained from the DI container\\n* Update the document\\n\\nFor more details browse: [Pull Request #420](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/420).\\n\\n## Port Number Breaking change\\n\\nAs the Carbon Aware SDK WebAPI uses ASP.NET Core technology, another collateral change was required since .NET 8 changed its default port number from 80 to 8080 [Microsoft Learn document](https://learn.microsoft.com/en-us/dotnet/core/compatibility/containers/8.0/aspnet-port)).\\n\\nChanging the port number from WebAPI container affects the containerPort in the Helm chart and some GitHub Workflows that uses WebAPI.\\n\\n## Broken build pipeline on GitHub Actions\\n\\nThanks to GitHub, a lot of automation is available to publish code, allowing contributors to focus more on coding. In particular, the Carbon Aware SDK repository is configured to publish the WebAPI container image (like a snapshot build) when a commit occurs on the dev branch.\\n\\nHowever, it suddenly stopped working after the .NET 8 upgrade.\\n\\nThe team investigated the logs (Fig. 2), as a container image for both AMD64 and Arm64 Linux in GitHub Actions with [docker/build-push-action](https://github.com/docker/build-push-action): a mysterious segmentation fault (SEGV) was occurring after the upgrade\u2026 the code was not changed, `dotnet publish` was outside the scope.\\n\\n```\\n > [linux/arm64 build-env 4/6] RUN dotnet publish CarbonAware.WebApi/src/CarbonAware.WebApi.csproj -c Release -o publish:\\n7.209 MSBuild version 17.9.6+a4ecab324 for .NET\\n24.69 Determining projects to restore...\\n41.42 Segmentation fault (core dumped)\\n```\\n\\nFig.2 Logs in `dotnet publish` on GitHub Actions\\n\\nFurther investigation was done, and thanks to a [.NET blog](https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/) about multi-platform container support, we identified that an unsupported approach was used for the build, and needed to be amended. More precisely, since .NET 6, QEMU static binaries were used to build container images for multi-platform.\\n\\nFortunately, the .NET blog guides how to build multi-platform container images, and the workflow was fixed accordingly in [Pull Request #498](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/498). So the WebAPI container image with .NET 8 can be pulled from [GitHub Packages](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pkgs/container/carbon-aware-sdk) now!\\n\\n# Use case in NTT / NTT DATA\\n\\nWhile NTT & NTT DATA have been contributing to the Carbon Aware SDK for a long time, we had not previously publicly referenced our [adoption of the tool](https://github.com/Green-Software-Foundation/carbon-aware-sdk/blob/dev/casdk-docs/docs/overview/adopters.md).\\n\\nThe Carbon Aware SDK v1.4.0 carbon metrics exporter (dependent on .NET8 upgrade) has increased the usefulness of the SDK due to increased visualization capabilities now available.\\n\\n## Carbon Intensity map\\n\\nThis feature facilitates integration with monitoring solutions like [Prometheus](https://prometheus.io/) and furthermore with a visualization solution like [Grafana](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/): unlocking geomap style visualization (showing metrics at specified locations on a map). By enabling the exporter and making some settings on Grafana, carbon intensities can be exported from Carbon Aware SDK to a geomap, this is part of a dashboard to monitor carbon emissions for software systems.\\n\\nThe Carbon Intensity can be intuitively visualized with size and colors on a geomap. Beyond raising awareness, this can guide decisions on location or time shift.\\n\\n![fig3](./fig3.png)\\n\\n## Green Dashboard for Kubernetes\\n\\nCarbon Aware SDK helps increase awareness around Carbon emission, and it is now possible to monitor carbon emission per application within Kubernetes.\\n\\nIn practice, each container\'s energy consumption is evaluated through [Kepler](https://www.cncf.io/projects/kepler/) (sandbox project in Cloud Native Cloud Foundation, [CNCF](https://www.cncf.io/)), and thanks to the Carbon Aware SDK, the carbon emission can be evaluated.\\n\\nAll those emission data from power grid can be accessed through the Prometheus exporter with the Carbon Aware SDK (starting v1.4.0), and visualized with the Grafana dashboard.\\n\\nThe power consumption, energy consumption, carbon emission, and SCI can be seen at a glance!\\n\\nOne of the upsides of micro-services architecture, as Kubernetes facilitates it, is to be able to work on different pieces of an application in a relatively independent fashion (maintaining, scaling, optimizing\u2026).\\n\\nThe Green Dashboard allows a team to check an application\'s global energy consumption and carbon emission (dashboard left side), while drilling down into sustainability-related metrics for each micro-service (dashboard right side).\\n\\nIt shows the SCI, allowing to get a sense of the rate of Carbon Emission down to a particular piece of an architecture (R being the [functional unit](https://learn.greensoftware.foundation/measurement/#software-carbon-intensity-specification) for that service - for example, an API call, the data is being shown per R unit or over an hour).\\n\\nWhile in monolithic application optimization needs customized instrumentation, and often have rippled effects, this green dashboard helps identify which micro-service refactoring would have the maximum impact on the application\'s carbon footprint, leveraging the team effort more efficiently.\\n\\n![fig4](./fig4.png)\\n\\n# Moving Forward\\n\\nWith the Cloud Computing expansion, and Kubernetes flexibility, more and more choices exist for running a workload. While business and economic constraints often lead those decisions, the carbon footprint is becoming an increasingly critical consideration.\\n\\nThis is a difficult endeavor, and the first step is to know where one stands, measure but also later evaluate and confirm what action would lead to improvement. That was one of the intentions behind the Green Dashboard for Kubernetes, and the Carbon Aware SDK 1.4 is a key element in this approach.\\n\\nBy providing a standard interface to the carbon emissions of the energy, the Carbon Aware SDK is a key element for IT sustainability: from evaluating current carbon footprint up to taking into account carbon intensity for geo or time shifting\u2026\\n\\nThanks to the community effort the first step is a click away with the [quickstarting guide](https://carbon-aware-sdk.greensoftware.foundation/docs/quickstart), available for everyone.\\n\\nNo excuse!"},{"id":"release-v1.3","metadata":{"permalink":"/blog/release-v1.3","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-02-13-release-1.3.mdx","source":"@site/blog/2024-02-13-release-1.3.mdx","title":"Release v1.3","description":"Release 1.3","date":"2024-02-13T00:00:00.000Z","tags":[{"inline":true,"label":"v1.3","permalink":"/blog/tags/v-1-3"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.835,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.3","title":"Release v1.3","tags":["v1.3","release"]},"unlisted":false,"prevItem":{"title":"Carbon Aware SDK 1.4, behind the scenes","permalink":"/blog/dotnet-8-upgrade"},"nextItem":{"title":"Release v1.2","permalink":"/blog/release-v1.2"}},"content":"Release 1.3\\n\\n\\n### Added \\n\\n- docs site at https://carbon-aware-sdk.greensoftware.foundation/\\n- [PR #464 Create SECURITY.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/464)\\n- [PR #461 CarbonHack24 Update to README.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/461)\\n- [PR #457 Features/codespaces quickstart ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/457)\\n- [PR #459 Readme updates for clarity ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/459)\\n- [PR #449 Support location source setting in Helm chart ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/449)\\n- [PR #431 Update documentation of Usefulness (adopters.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/431)\\n- [#416 Add disclaimer banner to any public-facing documentation (docusaurus webpage) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/416)\\n- [#415 Update documentation of secureness (security.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/415)\\n- [#414 Update documentation of Usefulness (adopters.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/414)\\n- [#413 Update documentation for Test Coverage ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/413)\\n- [#412 Update documentation for End User Guide (enablement.md) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/412)\\n- [#410 Update documentation for How to contribute (contributing.md ) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/410)\\n\\n### Fixed\\n\\n- [#344 [Bug]: Fix and update doc deployment workflow ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/344) \\n\\n### Changed\\n\\n- [#411 Update documentation for Project overview (ReadMe) ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/411)\\n- [PR #454 Update quickstart.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/454)\\n- [PR #453 Update overview.md ](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/453)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- \\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/474](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/474)"},{"id":"release-v1.2","metadata":{"permalink":"/blog/release-v1.2","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2024-01-14-release-1.2.mdx","source":"@site/blog/2024-01-14-release-1.2.mdx","title":"Release v1.2","description":"Added","date":"2024-01-14T00:00:00.000Z","tags":[{"inline":true,"label":"v1.2","permalink":"/blog/tags/v-1-2"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":0.425,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.2","title":"Release v1.2","tags":["v1.2","release"]},"unlisted":false,"prevItem":{"title":"Release v1.3","permalink":"/blog/release-v1.3"},"nextItem":{"title":"Release v1.1","permalink":"/blog/release-v1.1"}},"content":"### Added \\n\\n- [#381 Add Helm chart and workflow](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/381)\\n- New package release for Helm charts available at https://github.com/Green-Software-Foundation/carbon-aware-sdk/pkgs/container/charts%2Fcarbon-aware-sdk\\n\\n### Fixed\\n\\n- [#232 Generating SDK client does not work on linux](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/232)\\n- [#393 Fix: verify-azure-function-with-packages](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/393)\\n- [#391 fixing 3 broken links in overview.md](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/391)\\n- [#389 EMFree data source should regard specified time range](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/389)\\n\\n### Changed\\n\\n- [#425 Updating CONTRIBUTING.md](https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/425)\\n\\n#### API\\n\\n- \\n\\n#### API Deployment\\n\\n- \\n\\n#### SDK \\n\\n- \\n\\n\\n#### Other\\n\\n- Improved process leveraging the project boards at https://github.com/orgs/Green-Software-Foundation/projects/15/views/2\\n\\n\\nFor more details, checkout [https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/232](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues?q=label%3Av1.2+is%3Aclosed+)"},{"id":"release-v1.1","metadata":{"permalink":"/blog/release-v1.1","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2023-07-18-release-1.1.mdx","source":"@site/blog/2023-07-18-release-1.1.mdx","title":"Release v1.1","description":"Added","date":"2023-07-18T00:00:00.000Z","tags":[{"inline":true,"label":"v1.1","permalink":"/blog/tags/v-1-1"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":2.34,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.1","title":"Release v1.1","tags":["v1.1","release"]},"unlisted":false,"prevItem":{"title":"Release v1.2","permalink":"/blog/release-v1.2"},"nextItem":{"title":"Release v1.0","permalink":"/blog/release-v1.0"}},"content":"### Added \\n\\n- Added Electricity Maps (paid api) support for forecasting and historical data. \\n- Added ElectricityMaps (free api) support for historical data. Note that this API does not support forecast capabilities. \\n\\n### Fixed\\n\\n- Fixed generated test data that had time bomb bug that was in test data, which caused integration tests to fail. This is now automatically generated each time.\\n- Fixed some bugs that related to underlying data source errors surfacing as HTTP 500 errors from the API. These should now be more consistent.\\n- Fixed an issue where UTF-8 passwords were encoded as ASCII for WattTime API, causing integration failure. \\n- Fixes some bugs in unit tests with uncaught scenarios, or faulty tests.\\n\\n### Changed\\n\\n- No previous API\'s were changed. \\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n- Time is now always in UTC. Previously the API may have returned local time depending on underlying API.\\n\\n#### API\\n\\n- `/locations` - Show the list of configured named locations that can be used in the API.\\n- `/api/v1/swagger.yaml` - Provides OpenAPI document now at public endpoint when deployed.\\n\\n#### API Deployment\\n\\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n\\n#### SDK \\n\\n- SDK was abstracted to provide a library for DLL import usage, which now allows users to use the SDK in their projects directly without the need to deploy an API. This is useful in scenarios where the API can not be centralised. Note - we still highly recommend centralising for management of the API and audit capabilities with observability.\\n- Functionality for forecast and historical data have been seperated into seperate interfaces. This impacts configuration, see upgrading from 1.0.0 to 1.1.0 for more information.\\n- Additional tests across the SDK have been added.\\n- Aggregation tier in the SDK was removed, this should not impact users of the SDK, but may impact maintainers who were actively contributing.\\n\\n\\n#### Other\\n\\n- All contributors need to signoff commits for contribution using `git commit -s`.\\n- Added PR release workflow improvements for the project management of the CA SDK project team.\\n- Updated the project to prune stale PR\'s and issues to help with the management of the CA SDK project.\\n\\n\\n### Upgrading from 1.0.0 to 1.1.0 \\n\\n- Configuration changes are required due to historical and forecast configuration now being decoupled. Refer to - [Configuration](../docs/tutorial-extras/configuration) for a guide. The following is provided as an example of the new data source configuration format.\\n```json\\n{\\n \\"DataSources\\": {\\n \\"EmissionsDataSource\\": \\"Json\\",\\n \\"ForecastDataSource\\": \\"WattTime\\",\\n \\"Configurations\\": {\\n \\"WattTime\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"username\\",\\n \\"Password\\": \\"password\\",\\n \\"BaseURL\\": \\"https://api2.watttime.org/v2/\\",\\n \\"Proxy\\": {\\n \\"useProxy\\": true,\\n \\"url\\": \\"http://10.10.10.1\\",\\n \\"username\\": \\"proxyUsername\\",\\n \\"password\\": \\"proxyPassword\\"\\n }\\n },\\n \\"ElectricityMaps\\": {\\n \\"Type\\": \\"ElectricityMaps\\",\\n \\"APITokenHeader\\": \\"auth-token\\",\\n \\"APIToken\\": \\"myAwesomeToken\\",\\n \\"BaseURL\\": \\"https://api.electricitymap.org/v3/\\"\\n },\\n \\"Json\\": {\\n \\"Type\\": \\"Json\\",\\n \\"DataFileLocation\\": \\"test-data-azure-emissions.json\\"\\n }\\n }\\n }\\n}\\n```"},{"id":"release-v1.0","metadata":{"permalink":"/blog/release-v1.0","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2022-10-01-release-1.0.mdx","source":"@site/blog/2022-10-01-release-1.0.mdx","title":"Release v1.0","description":"Added","date":"2022-10-01T00:00:00.000Z","tags":[{"inline":true,"label":"v1.0","permalink":"/blog/tags/v-1-0"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":2.34,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"release-v1.0","title":"Release v1.0","tags":["v1.0","release"]},"unlisted":false,"prevItem":{"title":"Release v1.1","permalink":"/blog/release-v1.1"},"nextItem":{"title":"Welcome to the Carbon Aware SDK documentation site","permalink":"/blog/welcome"}},"content":"### Added \\n\\n- Added Electricity Maps (paid api) support for forecasting and historical data. \\n- Added ElectricityMaps (free api) support for historical data. Note that this API does not support forecast capabilities. \\n\\n### Fixed\\n\\n- Fixed generated test data that had time bomb bug that was in test data, which caused integration tests to fail. This is now automatically generated each time.\\n- Fixed some bugs that related to underlying data source errors surfacing as HTTP 500 errors from the API. These should now be more consistent.\\n- Fixed an issue where UTF-8 passwords were encoded as ASCII for WattTime API, causing integration failure. \\n- Fixes some bugs in unit tests with uncaught scenarios, or faulty tests.\\n\\n### Changed\\n\\n- No previous API\'s were changed. \\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n- Time is now always in UTC. Previously the API may have returned local time depending on underlying API.\\n\\n#### API\\n\\n- `/locations` - Show the list of configured named locations that can be used in the API.\\n- `/api/v1/swagger.yaml` - Provides OpenAPI document now at public endpoint when deployed.\\n\\n#### API Deployment\\n\\n- Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.\\n\\n#### SDK \\n\\n- SDK was abstracted to provide a library for DLL import usage, which now allows users to use the SDK in their projects directly without the need to deploy an API. This is useful in scenarios where the API can not be centralised. Note - we still highly recommend centralising for management of the API and audit capabilities with observability.\\n- Functionality for forecast and historical data have been seperated into seperate interfaces. This impacts configuration, see upgrading from 1.0.0 to 1.1.0 for more information.\\n- Additional tests across the SDK have been added.\\n- Aggregation tier in the SDK was removed, this should not impact users of the SDK, but may impact maintainers who were actively contributing.\\n\\n\\n#### Other\\n\\n- All contributors need to signoff commits for contribution using `git commit -s`.\\n- Added PR release workflow improvements for the project management of the CA SDK project team.\\n- Updated the project to prune stale PR\'s and issues to help with the management of the CA SDK project.\\n\\n\\n### Upgrading from 1.0.0 to 1.1.0 \\n\\n- Configuration changes are required due to historical and forecast configuration now being decoupled. Refer to - [Configuration](../docs/tutorial-extras/configuration) for a guide. The following is provided as an example of the new data source configuration format.\\n```json\\n{\\n \\"DataSources\\": {\\n \\"EmissionsDataSource\\": \\"Json\\",\\n \\"ForecastDataSource\\": \\"WattTime\\",\\n \\"Configurations\\": {\\n \\"WattTime\\": {\\n \\"Type\\": \\"WattTime\\",\\n \\"Username\\": \\"username\\",\\n \\"Password\\": \\"password\\",\\n \\"BaseURL\\": \\"https://api2.watttime.org/v2/\\",\\n \\"Proxy\\": {\\n \\"useProxy\\": true,\\n \\"url\\": \\"http://10.10.10.1\\",\\n \\"username\\": \\"proxyUsername\\",\\n \\"password\\": \\"proxyPassword\\"\\n }\\n },\\n \\"ElectricityMaps\\": {\\n \\"Type\\": \\"ElectricityMaps\\",\\n \\"APITokenHeader\\": \\"auth-token\\",\\n \\"APIToken\\": \\"myAwesomeToken\\",\\n \\"BaseURL\\": \\"https://api.electricitymap.org/v3/\\"\\n },\\n \\"Json\\": {\\n \\"Type\\": \\"Json\\",\\n \\"DataFileLocation\\": \\"test-data-azure-emissions.json\\"\\n }\\n }\\n }\\n}\\n```"},{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/Green-Software-Foundation/carbon-aware-sdk/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome to the Carbon Aware SDK documentation site","description":"Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":true,"label":"welcome","permalink":"/blog/tags/welcome"},{"inline":true,"label":"post","permalink":"/blog/tags/post"}],"readingTime":1.245,"hasTruncateMarker":false,"authors":[],"frontMatter":{"slug":"welcome","title":"Welcome to the Carbon Aware SDK documentation site","tags":["welcome","post"]},"unlisted":false,"prevItem":{"title":"Release v1.0","permalink":"/blog/release-v1.0"}},"content":"Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher. \\n\\nThe Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you **measure and reduce your software\'s carbon emissions**, and choose when and where you run your software to make it greener.\\n\\n![Carbon Aware Software](./carbon-aware-software.png)\\n\\n\\nBy knowing the carbon emissions of the energy that powers your applications, you and your organisation can leverage greener energy sources to reduce your CO2 emissions by: \\n\\n* Building AI models when carbon emissions are lower\\n* Deploying software into the cloud in locations that have greener energy sources\\n* Running software updates at greener energy time windows \\n* Using data to run hypothetical models to understand how you could start driving impact and reduce emissions, drive business cases for change, and create a greener future. \\n\\nWithin the [Green Software Foundations Theory of Change](https://greensoftware.foundation/articles/theory-of-change), we look at 3 pillars, that being **Knowledge**, **Tech Culture**, and **Tooling** as focus areas to drive this change. The Carbon Aware SDK at its core sits firmly in the **Tooling** pillar, and also supports the other pillars, providing **Knowledge** through emissions data to inform change, and being core enabler for the **Tech Culture** for building carbon aware software.\\n\\nCompanies including UBS and Vestas have already deployed the Carbon Aware SDK to build greener software, and you can too!\\n\\n_Published in feb 2024 based on latest updates to the readme.md_"}]}}')}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.75087d64.js b/assets/js/runtime~main.a5b2a4bd.js
similarity index 97%
rename from assets/js/runtime~main.75087d64.js
rename to assets/js/runtime~main.a5b2a4bd.js
index 9ebd132a9..206d88274 100644
--- a/assets/js/runtime~main.75087d64.js
+++ b/assets/js/runtime~main.a5b2a4bd.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({245:"235aab53",268:"f6a38216",291:"ff34ec92",498:"3e0ed37b",511:"0c6090a1",524:"f691e5ad",561:"6f89679a",594:"1a30e2c2",738:"129c9e99",845:"c8a4e95a",849:"0058b4c6",855:"d466b468",970:"b818afb3",1e3:"226fc587",1149:"7f5c2e55",1206:"c0a2256d",1215:"a29c1785",1235:"a7456010",1261:"a428dd50",1268:"4e47c83a",1285:"c7720abd",1486:"0192c686",1633:"c2b00e73",1650:"7a1ffdc7",1757:"b7c4bde3",1903:"acecf23e",2087:"f3564ad9",2128:"44942b0d",2283:"cd3f4257",2371:"cb4fbc62",2612:"79509199",2711:"9e4087bc",2848:"d4e5563a",2896:"3696405f",3137:"6db46d75",3153:"dc2e29c8",3249:"ccc49370",3291:"576db185",3491:"cc7a51c9",3683:"3cbcaf06",3727:"6a7e4da4",3822:"8070e160",3940:"38294ec1",3983:"33668231",4134:"393be207",4290:"afd36f43",4480:"54a40797",4583:"1df93b7f",4813:"6875c492",4895:"436029cc",4918:"c9cac9d9",5006:"20f46ea9",5085:"9f5f2938",5220:"5b1963de",5275:"81e2163d",5289:"e94dfc49",5535:"04a5b303",5557:"d9f32620",5627:"4ce2246f",5742:"aba21aa0",5863:"0b1ac180",5879:"bac01f47",6061:"1f391b9e",6203:"7a9d7657",6300:"3a67743f",6565:"af88e90e",6575:"d77dba34",6969:"14eb3368",7098:"a7bd4aaa",7472:"814f3328",7515:"60491c14",7610:"22b2b546",7640:"75bc1f6e",7643:"a6aa9e1f",7662:"38ff83b9",7852:"c2c19e15",7992:"23d79b31",8001:"c969abce",8053:"32e60134",8078:"8294270a",8090:"a2fc30ec",8093:"0c52a1b0",8121:"3a2db09e",8130:"f81c1134",8146:"c15d9823",8209:"01a85c17",8313:"db045007",8401:"17896441",8498:"f3ea3eea",8518:"6bb166bd",8704:"9661bb30",8737:"7661071f",8909:"850a9636",9048:"a94703ab",9233:"1001ab8a",9259:"4c69f114",9391:"050b1017",9647:"5e95c892",9665:"ec498010",9858:"36994c47"}[e]||e)+"."+{245:"64f0c068",268:"b681674c",291:"83e55e04",498:"ff9895fb",511:"1edd07d8",524:"7ec83352",561:"e6f60662",594:"22ee1fea",738:"fa407160",845:"ec62b431",849:"15d07716",855:"c60c3d64",970:"0745e4e6",1e3:"bbcb4248",1149:"684a45c1",1206:"bfc6ff09",1215:"eff1800c",1235:"73061385",1261:"2e3af131",1268:"86fcedd9",1285:"e916c378",1388:"3a22fcd9",1486:"e7029b7f",1633:"202eb981",1650:"7d825413",1757:"a29fa6d2",1903:"fd36ec27",2087:"77035f5b",2128:"f2a837b5",2237:"62103d71",2283:"f3c29b6c",2371:"c7fc04a5",2612:"45b62302",2711:"15e226f5",2848:"04ad854e",2896:"af113a04",3137:"4f458cf4",3153:"591b5be0",3242:"21afd9d6",3249:"b606d610",3291:"e82b5be1",3491:"5d1aa46c",3683:"499fe31e",3727:"0149bcb5",3822:"82cf8e88",3940:"26a42d40",3983:"cfa8835e",4134:"4a2dbc78",4290:"05daa70b",4480:"38a1e6aa",4583:"6385b0c7",4813:"930ca60a",4895:"be21a3da",4918:"e6277359",5006:"45db0d5c",5085:"47f64a60",5220:"757403d8",5275:"d2e34b51",5289:"3d22b4cc",5535:"4ea196f3",5557:"cc3d09ed",5627:"8b6676eb",5742:"8dddab0a",5863:"85a8cba1",5879:"1cef9958",6061:"a8b38ec9",6203:"122c59c7",6300:"e082a5bc",6565:"087fbbe8",6575:"5163106e",6969:"f611be6a",7098:"11b743b9",7472:"79056e6f",7515:"f5395da9",7610:"8d06a729",7640:"e77e9369",7643:"ffe123ef",7662:"b2833700",7852:"1dff48dd",7992:"05c8eda1",8001:"67d35602",8053:"f569d6a9",8078:"c4fe1c4a",8090:"61f3e4ae",8093:"ad8a95b6",8121:"3d5a34bc",8130:"07e3cab9",8146:"a761d206",8209:"619767dd",8313:"ec811fba",8401:"5c905c96",8498:"d7849c52",8518:"f67a6f78",8704:"b1cb3252",8737:"96618902",8909:"3e56dc05",9048:"aab0c731",9233:"2bc9c9e3",9259:"79da1cc0",9391:"795943ed",9647:"29b71571",9665:"75a4d8f7",9858:"c966b762"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="casdk-docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",33668231:"3983",79509199:"2612","235aab53":"245",f6a38216:"268",ff34ec92:"291","3e0ed37b":"498","0c6090a1":"511",f691e5ad:"524","6f89679a":"561","1a30e2c2":"594","129c9e99":"738",c8a4e95a:"845","0058b4c6":"849",d466b468:"855",b818afb3:"970","226fc587":"1000","7f5c2e55":"1149",c0a2256d:"1206",a29c1785:"1215",a7456010:"1235",a428dd50:"1261","4e47c83a":"1268",c7720abd:"1285","0192c686":"1486",c2b00e73:"1633","7a1ffdc7":"1650",b7c4bde3:"1757",acecf23e:"1903",f3564ad9:"2087","44942b0d":"2128",cd3f4257:"2283",cb4fbc62:"2371","9e4087bc":"2711",d4e5563a:"2848","3696405f":"2896","6db46d75":"3137",dc2e29c8:"3153",ccc49370:"3249","576db185":"3291",cc7a51c9:"3491","3cbcaf06":"3683","6a7e4da4":"3727","8070e160":"3822","38294ec1":"3940","393be207":"4134",afd36f43:"4290","54a40797":"4480","1df93b7f":"4583","6875c492":"4813","436029cc":"4895",c9cac9d9:"4918","20f46ea9":"5006","9f5f2938":"5085","5b1963de":"5220","81e2163d":"5275",e94dfc49:"5289","04a5b303":"5535",d9f32620:"5557","4ce2246f":"5627",aba21aa0:"5742","0b1ac180":"5863",bac01f47:"5879","1f391b9e":"6061","7a9d7657":"6203","3a67743f":"6300",af88e90e:"6565",d77dba34:"6575","14eb3368":"6969",a7bd4aaa:"7098","814f3328":"7472","60491c14":"7515","22b2b546":"7610","75bc1f6e":"7640",a6aa9e1f:"7643","38ff83b9":"7662",c2c19e15:"7852","23d79b31":"7992",c969abce:"8001","32e60134":"8053","8294270a":"8078",a2fc30ec:"8090","0c52a1b0":"8093","3a2db09e":"8121",f81c1134:"8130",c15d9823:"8146","01a85c17":"8209",db045007:"8313",f3ea3eea:"8498","6bb166bd":"8518","9661bb30":"8704","7661071f":"8737","850a9636":"8909",a94703ab:"9048","1001ab8a":"9233","4c69f114":"9259","050b1017":"9391","5e95c892":"9647",ec498010:"9665","36994c47":"9858"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({245:"235aab53",268:"f6a38216",291:"ff34ec92",498:"3e0ed37b",511:"0c6090a1",524:"f691e5ad",561:"6f89679a",594:"1a30e2c2",738:"129c9e99",845:"c8a4e95a",849:"0058b4c6",855:"d466b468",970:"b818afb3",1e3:"226fc587",1149:"7f5c2e55",1206:"c0a2256d",1215:"a29c1785",1235:"a7456010",1261:"a428dd50",1268:"4e47c83a",1285:"c7720abd",1486:"0192c686",1633:"c2b00e73",1650:"7a1ffdc7",1757:"b7c4bde3",1903:"acecf23e",2087:"f3564ad9",2128:"44942b0d",2283:"cd3f4257",2371:"cb4fbc62",2612:"79509199",2711:"9e4087bc",2848:"d4e5563a",2896:"3696405f",3137:"6db46d75",3153:"dc2e29c8",3249:"ccc49370",3291:"576db185",3491:"cc7a51c9",3683:"3cbcaf06",3727:"6a7e4da4",3822:"8070e160",3940:"38294ec1",3983:"33668231",4134:"393be207",4290:"afd36f43",4480:"54a40797",4583:"1df93b7f",4813:"6875c492",4895:"436029cc",4918:"c9cac9d9",5006:"20f46ea9",5085:"9f5f2938",5220:"5b1963de",5275:"81e2163d",5289:"e94dfc49",5535:"04a5b303",5557:"d9f32620",5627:"4ce2246f",5742:"aba21aa0",5863:"0b1ac180",5879:"bac01f47",6061:"1f391b9e",6203:"7a9d7657",6300:"3a67743f",6565:"af88e90e",6575:"d77dba34",6969:"14eb3368",7098:"a7bd4aaa",7472:"814f3328",7515:"60491c14",7610:"22b2b546",7640:"75bc1f6e",7643:"a6aa9e1f",7662:"38ff83b9",7852:"c2c19e15",7992:"23d79b31",8001:"c969abce",8053:"32e60134",8078:"8294270a",8090:"a2fc30ec",8093:"0c52a1b0",8121:"3a2db09e",8130:"f81c1134",8146:"c15d9823",8209:"01a85c17",8313:"db045007",8401:"17896441",8498:"f3ea3eea",8518:"6bb166bd",8704:"9661bb30",8737:"7661071f",8909:"850a9636",9048:"a94703ab",9233:"1001ab8a",9259:"4c69f114",9391:"050b1017",9647:"5e95c892",9665:"ec498010",9858:"36994c47"}[e]||e)+"."+{245:"64f0c068",268:"b681674c",291:"83e55e04",498:"ff9895fb",511:"1edd07d8",524:"7ec83352",561:"e6f60662",594:"22ee1fea",738:"fa407160",845:"ec62b431",849:"15d07716",855:"c60c3d64",970:"0745e4e6",1e3:"bbcb4248",1149:"684a45c1",1206:"bfc6ff09",1215:"eff1800c",1235:"73061385",1261:"2e3af131",1268:"86fcedd9",1285:"e916c378",1388:"3a22fcd9",1486:"e7029b7f",1633:"202eb981",1650:"7d825413",1757:"a29fa6d2",1903:"fd36ec27",2087:"77035f5b",2128:"f2a837b5",2237:"62103d71",2283:"fc5679ad",2371:"c7fc04a5",2612:"45b62302",2711:"15e226f5",2848:"04ad854e",2896:"af113a04",3137:"4f458cf4",3153:"591b5be0",3242:"21afd9d6",3249:"b606d610",3291:"e82b5be1",3491:"5d1aa46c",3683:"499fe31e",3727:"0149bcb5",3822:"82cf8e88",3940:"26a42d40",3983:"cfa8835e",4134:"4a2dbc78",4290:"05daa70b",4480:"38a1e6aa",4583:"6385b0c7",4813:"930ca60a",4895:"be21a3da",4918:"e6277359",5006:"45db0d5c",5085:"47f64a60",5220:"757403d8",5275:"d2e34b51",5289:"3d22b4cc",5535:"4ea196f3",5557:"cc3d09ed",5627:"8b6676eb",5742:"8dddab0a",5863:"85a8cba1",5879:"1cef9958",6061:"a8b38ec9",6203:"122c59c7",6300:"e082a5bc",6565:"087fbbe8",6575:"5163106e",6969:"f611be6a",7098:"11b743b9",7472:"79056e6f",7515:"f5395da9",7610:"8d06a729",7640:"e77e9369",7643:"ffe123ef",7662:"b2833700",7852:"1dff48dd",7992:"05c8eda1",8001:"4120a749",8053:"f569d6a9",8078:"c4fe1c4a",8090:"61f3e4ae",8093:"ad8a95b6",8121:"3d5a34bc",8130:"d76e80c8",8146:"a761d206",8209:"619767dd",8313:"ec811fba",8401:"5c905c96",8498:"d7849c52",8518:"f67a6f78",8704:"b1cb3252",8737:"96618902",8909:"3e56dc05",9048:"aab0c731",9233:"2bc9c9e3",9259:"79da1cc0",9391:"795943ed",9647:"29b71571",9665:"75a4d8f7",9858:"c966b762"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},b="casdk-docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",33668231:"3983",79509199:"2612","235aab53":"245",f6a38216:"268",ff34ec92:"291","3e0ed37b":"498","0c6090a1":"511",f691e5ad:"524","6f89679a":"561","1a30e2c2":"594","129c9e99":"738",c8a4e95a:"845","0058b4c6":"849",d466b468:"855",b818afb3:"970","226fc587":"1000","7f5c2e55":"1149",c0a2256d:"1206",a29c1785:"1215",a7456010:"1235",a428dd50:"1261","4e47c83a":"1268",c7720abd:"1285","0192c686":"1486",c2b00e73:"1633","7a1ffdc7":"1650",b7c4bde3:"1757",acecf23e:"1903",f3564ad9:"2087","44942b0d":"2128",cd3f4257:"2283",cb4fbc62:"2371","9e4087bc":"2711",d4e5563a:"2848","3696405f":"2896","6db46d75":"3137",dc2e29c8:"3153",ccc49370:"3249","576db185":"3291",cc7a51c9:"3491","3cbcaf06":"3683","6a7e4da4":"3727","8070e160":"3822","38294ec1":"3940","393be207":"4134",afd36f43:"4290","54a40797":"4480","1df93b7f":"4583","6875c492":"4813","436029cc":"4895",c9cac9d9:"4918","20f46ea9":"5006","9f5f2938":"5085","5b1963de":"5220","81e2163d":"5275",e94dfc49:"5289","04a5b303":"5535",d9f32620:"5557","4ce2246f":"5627",aba21aa0:"5742","0b1ac180":"5863",bac01f47:"5879","1f391b9e":"6061","7a9d7657":"6203","3a67743f":"6300",af88e90e:"6565",d77dba34:"6575","14eb3368":"6969",a7bd4aaa:"7098","814f3328":"7472","60491c14":"7515","22b2b546":"7610","75bc1f6e":"7640",a6aa9e1f:"7643","38ff83b9":"7662",c2c19e15:"7852","23d79b31":"7992",c969abce:"8001","32e60134":"8053","8294270a":"8078",a2fc30ec:"8090","0c52a1b0":"8093","3a2db09e":"8121",f81c1134:"8130",c15d9823:"8146","01a85c17":"8209",db045007:"8313",f3ea3eea:"8498","6bb166bd":"8518","9661bb30":"8704","7661071f":"8737","850a9636":"8909",a94703ab:"9048","1001ab8a":"9233","4c69f114":"9259","050b1017":"9391","5e95c892":"9647",ec498010:"9665","36994c47":"9858"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);nBlog | Carbon Aware SDK
-
+
@@ -58,17 +58,31 @@
âš Graduated Project: This project is a Graduated Project, supported by the Green Software Foundation. The publicly available version documented in the README is trusted by the GSF. New versions of the project may be released, or it may move to the Maintained or Archived Stage.
âš Graduated Project: This project is a Graduated Project, supported by the Green Software Foundation. The publicly available version documented in the README is trusted by the GSF. New versions of the project may be released, or it may move to the Maintained or Archived Stage.