Skip to main content

Power tree analysis of circuits, boards and systems.

Project description

Actions Status Code coverage Codacy PyPI Conda Code style: black Conv. commits Zenodo DOI

sysLoss

sysLoss is a tool for analyzing power trees, system power and losses. From the smallest IoT sensor to large industrial installations. The tool is efficient and easy to use, the analysis result provides a detailed report on voltages, currents, power and efficiency for every component defined in the system. Output format is Pandas DataFrame: Create charts, plots and export to Excel and other formats.

Installation

$ pip install sysloss

or

$ conda install conda-forge::sysloss

Usage

Analyze the power tree of a simple battery-powered bluetooth sensor:

from sysloss.components import *
from sysloss.system import System

bts = System("Bluetooth sensor", Source("CR2032", vo=3.0, rs=10))
bts.add_comp("CR2032", comp=Converter("Buck 1.8V", vo=1.8, eff=0.87))
bts.add_comp("Buck 1.8V", comp=PLoad("MCU", pwr=13e-3))
bts.add_comp("CR2032", comp=Converter("Boost 5V", vo=5.0, eff=0.82))
bts.add_comp("Boost 5V", comp=RLoss("RC filter", rs=6.8))
bts.add_comp("RC filter", comp=ILoad("Sensor", ii=6e-3))
bts.tree()
Bluetooth sensor
└── CR2032
    ├── Boost 5V
    │   └── RC filter
    │       └── Sensor
    └── Buck 1.8V
        └── MCU
df = bts.solve()
print(df)

result

Create graphical power tree diagrams:

import sysloss.diagram as sd

sd.make_diag(bts, fname="bts.png")

tree

Documentation

The documentation includes tutorials in the form of Jupyter notebooks, located in docs/nb.

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

sysloss was created by Geir Drange. It is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sysloss-1.8.1.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sysloss-1.8.1-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file sysloss-1.8.1.tar.gz.

File metadata

  • Download URL: sysloss-1.8.1.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for sysloss-1.8.1.tar.gz
Algorithm Hash digest
SHA256 9ad59d115d2e82285b321916753a7ed3326b62487c23c63fd88970c8329a95df
MD5 6a8b8732a9711e13132239626d6f1367
BLAKE2b-256 ba36f578ebf91acdaa6c01dd836ba335bf0f6f864af66c0442ae2b312555bbb1

See more details on using hashes here.

File details

Details for the file sysloss-1.8.1-py3-none-any.whl.

File metadata

  • Download URL: sysloss-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 30.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for sysloss-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 926d2fc3d1fb5bdf30bc3e7b369b7291fba42477f077570d884962e9c716f78e
MD5 be9eae71604f65f0cca2aac670df5d5c
BLAKE2b-256 00b52f2746ac9da8fc7419391a668c733df132e3187e9a3023e8bcdf5f1c794c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page