PowerAPI

A middleware toolkit for building software-defined power meters.
https://github.com/powerapi-ng/powerapi

Category: Consumption
Sub Category: Computation and Communication

Keywords

energy energy-monitoring green-computing inria power-meter python

Keywords from Contributors

power powerapi rapl performance-counters spirals energy-consumption intel-rapl hardware-performance-counters perf-event sensor

Last synced: about 18 hours ago
JSON representation

Repository metadata

PowerAPI is a Python framework for building software-defined power meters.

README.md

License: BSD-3-Clause
GitHub Workflow Status
PyPI
Codecov
JOSS paper

PowerAPI is a middleware toolkit for building software-defined power meters.
Software-defined power meters are configurable software libraries that can estimate the power consumption of software in real-time.
PowerAPI supports the acquisition of raw metrics from a wide diversity of sensors (eg., physical meters, processor interfaces, hardware counters, OS counters) and the delivery of power consumptions via different channels (including file system, network, web, graphical).
As a middleware toolkit, PowerAPI offers the capability of assembling power meters «à la carte» to accommodate user requirements.

About

PowerAPI is an open-source project developed by the Spirals project-team, a joint research group between the University of Lille and Inria.

More information about the project can be found on the PowerAPI website.

Mailing list

You can follow the latest news and asks questions by subscribing to our mailing list.

Contributing

To learn more about making a contribution to PowerAPI, please see our Contributing guide.

Publications

Citation

If you use PowerAPI in a scientific publication, we would appreciate citations to this paper: https://doi.org/10.21105/joss.06670

License

PowerAPI is licensed under the BSD-3-Clause License. See the LICENSE file for details.

FOSSA Status

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite our article in the Journal of Open Source Software."
title: "PowerAPI: A Python framework for building software-defined power meters"
license: "BSD-3-Clause"
type: software
url: "https://powerapi.org"
repository-code: "https://github.com/powerapi-ng/powerapi"
doi: 10.5281/zenodo.11453194
keywords:
  - powerapi
  - energy
  - green-computing
  - python-framework
authors:
  - given-names: "Guillaume"
    family-names: "Fieni"
    affiliation: "Inria"
    orcid: "https://orcid.org/0000-0002-0165-6824"
  - given-names: "Daniel"
    family-names: "Romero Acero"
    affiliation: "Inria"
    orcid: "https://orcid.org/0000-0002-5317-2610"
  - given-names: "Pierre"
    family-names: "Rust"
    affiliation: "Orange Labs"
    orcid: "https://orcid.org/0000-0002-2761-4702"
  - given-names: "Romain"
    family-names: "Rouvoy"
    affiliation: "University of Lille"
    orcid: "https://orcid.org/0000-0003-1771-8791"
preferred-citation:
  authors:
    - given-names: "Guillaume"
      family-names: "Fieni"
      orcid: "https://orcid.org/0000-0002-0165-6824"
    - given-names: "Daniel"
      family-names: "Romero Acero"
      orcid: "https://orcid.org/0000-0002-5317-2610"
    - given-names: "Pierre"
      family-names: "Rust"
      orcid: "https://orcid.org/0000-0002-2761-4702"
    - given-names: "Romain"
      family-names: "Rouvoy"
      orcid: "https://orcid.org/0000-0003-1771-8791"
  date-published: 2024-06-04
  doi: 10.21105/joss.06670
  issn: 2475-9066
  issue: 98
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6670
  title: "PowerAPI: A Python framework for building software-defined power meters"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06670"
  volume: 9


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 4 days ago

Total Commits: 1,991
Total Committers: 15
Avg Commits per committer: 132.733
Development Distribution Score (DDS): 0.737

Commits in past year: 304
Committers in past year: 2
Avg Commits per committer in past year: 152.0
Development Distribution Score (DDS) in past year: 0.414

Name Email Commits
Guillaume Fieni g****i@i****r 523
dependabot[bot] 4****] 483
Arthur d'Azémar a****r@i****r 445
Jordan Bouchoucha j****a@p****m 241
daniel d****o@u****r 113
daniel d****o@i****r 111
Lauric Desauw l****w@i****r 48
Romain Rouvoy r****y@u****r 10
Pierre Rust p****t@o****m 9
TomeMD t****a@u****s 2
Jordan j****a@g****m 2
Lars Schellhas l****s@o****m 1
Dimitri Saingre d****e@d****r 1
Benjamin DANGLOT b****t@g****m 1
root r****t@n****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 86
Total pull requests: 955
Average time to close issues: 6 months
Average time to close pull requests: 2 days
Total issue authors: 27
Total pull request authors: 18
Average comments per issue: 1.14
Average comments per pull request: 0.95
Merged pull request: 828
Bot issues: 1
Bot pull requests: 653

Past year issues: 1
Past year pull requests: 179
Past year average time to close issues: N/A
Past year average time to close pull requests: about 12 hours
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 3.0
Past year average comments per pull request: 0.96
Past year merged pull request: 137
Past year bot issues: 0
Past year bot pull requests: 132

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/powerapi-ng/powerapi

Top Issue Authors

  • altor (27)
  • roda82 (14)
  • PierreRustOrange (5)
  • Kayoku (5)
  • gfieni (4)
  • tibosmn (3)
  • danglotb (3)
  • TomeMD (2)
  • chakib-belgaid (2)
  • varshaprasad96 (2)
  • Thommil (2)
  • dsaingre (2)
  • sirAnone (1)
  • henriquedavid (1)
  • Urhengulas (1)

Top Pull Request Authors

  • dependabot[bot] (653)
  • gfieni (183)
  • altor (47)
  • roda82 (25)
  • Kayoku (14)
  • PierreRustOrange (9)
  • danielskatz (4)
  • TomeMD (4)
  • rouvoy (4)
  • KellianL (2)
  • jorgermurillo (2)
  • Thommil (2)
  • larsschellhas (1)
  • EmileCadorel (1)
  • fossabot (1)

Top Issue Labels

  • enhancement (26)
  • bug (14)
  • refactoring (10)
  • doc (6)
  • test (5)
  • question (2)
  • help wanted (1)
  • consortium (1)
  • dependencies (1)

Top Pull Request Labels

  • dependencies (652)
  • refactoring (100)
  • enhancement (79)
  • bug (31)
  • doc (9)
  • consortium (6)
  • test (2)
  • major (1)
  • bumpless (1)

Package metadata

proxy.golang.org: github.com/powerapi-ng/powerapi

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/powerapi-ng/powerapi#section-documentation
  • Licenses: bsd-3-clause
  • Latest release: v2.10.0+incompatible (published about 1 year ago)
  • Last Synced: 2026-04-14T04:02:35.978Z (8 days ago)
  • Versions: 57
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.395%
    • Average: 5.576%
    • Dependent repos count: 5.758%
pypi.org: powerapi

PowerAPI is a middleware toolkit for building software-defined power meters.

  • Homepage:
  • Documentation: https://powerapi.readthedocs.io/
  • Licenses: BSD-3-Clause
  • Latest release: 2.10.0 (published about 1 year ago)
  • Last Synced: 2026-04-14T04:02:34.516Z (8 days ago)
  • Versions: 55
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 4,375 Last month
  • Docker Downloads: 49
  • Rankings:
    • Docker downloads count: 3.196%
    • Dependent repos count: 7.478%
    • Average: 8.243%
    • Dependent packages count: 10.141%
    • Downloads: 12.156%
  • Maintainers (1)
nixpkgs-unstable: python313Packages.powerapi

Python framework for building software-defined power meters

nixpkgs-unstable: python314Packages.powerapi

Python framework for building software-defined power meters


Dependencies

.github/workflows/build.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action eaaf4bedf32dbdc6b720b63067d99c4d77d6047d composite
.github/workflows/codeql.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • docker/build-push-action 0565240e2d4ab88bba5387d719585280857ece09 composite
  • docker/login-action 343f7c4344506bcbf9b4de18042ae17996df046d composite
  • docker/metadata-action 96383f45573cb7f253c731d3b3ab81c87ef81934 composite
  • docker/setup-buildx-action f95db51fddba0c2d1ec667646a06c2ce06100226 composite
  • pypa/gh-action-pypi-publish b7f401de30cb6434a1e19f805ff006643653240e composite
  • softprops/action-gh-release de2c0eb89ae2a093876385947365aca7b0e5f844 composite
Dockerfile docker
  • python 3-slim@sha256 build
pyproject.toml pypi
  • pyzmq >= 18.1.0
  • setproctitle >= 1.1.8
.github/workflows/pull-request.yml actions
  • amannn/action-semantic-pull-request 48f256284bd46cdaab1048c3721360e808335d50 composite

Score: 16.629883711433482