geocaml/carbon-intensity

An HTTP client for accessing various carbon intensity APIs

OCaml
This is stars and forks stats for /geocaml/carbon-intensity repository. As of 06 May, 2024 this repository has 23 stars and 1 forks.

carbon-intensity Carbon Intensity is an OCaml client for querying various energy grid APIs to understand the energy generation mix. This enables programs like schedulers, energy monitors etc. to have a better understanding of their carbon intensity. The API provides geographic-specific services, which allow you to exploit more fine-grained APIs and then a generic Intensity interface for a global-oriented API. Integrated APIs Great Britain: https://www.carbonintensity.org.uk/ France: https://www.rte-france.com/eco2mix Misc: https://www.co2signal.com (requires API key) Usage A very simple use of the region specific API for Great Britain only requires the user to provide Eio's network capability. # Eio_main.run @@ fun env -> Mirage_crypto_rng_eio.run (module Mirage_crypto_rng.Fortuna) env @@ fun _ -> Carbon.Gb.get_intensity env#net |> Eio.traceln "%a" Carbon.Gb.Intensity.pp;; +period: 2022-08-28T17:30Z - 2022-08-28T18:00Z +forecast: 255 gCO2/kWh +actual: None +index: high + - : unit = () Some APIs require more configuration, for example an access token. In order to use them you will need to construct a configuration and pass this into any calls that are made. For example: # Eio_main.run @@ fun env -> Mirage_crypto_rng_eio.run (module Mirage_crypto_rng.Fortuna) env @@ fun _ -> let token = Eio.Path.(load (env#fs / ".co2-token")) in let t = Carbon.Co2_signal.v token in Carbon.Co2_signal.get_intensity ~net:env#net ~country_code:`FR t |> Eio.traceln "%a" Carbon.Co2_signal.Intensity.pp;; +country: FR +datetime: 2022-08-29T11:00:00.000Z +intensity: 99 gCO2/kWh +fossil fuel percentage: 15.230000 - : unit = ()
Read on GithubGithub Stats Page
repotechsstarsweeklyforksweekly
imandra-ai/imandra-documentOCamlMakefile0000
motion-twin/WebGamesArchivesHaxeActionScriptMathematica870300
ocsigen/tyxmlOCamlReasonOther1490560
Veridise/circom-coqCoqMakefileOCaml31+130
spacekookie/gayMercuryOzIsabelle4400330
fraidev/tornadoOCamlStandard MLNix57000
josevalim/nested-map-reduce-traversalElixirClojureHaskell22010
coq/opam-coq-archiveOCamlShellMakefile10901350
nyinyithann/favemarksOCamlShell11000
hazelgrove/hazelOCamlReasonCSS6100420