Recent Releases of PowerAPI
PowerAPI - v2.10.0
v2.10.0 (2025-03-27)
Bug Fixes
- Add timezone info to timestamp in PowerReport before conversion and sending to OpenTSDB
- Consider empty values on csv lines when creating a HWPC Report
Build System
- Bump PowerAPI package version to v2.10.0
- Remove flake8 configuration file
- Add
ruff
linter configuration file - deps: Bump python from
026dd41
toa569688
- deps: Bump docker/build-push-action from 6.14.0 to 6.15.0
- deps: Bump github/codeql-action from 3.28.11 to 3.28.12
- deps: Bump actions/upload-artifact from 4.6.1 to 4.6.2
- deps: Bump actions/download-artifact from 4.2.0 to 4.2.1
- deps: Bump actions/download-artifact from 4.1.9 to 4.2.0
- deps: Bump python from
f3614d9
to8f3aba4
- deps: Bump docker/login-action from 3.3.0 to 3.4.0
- deps: Bump github/codeql-action from 3.28.10 to 3.28.11
- deps: Bump docker/setup-qemu-action from 3.5.0 to 3.6.0
- deps: Bump astral-sh/setup-uv from 5.3.0 to 5.3.1
- deps: Bump github/codeql-action from 3.28.12 to 3.28.13
- deps: Bump docker/metadata-action from 5.6.1 to 5.7.0
- deps: Bump codecov/codecov-action from 5.3.1 to 5.4.0
- deps: Bump docker/setup-qemu-action from 3.4.0 to 3.5.0
- deps: Bump docker/setup-buildx-action from 3.9.0 to 3.10.0
- deps: Bump python from
ea836d3
tof3614d9
- deps: Bump actions/download-artifact from 4.1.8 to 4.1.9
- deps: Bump python from
ae9f9ac
toea836d3
- deps: Bump slsa-framework/slsa-github-generator
- deps: Bump actions/upload-artifact from 4.6.0 to 4.6.1
- deps: Bump github/codeql-action from 3.28.9 to 3.28.10
- deps: Bump astral-sh/setup-uv from 5.2.2 to 5.3.0
- deps: Bump docker/build-push-action from 6.13.0 to 6.14.0
- deps: Bump astral-sh/setup-uv from 5.2.1 to 5.2.2
- deps: Bump python from
4efa69b
toeda73ca
- deps: Bump python from
eda73ca
to0de8181
- deps: Bump github/codeql-action from 3.27.5 to 3.27.6
- deps: Bump python from
0de8181
tof41a75c
- deps: Bump codecov/codecov-action from 5.0.7 to 5.1.1
- deps: Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
- deps: Bump softprops/action-gh-release from 2.1.0 to 2.2.0
- deps: Bump github/codeql-action from 3.27.6 to 3.27.9
- deps: Bump docker/setup-buildx-action from 3.7.1 to 3.8.0
- deps: Bump actions/upload-artifact from 4.4.3 to 4.5.0
- deps: Bump github/codeql-action from 3.27.9 to 3.28.0
- deps: Bump python from
031ebf3
toae9f9ac
- deps: Bump docker/setup-qemu-action from 3.3.0 to 3.4.0
- deps: Bump docker/setup-buildx-action from 3.8.0 to 3.9.0
- deps: Bump github/codeql-action from 3.28.8 to 3.28.9
- deps: Bump python from
a569688
to031ebf3
- deps: Bump actions/setup-python from 5.4.0 to 5.5.0
- deps: Bump astral-sh/setup-uv from 4.1.0 to 4.2.0
- deps: Bump astral-sh/setup-uv from 4.2.0 to 5.0.1
- deps: Bump astral-sh/setup-uv from 5.3.1 to 5.4.0
- deps: Bump github/codeql-action from 3.28.6 to 3.28.8
- deps: Bump actions/setup-python from 5.3.0 to 5.4.0
- deps: Bump github/codeql-action from 3.28.5 to 3.28.6
- deps: Bump github/codeql-action from 3.28.4 to 3.28.5
- deps: Bump codecov/codecov-action from 5.3.0 to 5.3.1
- deps: Bump python from
23a81be
to026dd41
- deps: Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4
- deps: Bump docker/build-push-action from 6.12.0 to 6.13.0
- deps: Bump github/codeql-action from 3.28.2 to 3.28.4
- deps: Bump codecov/codecov-action from 5.1.2 to 5.3.0
- deps: Bump github/codeql-action from 3.28.1 to 3.28.2
- deps: Bump astral-sh/setup-uv from 5.2.0 to 5.2.1
- deps: Bump astral-sh/setup-uv from 5.1.0 to 5.2.0
- deps: Bump docker/build-push-action from 6.11.0 to 6.12.0
- deps: Bump python from
31e0d1a
to23a81be
- deps: Bump python from
1127090
to31e0d1a
- deps: Bump github/codeql-action from 3.28.0 to 3.28.1
- deps: Bump actions/upload-artifact from 4.5.0 to 4.6.0
- deps: Bump docker/setup-qemu-action from 3.2.0 to 3.3.0
- deps: Bump softprops/action-gh-release from 2.2.0 to 2.2.1
- deps: Bump docker/build-push-action from 6.10.0 to 6.11.0
- deps: Bump python from
f41a75c
to1127090
- deps: Bump astral-sh/setup-uv from 5.0.1 to 5.1.0
- deps: Bump codecov/codecov-action from 5.1.1 to 5.1.2
- pylint: Disable
deprecated-module
check - pyproject: Remove
flake8
from dev dependency group - pyproject: Move dev dependencies into
dependency-groups
- pyproject: Add ruff to
lint
dependency group - pyproject: Remove
mock
library from test dependency group - ruff: Remove
deprecated-import
from ignored rules list - ruff: Remove
type-comparison
from ignored rules list - ruff: Remove
non-pep585-annotation
from ignored rules list - ruff: Remove
redundant-open-modes
from ignored rules list - ruff: Remove
printf-string-formatting
from ignored rules list - ruff: Remove
B011
andB017
from ignored rules list - ruff: Remove
commented-out-code
from ignored rules list - ruff: Remove
collection-literal-concatenation
from ignored rules list - ruff: Remove
deprecated-import
from ignored rules list - ruff: Remove
strip-with-multi-characters
from ignored rules list - ruff: Remove
non-pep604-annotation-union
from ignored rules list - ruff: Remove logging string formats from ignored rules list
Code Refactoring
- Concatenate collections with iterable unpacking
- Use PEP585 type hints for standard collections
- Use PEP-604 annotation for union types
- Remove redundant
open
mode argument - Replace deprecated
typing
imports withcollections.abc
- Remove commented-out code
- Format logging messages the same way across the codebase
- database: Move
prometheus
into its own submodule - database: Move
csvdb
into its own submodule - database: Move
mongodb
into its own submodule - database: Move
influxdb2
into its own submodule - database: Move
virtiofs
into its own submodule - database: Move
opentsdb
into its own submodule - database: Move
socket
into its own submodule - database: Move
file
into its own submodule - report: Remove usage of printf string formatting
Continuous Integration
- Add workflow to check pull request title
- build: Always upload coverage reports to Codecov
- build: Remove flake8 step from workflow
- build: Use
uv
to manage project dependencies - build: Add
ruff
linter for src and tests folders
Documentation
- Remove used sphinx scripts and configuration
- joss: Add sources of the paper
Tests
- unit: Use
unittest.mock
instead of the deprecatedmock
library - unit/actor: Expect
ZMQError
when the supervisor fails initialization - unit/cli: Replace
assert False
bypytest.fail
- unit/cli: Use
is
instead of==
to compare types - unit/puller: Use
removeprefix
instead oflstrip
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 1 month ago

PowerAPI - v2.9.1
v2.9.1 (2024-11-29)
Build System
- Bump PowerAPI package version to 2.9.1
- deps: Bump astral-sh/setup-uv from 4.0.0 to 4.1.0
Continuous Integration
- release: Update download path of artifacts for GitHub release
Consumption - Computation and Communication
- Python
Published by github-actions[bot] 5 months ago

PowerAPI - v2.8.0
v2.8.0 (2024-09-03)
Bug Fixes
- Correct issue related to empty tags in configuration
- Modify tags management in prometheus_db destination
Build System
- Bump PowerAPI package version to 2.8.0
- Dockerfile: Install PowerAPI inside a global Python virtualenv
- deps: Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1
- deps: Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0
- deps: Bump actions/setup-python from 5.1.1 to 5.2.0
- deps: Bump github/codeql-action from 3.26.3 to 3.26.6
- deps: Bump github/codeql-action from 3.26.1 to 3.26.3
- deps: Bump python from
835b976
to59c7332
- deps: Bump docker/build-push-action from 6.6.1 to 6.7.0
- deps: Bump github/codeql-action from 3.26.0 to 3.26.1
- deps: Bump python from
105e9d8
to835b976
- deps: Bump python from
a3e58f9
to105e9d8
- deps: Bump docker/build-push-action from 6.5.0 to 6.6.1
- deps: Bump github/codeql-action from 3.25.15 to 3.26.0
- deps: Bump python from
1ef6f4d
toa3e58f9
- deps: Bump python from
740d94a
to1ef6f4d
- deps: Bump docker/setup-buildx-action from 3.5.0 to 3.6.1
- deps: Bump github/codeql-action from 3.25.14 to 3.25.15
- deps: Bump github/codeql-action from 3.25.13 to 3.25.14
- deps: Bump python from
52f92c5
to740d94a
- deps: Bump python from
09bbe22
to52f92c5
- deps: Bump python from
f11725a
to09bbe22
- deps: Bump docker/setup-buildx-action from 3.4.0 to 3.5.0
- deps: Bump docker/setup-qemu-action from 3.1.0 to 3.2.0
- deps: Bump docker/login-action from 3.2.0 to 3.3.0
- deps: Bump github/codeql-action from 3.25.12 to 3.25.13
- deps: Bump docker/build-push-action from 6.4.1 to 6.5.0
- deps: Bump softprops/action-gh-release from 2.0.7 to 2.0.8
- deps: Bump softprops/action-gh-release from 2.0.6 to 2.0.7
- deps: Bump docker/build-push-action from 6.4.0 to 6.4.1
- deps: Bump docker/build-push-action from 6.3.0 to 6.4.0
- deps: Bump github/codeql-action from 3.25.11 to 3.25.12
- deps: Bump actions/setup-python from 5.1.0 to 5.1.1
- deps: Bump python from
d5f1674
tof11725a
- deps: Bump python from
00bf210
tod5f1674
- deps: Bump docker/setup-buildx-action from 3.3.0 to 3.4.0
- deps: Bump python from
d3a3259
to00bf210
- deps: Bump docker/build-push-action from 6.2.0 to 6.3.0
- deps: Bump docker/setup-qemu-action from 3.0.0 to 3.1.0
- deps: Bump python from
da2d7af
tod3a3259
- deps: Bump github/codeql-action from 3.25.10 to 3.25.11
- deps: Bump python from
2fba8e7
toda2d7af
- deps: Bump docker/build-push-action from 6.1.0 to 6.2.0
- deps: Bump docker/build-push-action from 6.0.1 to 6.1.0
- deps: Bump softprops/action-gh-release from 2.0.5 to 2.0.6
- deps: Bump docker/build-push-action from 6.0.0 to 6.0.1
- deps: Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0
- deps: Bump docker/build-push-action from 5.4.0 to 6.0.0
- deps: Bump github/codeql-action from 3.25.9 to 3.25.10
- deps: Bump python from
e3ae8cf
to2fba8e7
- deps: Bump codecov/codecov-action from 4.4.1 to 4.5.0
- deps: Bump actions/checkout from 4.1.6 to 4.1.7
- deps: Bump github/codeql-action from 3.25.8 to 3.25.9
- deps: Bump docker/build-push-action from 5.3.0 to 5.4.0
- deps: Bump python from
afc139a
toe3ae8cf
- deps: Bump github/codeql-action from 3.25.7 to 3.25.8
Code Refactoring
- Use empty string as default value for tags no presented in report metadata
- puller: Remove unused async database handling
- utils: Remove unused
JsonStream
class
Continuous Integration
- release: Enable generation and upload of python package digital attestation
Documentation
- CITATION.cff: Add Zenodo DOI
- CITATION.cff: Add JOSS paper metadata
- README: Update JOSS and Zenodo badges, add JOSS publication
Features
- database/socket: Rework socket database code
- report/hwpc: Improves error handling when deserializing from json
Tests
- unit/cli: Update
SocketDB
host/port checks - unit/database: Add
socket
database tests
Consumption - Computation and Communication
- Python
Published by github-actions[bot] 8 months ago

PowerAPI - v2.7.0
v2.7.0 (2024-06-03)
Bug Fixes
- Remove useless tags initialisation in save method of prometheus_db
- Change filtering by tags on PowerReport. Now, if tags is empty all metadata is kept
- Adapt test to changes on environment variables parsing
- Correct parsing of environment variable by using longest argument suffix
- Change argument names separator from _ to -
- Rename parameters names in extract_file_names action, Remove code related to influxdb 1.8
Build System
- Bump PowerAPI package version to 2.7.0
- deps: Bump github/codeql-action from 3.25.6 to 3.25.7
- deps: Bump docker/login-action from 3.1.0 to 3.2.0
- deps: Bump actions/checkout from 4.1.5 to 4.1.6
- deps: Bump python from
2be8dad
toafc139a
- deps: Bump github/codeql-action from 3.25.3 to 3.25.4
- deps: Bump softprops/action-gh-release from 2.0.4 to 2.0.5
- deps: Bump actions/checkout from 4.1.4 to 4.1.5
- deps: Bump codecov/codecov-action from 4.3.0 to 4.3.1
- deps: Bump github/codeql-action from 3.25.2 to 3.25.3
- deps: Bump python from
399ca82
to2be8dad
- deps: Bump actions/checkout from 4.1.3 to 4.1.4
- deps: Bump python from
541d45d
to399ca82
- deps: Bump github/codeql-action from 3.25.1 to 3.25.2
- deps: Bump actions/checkout from 4.1.2 to 4.1.3
- deps: Bump github/codeql-action from 3.25.0 to 3.25.1
- deps: Bump github/codeql-action from 3.24.10 to 3.25.0
Code Refactoring
- Remove unnecessary files and directory on source
- Remove unnecessary directory old
- actor: Fix pylint
unsubscriptable-object
warning - pusher: Fix pylint
useless-return
warning - report: Clean
_extract_timestamp
method code
Documentation
- Add CITATION.cff file
Features
- config: Add
host
parameter to config the socket db listen address - database/socket: Add
host
attribute to set the socket listen address
Tests
- Add tests for PowerReport related to tags management and generation of influxdb and prometheus documents
- utils/cli: Add
host
field for socket output in config export
Consumption - Computation and Communication
- Python
Published by github-actions[bot] 11 months ago

PowerAPI - v2.6.0
v2.6.0 (2024-04-12)
Bug Fixes
- Create CSV output file when it doesn't exists
- actor: Enable ZMQ High-Water-Mark on actors sockets
- database/csv: Set file handle to beginning of file before parsing headers
- puller: Set database puller thread as daemon
Build System
- Bump PowerAPI package version to 2.6.0
- Bump minimal Python version to 3.10
- deps: Bump codecov/codecov-action from 4.2.0 to 4.3.0
- deps: Bump python from
5dc6f84
to541d45d
- deps: Bump github/codeql-action from 3.24.9 to 3.24.10
- deps: Bump docker/setup-buildx-action from 3.2.0 to 3.3.0
- deps: Bump codecov/codecov-action from 4.1.1 to 4.2.0
- pylint: Enable pylint
unnecessary-dunder-call
check
Code Refactoring
- actor: Use PyZMQ methods to send/receive python objects
- cli: Clean parse config from json/env methods
- cli: Improve argument name cleaning code
- database/csv: Fix pylint
unnecessary-dunder-call
warning - dispatcher: Rework actor state code
- dispatcher: Rework report handler
- dispatcher: Improve formula ID extraction code
- puller: Fix pylint
unnecessary-dunder-call
warning - tests/utils/db: Fix pylint
unnecessary-dunder-call
warnings - utils: Remove unused
Tree
class - utils/cli: Clean code of find longest string method
- utils/cli: Clean code of merge dict function
Documentation
- Update publications list, Add related research projects
Features
- actor: Optimize message handler lookup
- database: Override the
disconnect
method in databases - database: Update overrides of
BaseDB
methods - database: Add
disconnect
method toBaseDB
- dispatcher: Optimize routing table lookup
- puller: Dynamically check if database is async
Tests
- unit/actor: Use
add_handler
method instead of overwriting the handlers attribute - unit/dispatcher: Update routing table method name
- unit/dispatcher: Fix
flake8
warnings in str methods - unit/dispatcher: Clean actor tests
- utils/db: Update
iter
method signature fromBaseDB
- utils/formula/dummy: Remove
sleep
before processing reports
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 1 year ago

PowerAPI - v2.5.0
v2.5.0 (2024-03-28)
Bug Fixes
- dispatcher: Fix pickle error on formula factory when using spawn method
- processor/k8s: Close socket interface of target actor when stopping
- processor/k8s: Fix pylint
logging-too-few-args
warning - processor/k8s: Fix reversed container name/id parameters
- processor/libvirt: Add missing Poison Pill message handler to actor
Build System
- Bump PowerAPI package version to 2.5.0
- chglog: Update header pattern to allow
/
character in scope - deps: Bump codecov/codecov-action from 4.1.0 to 4.1.1
- deps: Bump actions/setup-python from 5.0.0 to 5.1.0
- deps: Bump python from
36d57d7
to5dc6f84
- deps: Bump github/codeql-action from 3.24.8 to 3.24.9
- deps: Bump github/codeql-action from 3.24.7 to 3.24.8
Code Refactoring
- cli: Improve k8s pre-processor cli args help text
- cli: Remove unused timeout parameters for k8s pre-processor
- handler: Remove debug print in Poison Pill message handler
- processor: Clean
ProcessorActor
base class and state - processor: Use super() to get the parent class
- processor/k8s: Fix pylint warnings in monitor agent
- processor/k8s: Map
HWPCReport
to its corresponding handler - processor/k8s: Rework background metadata cache update agent
- processor/libvirt: Fix flake8 warnings in actor module
Features
- actor: Remove Poison Pill message in signal handler
- cli: Update default paramaters value in k8s pre-processor factory
- cli: Rename k8s pre-processor config arguments
- cli/generator: Remove monitor and update pre-processor factory
- processor/k8s: Wait for monitor agent to terminate before stopping actor
- processor/k8s: Use resource id of V1PodList instead of V1Pod items
- processor/k8s: Exit monitor process when receiving SIGINT/TERM
- processor/k8s: Shutdown
Manager
before shutting down actor - processor/k8s: More robust processing of container statuses
- processor/k8s: Fill metadata cache from k8s API at startup
- processor/k8s: Add method to clear metadata cache entries
- processor/k8s: Add cgroups path validation before setting metadata
- processor/k8s: Move monitor agent initialization in actor setup
- processor/k8s: Drop reports with unknown kubernetes target
- processor/k8s: Put the container metadata inside a
k8s
dict entry - processor/k8s: Rework actor and report handlers code
- processor/k8s: Add container metadata cache manager
Tests
- unit/cli: Remove monitor tests
- unit/cli: Fix CodeQL warnings about unused imports
- unit/dispatcher: Fix deadlocks in Dispatcher actor tests
- unit/processor: Remove unused fixtures
- unit/processor/k8s: Add processor actor unit tests
- unit/processor/k8s: Rename monitor agent tests file
- unit/processor/k8s: Add monitor unit tests
- unit/processor/k8s: Add
utils
module unit tests - unit/processor/k8s: Fix pylint
f-string-without-interpolation
warning - unit/processor/k8s: Rename actor tests file
- unit/processor/k8s: Add tests for metadata cache manager
- unit/processor/k8s: Fix pylint warnings about fixtures
- utils: Use Manager for the Actors mailbox Queue
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 1 year ago

PowerAPI - v2.4.0
v2.4.0 (2024-03-14)
Bug Fixes
- cli: Add missing
add_argument
method to RootConfigParsingManager
Build System
- Bump PowerAPI package version to 2.4.0
- deps: Bump codecov/codecov-action from 4.0.0 to 4.0.1
- deps: Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12
- deps: Bump docker/login-action from 3.0.0 to 3.1.0
- deps: Bump python from
5f02448
to36d57d7
- deps: Bump softprops/action-gh-release from 2.0.3 to 2.0.4
- deps: Bump github/codeql-action from 3.24.6 to 3.24.7
- deps: Bump softprops/action-gh-release from 2.0.2 to 2.0.3
- deps: Bump actions/checkout from 4.1.1 to 4.1.2
- deps: Bump python from
5c73034
to5f02448
- deps: Fix version number comment for softprops/action-gh-release
- deps: Bump softprops/action-gh-release from 1 to 2
- deps: Bump docker/build-push-action from 5.1.0 to 5.2.0
- deps: Bump codecov/codecov-action from 4.0.2 to 4.1.0
- deps: Bump docker/build-push-action from 5.2.0 to 5.3.0
- deps: Bump github/codeql-action from 3.24.1 to 3.24.2
- deps: Bump python from
eb53cb9
to56c0b10
- deps: Bump github/codeql-action from 3.24.0 to 3.24.1
- deps: Bump python from
56c0b10
to86cd499
- deps: Bump python from
a64ac5b
toeb53cb9
- deps: Bump docker/setup-buildx-action from 3.1.0 to 3.2.0
- deps: Bump python from
86cd499
to5c73034
- deps: Bump github/codeql-action from 3.24.2 to 3.24.3
- deps: Bump github/codeql-action from 3.24.3 to 3.24.4
- deps: Bump github/codeql-action from 3.24.5 to 3.24.6
- deps: Bump github/codeql-action from 3.24.4 to 3.24.5
- deps: Bump codecov/codecov-action from 4.0.1 to 4.0.2
- deps: Bump docker/setup-buildx-action from 3.0.0 to 3.1.0
- deps: Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14
- pylint: Add
info
messages to the global evaluation score - pylint: Disable broad-exception-caught check
- pylint: Use full name instead of identifier to disable messages
- pylint: Enable useless-suppression and suppressed-message checks
- pylint: Enable Pylint logging-not-lazy check
- pylint: Enable Pylint
arguments-renamed
check - pylint: Enable pylint
unspecified-encoding
check - pylint: Enable pylint
no-else-return
check - pylint: Enable pylint
no-else-raise
check - pylint: Enable pylint
protected-access
check - pylint: Enable pylint
empty-docstring
check - pylint: Enable pylint
consider-using-dict-items
check - pylint: Fix pylint
consider-using-dict-items
warning
Code Refactoring
- Remove all
simple
modules - actor: Fix pylint
no-else-return
warning - actor: Remove pylint pragma to disable c-extension-no-member check
- actor: Remove pylint pragma to disable broad-exception-caught check
- actor: Fix pylint
no-else-raise
warnings - actor: Fix Pylint logging-not-lazy warnings
- cli: Fix pylint
no-else-raise
warnings - cli: Fix CodeQL py/overwritten-inherited-attribute warnings
- cli: Fix CodeQL py/unreachable-statement warning
- cli: Fix pylint
empty-docstring
warnings - cli: Fix CodeQL py/file-not-closed warning
- cli: Fix Pylint logging-not-lazy warnings
- cli: Fix pylint
unspecified-encoding
warning - cli: Fix pylint
arguments-renamed
warnings - database: Fix pylint
unspecified-encoding
warnings - database: Fix pylint
no-else-raise
warnings - database: Fix CodeQL py/overwritten-inherited-attribute warnings
- dispatch_rule: Set DispatchRule fields attribute in super class
- puller: Fix pylint
no-else-return
warning - report: Fix pylint
no-else-raise
warning - report: Fix pylint
protected-access
warnings - utils: Fix pylint
protected-access
warnings - utils: Remove unused utils and their corresponding tests
- utils: Fix pylint
no-else-return
warning
Continuous Integration
- build: Add load flag to container image build
- build: Add container image build job
- build: Pin GitHub Actions version by commit-hash
- codeql: Add toplevel permission
- codeql: Pin GitHub Actions version by commit-hash
- release: Add release Pre-Checks job
- release: Add toplevel permission
- release: Pin GitHub Actions version by commit-hash
Documentation
- Remove unused readthedocs configuration file
- Add SECURITY.md
Features
- dispatch_rule: Add fields attribute to DispatchRule constructor
- report: Override eq method of all report types
Tests
- Remove broken integration/acceptation tests
- acceptation: Remove fixtures imports
- acceptation: Add init.py file in directories
- acceptation: Fix CodeQL py/unused-import warning
- actor: Fix CodeQL py/empty-except warning
- integration: Fix CodeQL py/unused-import warnings
- utils: Fix pylint
empty-docstring
warning - utils: Fix pylint
unspecified-encoding
warnings - utils: Remove pylint pragma to disable no-self-use check
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 1 year ago

PowerAPI - v2.3.0
v2.3.0 (2024-02-01)
Bug Fixes
- Correct group name for PostProcessorGenerator
Build System
- Bump PowerAPI package version to 2.3.0
- deps: Bump python from
facbb9a
toee9a59c
- deps: Bump docker/metadata-action from 5.4.0 to 5.5.0
- deps: Bump python from
db7e928
toa64ac5b
- deps: Bump codecov/codecov-action from 3.1.5 to 3.1.6
- deps: Bump codecov/codecov-action from 3.1.4 to 3.1.5
- deps: Bump python from
a1f70a0
todb7e928
- deps: Bump codecov/codecov-action from 3.1.6 to 4.0.0
- deps: Bump github/codeql-action from 2 to 3
- deps: Bump python from
ee9a59c
toa1f70a0
- deps: Bump python from
c805c5e
tofacbb9a
- deps: Bump docker/metadata-action from 5.5.0 to 5.5.1
- deps: Bump python from
226853d
toc805c5e
- deps: Bump python from
123229c
to226853d
- deps: Bump docker/metadata-action from 5.3.0 to 5.4.0
- pyproject: Remove unmaintained influxdb client dependency
Code Refactoring
- Remove influxdb 1.8 as source, its dependencies and tests
Continuous Integration
- release: Add Docker image build for arm64 target platform
- release: Use organization variable for Docker Hub username
Documentation
- Add FOSSA badge in README.md
Style
- Fix license header formatting of integration tests
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 1 year ago

PowerAPI - v2.2.0
v2.2.0 (2023-12-12)
Bug Fixes
- Stop started actor via a PoisonPillMessage once it is no longer used
- Remove default value definition in ConfigValidator. It is already done by CommonCLIParsingManager
- Correct bug related to arguments default values not added to configuration when those arguments are not defined
- Add kubernetes dependency
- Correct issue related to parametres names in K8s configuration
- Correct subparser k8s processor arguments types and names
Build System
- Update dockerignore file for src-layout support
- Bump PowerAPI package version to 2.2.0
- Define kuberntes as a group and Add it to all-platforms group
- Dockerfile: Pin Python slim base image tag to sha256 digest
- deps: Bump python from
edaf703
to43a49c9
- deps: Bump python from
7ad180f
to364ee1a
- deps: Bump docker/metadata-action from 5.2.0 to 5.3.0
- deps: Bump docker/metadata-action from 5.1.0 to 5.2.0
- deps: Bump docker/metadata-action from 5.0.0 to 5.1.0
- deps: Bump python from
32477c7
toeb6d320
- deps: Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11
- deps: Bump actions/setup-python from 4 to 5
- deps: Bump python from
9bd704d
to54382be
- deps: Bump docker/build-push-action from 5.0.0 to 5.1.0
- deps: Bump python from
19a6235
to123229c
- deps: Bump python from
d79a388
to80571b6
- deps: Bump python from
babc0d4
tod79a388
- deps: Bump python from
fde1011
tobabc0d4
- deps: Bump python from
c145aa0
tofde1011
- deps: Bump python from
43a49c9
toc145aa0
- deps: Bump docker/login-action from 2.2.0 to 3.0.0
- deps: Bump python from
54382be
toedaf703
- deps: Bump python from
80571b6
to32477c7
- deps: Bump python from
eb6d320
to19a6235
- deps: Bump python from
0593057
to9bd704d
- deps: Bump docker/build-push-action from 4.2.1 to 5.0.0
- deps: Bump docker/setup-buildx-action from 2.10.0 to 3.0.0
- deps: Bump docker/build-push-action from 4.2.0 to 4.2.1
- deps: Bump docker/build-push-action from 4.1.1 to 4.2.0
- deps: Bump docker/metadata-action from 4.6.0 to 5.0.0
- deps: Bump python from
c499230
to0593057
- deps: Bump actions/checkout from 3 to 4
- deps: Bump python from
17d62d6
toc499230
- deps: Bump docker/setup-buildx-action from 2.9.1 to 2.10.0
- deps: Bump python from
325f5b0
to17d62d6
- deps: Bump python from
58ae46e
to325f5b0
- deps: Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10
- deps: Bump python from
36b544b
to58ae46e
- deps: Bump python from
6d79a6c
to36b544b
- deps: Bump python from
364ee1a
to6d79a6c
- pyproject: Fix
all-platforms
dependencies alias - pyproject: Add Python 3.12 in classifiers
Code Refactoring
- Make K8sPreprocessorActor generic regarding type of managed reports
- Switch project to src-layout
- Clean code
- Rename variable name to avoid default string
- Add 127.0.0.1 as default uri value for PrometheusDB
- Adapt Pusher ReportHandler to ignore report saving when report has not the required metadata to be used as label
- Adapt K8sPreProcessor to add empty metadata values if information related to K8s is not found for the Report
- Adapt PrometheusDB to use all metadata keys of the first received report as labels if no tags are indicated in configuration
- Clean code
- Adapt PrometheusDB for provising a unique and simple implementation as well as tests
- Remove unncessary code
- Improve code quality
- Improve code quality
- Improve code quality
- Remove unnecessary code
- Remove some libvirt tests
- Skip some libvirt tests
- Skip some libvirt tests and remove some of them
- Remove Report Modifiers fonctionality. They are replaced by pre-processors
- Remove unnecessary code
- Add support to BackendSupervisor to consider pre-processors when killing actors in postmorten mode
- Improve logger manangement in processors
- Readd BindingManager as it is required to create binding between processors and pullers/pushers and its related tests, Improve K8sMonitorAgent exception management
- Use multiprocessing.Manager for dealing with Metadata Cache updates in K8sPreProcessorActor, Adapt tests, Remove unnecessary code
- Correct problem related to variable initialisation on K8sMonitorAgentActor, Correct typos, Clean code
- Remove useless code
- Remove useless code
- Separate pre-processors from post-processors, adapt processors parsing for including bindings to pullers/pushers, remove bindings as first class entities
- Add new exceptions type for BindingManger
- Move UnknownMessageTypeException to exception.py
- Clean code
Continuous Integration
- Update codebase paths in workflows for the src-layout
- dependabot: Make dependabot check pip and docker versions daily
- release: Disable generation of provenance attestation for container image
- release: Remove container image signature
- release: Skip cosign prompt when signing container image
Documentation
- Update BackendSupervisor documentation
Features
- Add api_key and host as paremeters of K8sPreProcessorActor for manual K8s api configuration
- Add validation for processors and bindings as well ass related tests
- Add monitors generation from a dictionary of processors
- Add parsers for bindings and processors
- Add K8sMonitorActor and K8sProcessorActor
- Add ProcessorActor an LibvirtProcessorActor based on LibvirtMapper. Add binding manager for this kind of actor
Style
- Update some debug messages
Tests
- Add test case for PrometheusDB regarding labels
- Add test for monitors generation from a processors dictionary
- Add test for binding regarding K8s Processors, add Monitor Generator and related tests
- Add some test on generator regarding K8s Processors
Consumption - Computation and Communication
- Python
Published by github-actions[bot] over 1 year ago

PowerAPI - v2.1.0
v2.1.0 (2023-07-18)
Bug Fixes
- Correct bug related to flags arguments. Their default type was always str
- Correct bug related to usage of - in arguments names and parsing of environment variables. Now, by default, composed arguments names are separated by -
- Correct bug related to required default value of name attribute in a configuration
- Correct bug related to actors killed by the supervisor
Build System
- Dockerfile: Switch to "slim" python base image
- deps: Bump docker/setup-buildx-action from 2.9.0 to 2.9.1
- deps: Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8
- deps: Bump docker/setup-buildx-action from 2.8.0 to 2.9.0
- deps: Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7
Code Refactoring
- Remove useless constants
- Correct flake8 indentation issue
- Simplify some add methods names in managers and parsers
- Remove useless import
- Change management of prefixes and arguments names list to SubgroupParserGroup and Parsers. Configuration definitions via environment variables only support long names for arguments. Adaptation of tests and CommonCLIParsingManager according to these changes
Continuous Integration
- build: Remove top-level permissions key
- release: Sign container image with cosign
- release: Use Docker buildx for container image builds
Features
- Add for configuration through environment variables. The three methods can be combined and the priority is as follows: 1. CLI, 2. Environment Variables, 3. Configuration File. The configuration via environment variables can only be used with arguments long names
Consumption - Computation and Communication
- Python
Published by github-actions[bot] almost 2 years ago

PowerAPI - v2.0.4
v2.0.4 (2023-06-14)
Bug Fixes
- Correct file is not always closed issue
- Correct problem related to import in database modul, Correct bug regarding influxdb2 configuration
Build System
- Bump PowerAPI package version to 2.0.4
- deps: Bump docker/metadata-action from 4.5.0 to 4.6.0
- deps: Bump docker/build-push-action from 4.1.0 to 4.1.1
- deps: Bump docker/build-push-action from 4.0.0 to 4.1.0
- deps: Bump docker/login-action from 2.1.0 to 2.2.0
- deps: Bump docker/metadata-action from 4.4.0 to 4.5.0
- deps: Bump codecov/codecov-action from 3.1.3 to 3.1.4
- deps: Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6
Code Refactoring
- Remove unnecessary png files
- Improve unit tests for generator.py, rename some variables and classes in generator.py, move exceptions from generator.py to exception.py
- Improvide ConfigValidator tests, Correct bugs accoring to tests
- Correct flake8 and pylint issues, Correct function to cast argument values regarding bool type, Correct some function calls on common cli parsing manager tests
- Add function to convert string into bool
- Adapt parsing of dictionnaries to always using arguments long names
- Improve function and variables names
- Improve tests for configuration managers. Add configutation files for testing
- Solve flake8 and pylint issues
- Rename tests related to config parsers, improve tests related to config parsers
- Rrename variables names, remove useless default_values attribute, add method to get arguments default values, adapt code for dealing with repeated arguments
- Add new exception regarding argument length
- Rename some variables and exceptions, add exception to deal witn incompatible arguments values, change config_validator to use exceptions instead of booleans
- Correct pylint issues
- Correct flake8 issues
- Rename tests scripts, adapt tests to CLI refactoring, remove unnecessary code, rename some classes and functions, correct issue related to validate function in RootConfigParsingManager regarding groups validation
- Factorize code, remove unnecessary code, rename parser.py to config_parser.py, rename config_parser.py to parsing_manager, rename tools.py to common_cli_parsing_manager.py
- Remove unnecessary code
Continuous Integration
- Make Dependabot check GitHub actions versions daily
Tests
- Add some tests for BaseConfigParser. Fix some bugs according to tests result
Consumption - Computation and Communication
- Python
Published by github-actions[bot] almost 2 years ago

PowerAPI - v2.0.3
v2.0.3 (2023-04-25)
Build System
- Bump PowerAPI package version to 2.0.3
- deps: Bump codecov/codecov-action from 3.1.2 to 3.1.3
- deps: Bump docker/metadata-action from 4.3.0 to 4.4.0
- deps: Bump codecov/codecov-action from 3.1.1 to 3.1.2
- deps: Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
- deps: Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4
Code Refactoring
- Move DummyFormulaActor to utils, remove useless actors from tests.utils, clean code
- Enable configuration of log in simple_puller_actor and simple_pusher_actor, enable sharing of alive attribute from simple_pusher_actor state with parent process, adapt test from simple_puller_actor, clean code
- actor: Remove the forced timeout of the receive_control method
- puller: Use the actor timeout value for the receive_control method
- report: Rework Formula report code
Continuous Integration
- Switch to Trusted Publishing (OIDC auth) for pypa/gh-action-pypi-publish
- Enable informational mode for codecov/patch status
- Use print-hash parameter for pypa/gh-action-pypi-publish
Documentation
- Improve and update of contributions documentation.
Features
- cli: Add Formula report support for database actor generator
Tests
- Rework puller actor tests
- unit: Add Formula report unit tests
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 2 years ago

PowerAPI - v2.0.2
v2.0.2 (2023-03-31)
Bug Fixes
- Correct csv usage as input (puller)
- Improve tests for Report according to changes of json representation.
- Correct usage of dispatcher_report_id. This attribute has also to be ignored in the json representation
- Correct json representation for Reports. The sensor_sender attribute is never considered as it is always null. The dispatcher_report_id attribute is verified and ignored if it is null. refactor: Improve tests
Build System
- Bump PowerAPI package version to 2.0.2
- deps: Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.3
Code Refactoring
- Remove useless import from configtest.py file
- Move fixtures to configtest.py for Unit Tests and some Acceptation and Integration Tests. Remove useless fixtures imports in tests. docs: Add licence information in init file
- Remove unused device_id paramete
Continuous Integration
- Update secrets of docker/login-action for release workflow
- Add dependabot configuration file
- Bump version of actions/setup-python to v4
- Fix wrong version hash for docker/metadata-action
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 2 years ago

PowerAPI - v2.0.1
v2.0.1 (2023-03-23)
Bug Fixes
- Events values of groups for HWPCReport
- Files parameter is now mandatory for CSV database
Build System
- Bump PowerAPI package version to 2.0.1
- Use everything alias instead of specific packages in Dockerfile
- Groups extra dependencies under convenience aliases in pyproject.toml
- Update PowerAPI website url in pyproject.toml
- Add optional dependencies group for lint tools in pyproject.toml
- Bump minimal required PyZMQ version to 18.1.0
- Remove unused NumPy dependency
- Update Pylint configuration to fix warning about overgeneral-exceptions
- Update Dockerfile to use pyproject.toml
- Migrate from setup.(py|cfg) to pyproject.toml
- Add workflow for CodeQL analysis
- Remove debian post-install script
Code Refactoring
- Remove rapl formula, move tests_utils to tests modul, clean code
- Remove metadata usage in HWPCReport string method
- Remove SafeContext from SocketInterface
- Fix Pylint no-self-use error in cli/generator
- Remove NumPy usage in StatBuffer
- Disable Pylint broad-exception-caught check for Actor errors
- Fix Pylint unsubscriptable-object error in libvirt acceptation tests
- Fix Pylint broad-exception-caught errors in acceptation tests
- Fix Pylint inconsistent-return-statements error in powerapi/utils
Continuous Integration
- Add tar flag to not keep owner of git-chglog binary
- Add follow redirect flag to curl for git-chglog release download
- Add PYTHONPATH environment variable for package version check
- Use devel alias instead of specific packages in build workflow
- Update release workflow to publish container images to ghcr.io
- Move git-chglog configuration files into .github directory
- Set more restrictive token permissions for release workflow
- Add upload of coverage reports to Codecov in build workflow
- Add git-chglog configuration files
- Rework release workflow
- Rework build/test workflow
Miscellaneous Chores
- Update references and links in README
Style
- Correct flake8 error
- Correct pylint errors
- Adapt indentation to respect flake8 rules
- Fix license header formatting
- Remove blank lines in unit/acceptation tests to fix flake8 errors
Tests
- Solve issue related to event value that always must be integers
- Adapt HWPCReport tests for CSV imput
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 2 years ago

PowerAPI - v2.0.0
2.0.0 (2023-02-22)
Bug Fixes
-
adapt and correct pusher integration tests and pusher source code (5af61b5)
-
adapt dispatcher integration tests (5e357cd)
-
adapting crash tests (75d5b6f)
-
add join for actors in unit tests (809e7c5)
-
add missing fixture dependencies (043e352)
-
add missing setproctitle dependency (412e323)
-
change python verion from 3.7 to 3.8 (696b5d5)
-
change python verion from 3.7 to 3.8 (62831bc)
-
cleaning clode (cf16aaf)
-
cleaning clode (7622a1f)
-
cleaning clode (57c2e87)
-
cleaning clode (e29ed49)
-
cleaning clode (c87959d)
-
cleaning clode (2cd343a)
-
correct acceptation tests (3ee1688)
-
correct generator bug (5c7d06c)
-
correct issue related to pusher actor name (13c34c0)
-
correct log configuration of puller and pusher actors (187ec48)
-
correct tests issues (7b370b5)
-
correct unit tests (8f17970)
-
correcting help typos (6a41fab)
-
correction of CLI tests and generator code (8d4550b)
-
correction of crash medium error acceptation tests (b1b0869)
-
correction of dispatcher tests (2068667)
-
correction of pusher integration tests (e1b29c2)
-
correction of simple architecture libvirt mapper acceptation tests (7ecc843)
-
correction of simple architecture tests (1b956ab)
-
correction of stop architecture acceptation tests (6aca3c0)
-
solve issues related to flake8 (b054652)
-
solve pylint issues (6e94329)
-
solve pylint issues (76c8396)
-
update pytest version (0fc1930)
-
refactor!: combining versions 1.1.0 and 0.10.0 (27b93e8)
Features
- add main for using rapl formula (12d2e43)
- add RAPL formula to core (5b636d1)
- adding debug messages (75ae8a4)
- adding debug messages (7dbc950)
- adding SimpleDispatcherActor (2b034e0)
BREAKING CHANGES
- TheSpian library is no longer used
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 2 years ago

PowerAPI - v1.1.0
1.1.0 (2022-08-08)
Features
Adding support for changing ActorSystem
implementation ( [73a5adf865425f2245cd8fb5ce78e4dc98f4fe8e]) . The following tag has to be indicated in the formula's configuration file:
"actor_system": "<implementation>"
Via le command line via --as <implementation>
or --actor_system <implementation>
.
Possible values of <implementation>
are: multiprocQueueBase
, multiprocTCPBase
or simpleSystemBase
(default). The value for Convention Address.IPv4
is 127.0.0.1:1900
when multiprocTCPBase
is selected.
Consumption - Computation and Communication
- Python
Published by github-actions[bot] over 2 years ago

PowerAPI - v1.0.9
1.0.9 (2022-07-25)
Features
- add influxdb 2 support as an output ( [dc0e2a69c678c1ce99d0b9033e385e9b374c275b])
Here is an exemple in order to use it via the configuration file:
"output": {
"pusher_power": {
"type": "influxdb2",
"model": "PowerReport",
"uri": "http://127.0.0.1",
"port": 8086,
"db": "influxdb2-test",
"org": "org_test",
"token": "mytoken"
}
}
And in the command line:
--output influxdb2 --model PowerReport -u http://127.0.0.1:8086 -g org_test -k 'mytoken' -d test_db
- allow other kind of actor ([2495c82facdd9ff92c8b6e7f382481b3053d77fd])
Consumption - Computation and Communication
- Python
Published by github-actions[bot] almost 3 years ago

PowerAPI - v1.0.7
1.0.7 (2022-01-27)
#Features
- add filedb support as an output ( [c6c31d8d4f4bfc663c6ec965093cc53939a2211e] [f1c047f55ce17d515f1ed6755b7b6ff59f4b3fe6] [b9d60b983b93e7ce7100be718316bf4018070d7c])
Fixes
#129
Consumption - Computation and Communication
- Python
Published by github-actions[bot] about 3 years ago

PowerAPI - v1.0.2
1.0.2 (2021-10-29)
##Feature
- move generator to cli/generator.py ([ade942e])(https://github.com/powerapi-ng/powerapi/commit/ade942e3d839f6877d78de0d56726b16cd463fbd)
- Unified CLI and File configuration, use ConfigParser now.
- add CsvLines type (9a6e264)
Consumption - Computation and Communication
- Python
Published by github-actions[bot] over 3 years ago

PowerAPI - v1.0.1
1.0.1 (2021-09-29)
Bug Fixes
Features
- add configuration with config file (26771f6)
- add procfs report and fileDB (d09fb2a)
- add report_modifier (c3d6dd5)
- add supervision (0d555c8)
- add sync (8587b9f)
- better error messages (fb7856d)
- better log (e9c6ac1)
- modify hwpc.py (840e5cd)
- PowerReport don't have socket and core attribute anymore (15f910a)
- typed startmessage (547a42e)
Consumption - Computation and Communication
- Python
Published by github-actions[bot] over 3 years ago

PowerAPI - 1.0.0
1.0.0 (2021-09-28)
Bug Fixes
- config circleci (bff348c)
- dependencies in setup.cfg (801fcc4)
- fix ci (9b291ac)
- fix ci (c8bb71c)
- fix dependencies in setup.cfg (8b1877f)
- lint code (d2039b2)
Features
- add configuration with config file (26771f6)
- Add procfs report and fileDB (d09fb2a)
- add report_modifier (c3d6dd5)
- add supervision (0d555c8)
- Add sync (8587b9f)
- better error messages (fb7856d)
- better log (e9c6ac1)
- modify hwpc.py (840e5cd)
- PowerReport don't have socket and core attribute anymore (15f910a)
- typed startmessage (547a42e)
Consumption - Computation and Communication
- Python
Published by github-actions[bot] over 3 years ago

PowerAPI - v0.9.5
Version 0.9.5 :
- PowerAPI can expose power consumption data in order to be scraped by prometheus
- PowerAPI can receive input PowerReport
- PowerAPI can map report target with the correct open stack UUID when target is a virtual machine cgroup
Consumption - Computation and Communication
- Python
Published by altor almost 4 years ago

PowerAPI - v0.6.11
version 0.6.11:
- refactor tests
- fix: csv reading do not merge targets
- fix: in stream mode formula is not killed before handled all reports (close #100 )
- fix: start puller without filter rule make it answer with an error message
Consumption - Computation and Communication
- Python
Published by altor about 5 years ago

PowerAPI - v0.6.3
Release version 0.6.3 :
- Remove following feature : "When input/output databases are the same, one could use a single option to set both input/ouput with the same values."
- add actors name in generated config parsed from CLI
Consumption - Computation and Communication
- Python
Published by altor almost 6 years ago
