Impact Framework
Model, Measure, simulate and monitor the environmental impacts of software.
https://github.com/Green-Software-Foundation/if
Category: Consumption
Sub Category: Computation and Communication
Keywords
framework impact
Keywords from Contributors
green-software community green-software-foundation gsf green sustainability climate green-computing sustainable-software software-patterns
Last synced: 2 minutes ago
JSON representation
Repository metadata
Impact Framework
- Host: GitHub
- URL: https://github.com/Green-Software-Foundation/if
- Owner: Green-Software-Foundation
- License: mit
- Created: 2023-02-08T09:32:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-02T15:42:06.000Z (25 days ago)
- Last Synced: 2025-04-18T00:08:35.764Z (10 days ago)
- Topics: framework, impact
- Language: TypeScript
- Homepage: https://if.greensoftware.foundation/
- Size: 7.39 MB
- Stars: 170
- Watchers: 13
- Forks: 42
- Open Issues: 46
- Releases: 31
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
README.md
Impact Framework
[!IMPORTANT]
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 Retired Stage at any moment.
Our documentation is online at if.greensoftware.foundation
IF is a framework to Model, Measure, siMulate and Monitor the environmental impacts of software
Modern applications are composed of many smaller pieces of software (components) running on many different environments, for example, private cloud, public cloud, bare-metal, virtualized, containerized, mobile, laptops, and desktops.
Every environment requires a different plugin of measurement, and there is no single solution you can use to calculate the environmental impacts for all components across all environments.
The friction to measuring software emissions isn't that we need to know how, it's that we run software on many things and each thing has several different ways to measure.
Read the specification and design docs to begin.
Get started
IF is a framework for running pipelines of plugins that operate on a set of observations. This is all configured using a manifest file. We provide a standard library of plugins that come bundled with IF - we refer to these as builtins
. We also have an Explorer where anyone can list third party plugins you can install.
Start by installing the latest version of IF:
npm install -g "@grnsft/if"
Then create a manifest
file that describes your application (see our docs for a detailed explanation).
Then, run if
using the following command:
if-run --manifest <path-to-your-manifest-file>
## or you can use alias
if-run -m <path-to-your-manifest-file>
Note that above command will print your outputs to the console. If you do not want to print the outputs to the console, you need to provide --no-output
command. You can also provide the --output
command to save your outputs to a yaml file:
if-run -m <path-to-your-manifest> -o <savepath>
The if-run
CLI tool will configure and run the plugins defined in your input yaml
(manifest
) and return the results as an output yaml
(output
).
Use the debug
command if you want to diagnose and fix errors in your plugin:
if-run --manifest <path-to-your-manifest-file> --debug
Use the help
command if you need guidance about the available commands
if-run --help
## or using alias
if-run -h
Documentation
Please read our documentation at if.greensoftware.foundation
Join our mailing list
We have a public mailing list at [email protected]. We send out weekly updates that explain what we've shipped, what we're working on and how you can get involved each week!
Contributing
To contribute to IF, please fork this repository and raise a pull request from your fork.
You can check our issue board for issues. We mark some issues core-only
if they are somehow sensitive and we want one of our core developers to handle it. Any other issues are open for the community to work on. We recommend commenting on the issue to start a chat with the core team, then start working on the issue when you have been assigned to it. This process helps to ensure your work is aligned with our roadmap and makes it much more likely that your changes will get merged compared to unsolicited PRs.
Please read the full contribution guidelines at if.greensoftware.foundation
Bug reports
To report bugs please use our bug report template. You can do this by opening a new issue and selecting Bug Report
when you are prompted to pick a template. The more information you provide,.the quicker we will be able to reproduce, diagnose and triage your issue.
To read about our bug reporting and triage process, please see our contribution guidelines.
Owner metadata
- Name: Green Software Foundation
- Login: Green-Software-Foundation
- Email:
- Kind: organization
- Description: The Green Software Foundation is a non-profit with the mission to create a trusted ecosystem of people, standards, tooling and best practices for green software
- Website: https://greensoftware.foundation
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/84547728?v=4
- Repositories: 22
- Last ynced at: 2023-03-03T23:14:56.837Z
- Profile URL: https://github.com/Green-Software-Foundation
GitHub Events
Total
- Create event: 36
- Release event: 6
- Issues event: 93
- Watch event: 24
- Delete event: 28
- Issue comment event: 169
- Push event: 82
- Pull request event: 65
- Pull request review event: 39
- Pull request review comment event: 15
- Fork event: 4
Last Year
- Create event: 36
- Release event: 6
- Issues event: 93
- Watch event: 24
- Delete event: 28
- Issue comment event: 169
- Push event: 82
- Pull request event: 65
- Pull request review event: 39
- Pull request review comment event: 15
- Fork event: 4
Committers metadata
Last synced: 6 days ago
Total Commits: 2,948
Total Committers: 25
Avg Commits per committer: 117.92
Development Distribution Score (DDS): 0.559
Commits in past year: 1,300
Committers in past year: 9
Avg Commits per committer in past year: 144.444
Development Distribution Score (DDS) in past year: 0.603
Name | Commits | |
---|---|---|
Narek Hovhannisyan | n****r@g****m | 1300 |
jmc | 3****6 | 650 |
manushak | m****n@g****m | 546 |
Gnanakeethan Balasubramaniam | g****n | 245 |
MariamKhalatova | m****a@g****m | 102 |
Asim Hussain | a****m@c****v | 22 |
James Crowley | j****s@a****m | 22 |
Paz Barda | p****a@i****m | 20 |
Srinivasan | s****n@m****m | 8 |
Yassine El Ghali | Y****i@m****m | 4 |
Mitsuru Kariya | m****a@n****m | 4 |
Oleg-Zhymolokhov | 1****v | 4 |
mouhamadalmounayar | m****r@g****m | 4 |
alexzurbonsen | a****n@t****m | 3 |
Adam | A****p | 2 |
dareynol | d****l@m****m | 2 |
Adam Jackson | a****m@g****n | 2 |
Abhinav Bansal | a****6@g****m | 1 |
Arne Tarara | a****e@d****e | 1 |
Johann Hemmann | j****n@c****n | 1 |
John Behan | j****5 | 1 |
Marco Paga | m****a | 1 |
Russell Trow | r****l@g****n | 1 |
Sean Mcilroy | s****y@l****g | 1 |
Sophie Trinder | 1****n | 1 |
Committer domains:
- microsoft.com: 3
- greensoftware.foundation: 2
- linuxfoundation.org: 1
- code.berlin: 1
- datafuse.de: 1
- tngtech.com: 1
- nttdata.com: 1
- intel.com: 1
- atomitz.com: 1
- codecraft.tv: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 736
Total pull requests: 467
Average time to close issues: about 1 month
Average time to close pull requests: 4 days
Total issue authors: 32
Total pull request authors: 25
Average comments per issue: 2.5
Average comments per pull request: 0.62
Merged pull request: 382
Bot issues: 0
Bot pull requests: 19
Past year issues: 396
Past year pull requests: 256
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 3 days
Past year issue authors: 16
Past year pull request authors: 11
Past year average comments per issue: 2.03
Past year average comments per pull request: 0.61
Past year merged pull request: 202
Past year bot issues: 0
Past year bot pull requests: 19
Top Issue Authors
- jmcook1186 (313)
- zanete (262)
- jawache (61)
- MariamKhalatova (35)
- narekhovhannisyan (19)
- manushak (8)
- srini1978 (6)
- grugnog (2)
- mouhamadalmounayar (2)
- adamhafiz427 (2)
- tdigeser91 (2)
- Irenia111 (2)
- abhinavbansal19961996 (2)
- kathleen-vanassche-aca (2)
- amina-nasrin (1)
Top Pull Request Authors
- narekhovhannisyan (150)
- jmcook1186 (121)
- manushak (95)
- MariamKhalatova (33)
- github-actions[bot] (19)
- gnanakeethan (7)
- pazbardanl (6)
- alexzurbonsen (6)
- kariya-mitsuru (5)
- adamaucamp (3)
- jamescrowley (3)
- adamj89 (2)
- mouhamadalmounayar (2)
- jawache (2)
- yelghali (2)
Top Issue Labels
- backlog (77)
- bug (69)
- epic: QA (66)
- core-only (52)
- documentation (41)
- agenda (40)
- medium-priority (37)
- EPIC (36)
- model (31)
- draft (31)
- feature (30)
- high-priority (30)
- size: medium (29)
- blocked (27)
- backlogged (26)
- project-management (25)
- cli (25)
- discussions (22)
- project-update (17)
- low-priority (13)
- good-first-issue (12)
- help-wanted (10)
- tests (10)
- size: small (9)
- size: large (7)
- plugin (7)
- i-milestone (6)
- qa (5)
- good first issue (4)
- fix-now (2)
Top Pull Request Labels
- feature (35)
- documentation (26)
- awaiting-dev-review (22)
- size: medium (21)
- epic: QA (19)
- model (12)
- project-management (10)
- high-priority (9)
- bug (8)
- fix (8)
- medium-priority (8)
- tests (7)
- size: small (6)
- qa-pass (6)
- dev-review-pass (6)
- awaiting-qa (4)
- qa (4)
- release (3)
- size: large (3)
- cli (2)
- backlog (2)
- backlogged (1)
- agenda (1)
- triage (1)
- needs-response (1)
Package metadata
- Total packages: 1
-
Total downloads:
- npm: 176 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 38
- Total maintainers: 3
npmjs.org: @grnsft/if
Impact Framework
- Homepage: https://greensoftware.foundation
- Licenses: MIT
- Latest release: 1.0.1 (published about 2 months ago)
- Last Synced: 2025-04-26T14:41:54.556Z (1 day ago)
- Versions: 38
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 176 Last month
-
Rankings:
- Forks count: 6.62%
- Stargazers count: 6.666%
- Average: 25.568%
- Dependent repos count: 36.508%
- Dependent packages count: 52.478%
- Maintainers (3)
Score: 13.781540038393121