Test suite for energy consumption
Project description
[![Build Status](https://travis-ci.org/TQRG/physalia.svg?branch=master)](https://travis-ci.org/TQRG/physalia)
[![PyPI version](https://badge.fury.io/py/physalia.svg)](https://badge.fury.io/py/physalia)
[![PyPI downloads](https://img.shields.io/pypi/d/physalia.svg)](https://pypi.python.org/pypi/physalia)
[![PyPI status](https://img.shields.io/pypi/status/physalia.svg)](https://pypi.python.org/pypi/physalia)
[![Code Health](https://landscape.io/github/TQRG/physalia/master/landscape.svg?style=flat)](https://landscape.io/github/TQRG/physalia/master)
# Physalia
Energy measurement framework for Mobile Apps.
More info and documentation in the [website](https://tqrg.github.io/physalia/).
## Install
```
$ pip install https://github.com/luiscruz/PyMonsoon
$ pip install physalia
```
## Example
The simplest way to measure something:
```
from physalia.power_meters import MonsoonPowerMeter
from time import sleep
# change voltage and serial number accordingly:
power_meter = MonsoonPowerMeter(voltage=3.8, serial=12886)
power_meter.start()
sleep(2) # some work
energy_consumption, duration, error_flag = power_meter.stop()
```
Several things need to be done to make sure we can measure energy consumption in Android devices (e.g., setup WiFi control and disable USB).
Physalia takes care of that already:
````
from physalia.power_meters import MonsoonPowerMeter
from physalia.energy_profiler import AndroidUseCase
from time import sleep
# change voltage and serial number accordingly:
power_meter = MonsoonPowerMeter(voltage=3.8, serial=12886)
def run(usecase):
sleep(2) # some work
use_case = AndroidUseCase(
'login',
'path/to/apk',
'com.test.app',
'0.0',
prepare=None,
run=run,
cleanup=None
)
measurement = use_case.run(power_meter=power_meter)
print(measurement)
````
## Contributing
Please help us improve this library!
If you have ideas for new features or anything behaves unexpectedly please report an issue.
If you find an issue you can actually help fixing please make a pull request of your code.
### Running tests
To run all tests and checks locally run:
`$ detox -e py27,py36`
[![PyPI version](https://badge.fury.io/py/physalia.svg)](https://badge.fury.io/py/physalia)
[![PyPI downloads](https://img.shields.io/pypi/d/physalia.svg)](https://pypi.python.org/pypi/physalia)
[![PyPI status](https://img.shields.io/pypi/status/physalia.svg)](https://pypi.python.org/pypi/physalia)
[![Code Health](https://landscape.io/github/TQRG/physalia/master/landscape.svg?style=flat)](https://landscape.io/github/TQRG/physalia/master)
# Physalia
Energy measurement framework for Mobile Apps.
More info and documentation in the [website](https://tqrg.github.io/physalia/).
## Install
```
$ pip install https://github.com/luiscruz/PyMonsoon
$ pip install physalia
```
## Example
The simplest way to measure something:
```
from physalia.power_meters import MonsoonPowerMeter
from time import sleep
# change voltage and serial number accordingly:
power_meter = MonsoonPowerMeter(voltage=3.8, serial=12886)
power_meter.start()
sleep(2) # some work
energy_consumption, duration, error_flag = power_meter.stop()
```
Several things need to be done to make sure we can measure energy consumption in Android devices (e.g., setup WiFi control and disable USB).
Physalia takes care of that already:
````
from physalia.power_meters import MonsoonPowerMeter
from physalia.energy_profiler import AndroidUseCase
from time import sleep
# change voltage and serial number accordingly:
power_meter = MonsoonPowerMeter(voltage=3.8, serial=12886)
def run(usecase):
sleep(2) # some work
use_case = AndroidUseCase(
'login',
'path/to/apk',
'com.test.app',
'0.0',
prepare=None,
run=run,
cleanup=None
)
measurement = use_case.run(power_meter=power_meter)
print(measurement)
````
## Contributing
Please help us improve this library!
If you have ideas for new features or anything behaves unexpectedly please report an issue.
If you find an issue you can actually help fixing please make a pull request of your code.
### Running tests
To run all tests and checks locally run:
`$ detox -e py27,py36`
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
physalia-0.0.1.dev122.tar.gz
(7.3 MB
view details)
File details
Details for the file physalia-0.0.1.dev122.tar.gz
.
File metadata
- Download URL: physalia-0.0.1.dev122.tar.gz
- Upload date:
- Size: 7.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.9.1 setuptools/1.1.6 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.10 Darwin/15.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bad7ba0a4e623938c097e14917dc23918e95257a85a9e725f81d1276863fa5d |
|
MD5 | a6e6e3524ce20dfa9f69df7d98dc460f |
|
BLAKE2b-256 | f4b6673abab6f49cf1b68bf7dfdc9f9b9c66450384d368f3cf597c6a125d8762 |