Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.6%) to scientific vocabulary
Keywords
Repository
Impact Framework
Basic Info
- Host: GitHub
- Owner: Green-Software-Foundation
- License: mit
- Language: TypeScript
- Default Branch: main
- Homepage: https://if.greensoftware.foundation/
- Size: 7.53 MB
Statistics
- Stars: 171
- Watchers: 12
- Forks: 47
- Open Issues: 40
- Releases: 35
Topics
Metadata Files
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:
sh
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:
```sh
if-run --manifest
or you can use alias
if-run -m
```
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:
sh
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:
sh
if-run --manifest <path-to-your-manifest-file> --debug
Use the help command if you need guidance about the available commands
```sh if-run --help
or using alias
if-run -h ```
Using API server
The Impact Framework also provides an API server. By default, it listens on localhost:3000, but this can be changed.
```sh
Run the API server listening on the default localhost:3000.
$ if-api
Run the API server listening on 0.0.0.0:8080.
$ if-api --host 0.0.0.0 --port 8080 ```
If the API server is running, you can send a manifest in the request body and receive the results of if-run as a response.
```sh
Process manifest
$ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run ```
Note that in if-api, the following builtin plugins are disabled by default for security reasons.
- Shell
- CSVImport
- CSVLookup
Please refer to the documentation for detailed usage instructions, including how to enable these plugins.
Using Docker Container
The Impact Framework API server can also be run as a Docker container.
The official image is provided at ghcr.io/green-software-foundation/if, so you can run the container with the following command.
```sh
Run with default port (3000)
$ docker run --rm -p 3000:3000 ghcr.io/green-software-foundation/if ```
Please refer to CONTAINER.md for how to install external plugins during container execution and how to build custom images.
Using API server with Kubernetes
The Impact Framework also provides a helm chart for running the API server on a Kubernetes cluster.
The helm chart is provided in OCI format on GitHub Container Registry, so you need to specify oci: when referencing the chart.
sh
$ helm install if oci://ghcr.io/green-software-foundation/charts/if
By default, a ClusterIP service is deployed, so you can access the API server by running kubectl port-forward.
sh
$ kubectl port-forward svc/if 3000:3000 &
$ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run
For detailed usage including external plugin installation and NodePort configuration, please refer to HELM_CHART.md.
Documentation
Please read our documentation at if.greensoftware.foundation
Join our mailing list
We have a public mailing list at if-community@greensoftware.foundation. 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
- Name: Green Software Foundation
- Login: Green-Software-Foundation
- Kind: organization
- Website: https://greensoftware.foundation
- Repositories: 22
- Profile: https://github.com/Green-Software-Foundation
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
GitHub Events
Total
- Create event: 44
- Release event: 9
- Issues event: 100
- Watch event: 26
- Delete event: 33
- Issue comment event: 204
- Push event: 106
- Pull request event: 100
- Pull request review event: 56
- Pull request review comment event: 17
- Fork event: 6
Last Year
- Create event: 44
- Release event: 9
- Issues event: 100
- Watch event: 26
- Delete event: 33
- Issue comment event: 204
- Push event: 106
- Pull request event: 100
- Pull request review event: 56
- Pull request review comment event: 17
- Fork event: 6
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Narek Hovhannisyan | n****r@g****m | 1,308 |
| 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 |
| Mitsuru Kariya | m****a@n****m | 19 |
| Srinivasan | s****n@m****m | 8 |
| mouhamadalmounayar | m****r@g****m | 8 |
| Yassine El Ghali | Y****i@m****m | 4 |
| Oleg-Zhymolokhov | 1****v | 4 |
| alexzurbonsen | a****n@t****m | 3 |
| Adam | A****p | 2 |
| Arne Tarara | a****e@d****e | 2 |
| Yasumasa Suenaga | y****g@g****m | 2 |
| dareynol | d****l@m****m | 2 |
| Adam Jackson | a****m@g****n | 2 |
| Abhinav Bansal | a****6@g****m | 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 (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 518
- Total pull requests: 392
- Average time to close issues: about 1 month
- Average time to close pull requests: 4 days
- Total issue authors: 30
- Total pull request authors: 24
- Average comments per issue: 2.79
- Average comments per pull request: 0.63
- Merged pull requests: 342
- Bot issues: 0
- Bot pull requests: 17
Past Year
- Issues: 73
- Pull requests: 116
- Average time to close issues: about 1 month
- Average time to close pull requests: 3 days
- Issue authors: 10
- Pull request authors: 9
- Average comments per issue: 2.34
- Average comments per pull request: 0.4
- Merged pull requests: 96
- Bot issues: 0
- Bot pull requests: 9
Top Authors
Issue Authors
- jmcook1186 (247)
- zanete (164)
- MariamKhalatova (31)
- jawache (26)
- narekhovhannisyan (15)
- manushak (8)
- srini1978 (5)
- adamhafiz427 (2)
- tdigeser91 (2)
- Irenia111 (2)
- mouhamadalmounayar (2)
- abhinavbansal19961996 (2)
- amina-nasrin (1)
- Sophietn (1)
- adamj89 (1)
Pull Request Authors
- narekhovhannisyan (231)
- manushak (133)
- jmcook1186 (112)
- MariamKhalatova (42)
- kariya-mitsuru (34)
- github-actions[bot] (26)
- pazbardanl (11)
- alexzurbonsen (11)
- mouhamadalmounayar (6)
- ArneTR (5)
- adamj89 (4)
- jamescrowley (4)
- adamaucamp (4)
- demakoff (3)
- YaSuenag (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- npm 654 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 111
- Total maintainers: 3
proxy.golang.org: github.com/green-software-foundation/if
- Documentation: https://pkg.go.dev/github.com/green-software-foundation/if#section-documentation
- License: mit
-
Latest release: v1.1.0
published 7 months ago
Rankings
proxy.golang.org: github.com/Green-Software-Foundation/if
- Documentation: https://pkg.go.dev/github.com/Green-Software-Foundation/if#section-documentation
- License: mit
-
Latest release: v1.1.0
published 7 months ago
Rankings
npmjs.org: @grnsft/if
Impact Framework
- Homepage: https://greensoftware.foundation
- License: MIT
-
Latest release: 1.1.0
published 7 months ago