![](https://github.com/geddy11/sysloss/raw/main/docs/sysloss.svg)
<p style="text-align: center;">
<a href="https://github.com/geddy11/sysloss/actions"><img alt="Actions Status" src="https://github.com/geddy11/sysloss/actions/workflows/ci-cd.yml/badge.svg"></a>
<a href="https://codecov.io/github/geddy11/sysloss"><img alt="Code coverage" src="https://codecov.io/github/geddy11/sysloss/graph/badge.svg?token=9L1ZMN0UET"/></a>
<a href="https://app.codacy.com/gh/geddy11/sysloss/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy" src="https://app.codacy.com/project/badge/Grade/37b586ca428240418f0364c15472134b"/></a>
<a href="https://pypi.org/project/sysloss/"><img alt="PyPI" src="https://img.shields.io/pypi/v/sysloss"></a>
<a href="https://anaconda.org/conda-forge/sysloss"><img alt="Conda" src="https://anaconda.org/conda-forge/sysloss/badges/version.svg"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://www.conventionalcommits.org"><img alt="Conv. commits" src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white"></a>
<a href="https://doi.org/10.5281/zenodo.11086060"><img alt="Zenodo DOI" src="https://zenodo.org/badge/DOI/10.5281/zenodo.11086060.svg" alt="DOI"></a>
</p>
# 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
```bash
$ pip install sysloss
```
or
```bash
$ conda install conda-forge::sysloss
```
## Usage
Analyze the power tree of a simple battery-powered bluetooth sensor:
```python
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
```
```python
df = bts.solve()
print(df)
```
![result](https://github.com/geddy11/sysloss/raw/main/docs/bts.png)
Create graphical power tree diagrams:
```python
import sysloss.diagram as sd
sd.make_diag(bts, fname="bts.png")
```
![tree](https://github.com/geddy11/sysloss/raw/main/docs/bts-tree.png)
## Documentation
The [documentation](https://sysloss.readthedocs.io/en/latest/Getting%20started.html) 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/geddy11/sysloss",
"name": "sysloss",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "system, power, tree, loss, efficiency, energy, board, component, battery",
"author": "Geir Drange",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/fa/cd/4ba8056248ae9fff7bfb5c91d677aa1c90acfa49d24e701ceb9c706aebdd/sysloss-1.8.0.tar.gz",
"platform": null,
"description": "\n![](https://github.com/geddy11/sysloss/raw/main/docs/sysloss.svg)\n\n<p style=\"text-align: center;\">\n<a href=\"https://github.com/geddy11/sysloss/actions\"><img alt=\"Actions Status\" src=\"https://github.com/geddy11/sysloss/actions/workflows/ci-cd.yml/badge.svg\"></a>\n<a href=\"https://codecov.io/github/geddy11/sysloss\"><img alt=\"Code coverage\" src=\"https://codecov.io/github/geddy11/sysloss/graph/badge.svg?token=9L1ZMN0UET\"/></a>\n<a href=\"https://app.codacy.com/gh/geddy11/sysloss/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade\"><img alt=\"Codacy\" src=\"https://app.codacy.com/project/badge/Grade/37b586ca428240418f0364c15472134b\"/></a>\n<a href=\"https://pypi.org/project/sysloss/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/sysloss\"></a>\n<a href=\"https://anaconda.org/conda-forge/sysloss\"><img alt=\"Conda\" src=\"https://anaconda.org/conda-forge/sysloss/badges/version.svg\"></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n<a href=\"https://www.conventionalcommits.org\"><img alt=\"Conv. commits\" src=\"https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white\"></a>\n<a href=\"https://doi.org/10.5281/zenodo.11086060\"><img alt=\"Zenodo DOI\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.11086060.svg\" alt=\"DOI\"></a>\n</p>\n\n# sysLoss\nsysLoss 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. \n\n## Installation\n```bash\n$ pip install sysloss\n```\nor\n```bash\n$ conda install conda-forge::sysloss\n```\n\n## Usage\nAnalyze the power tree of a simple battery-powered bluetooth sensor:\n```python\nfrom sysloss.components import *\nfrom sysloss.system import System\n\nbts = System(\"Bluetooth sensor\", Source(\"CR2032\", vo=3.0, rs=10))\nbts.add_comp(\"CR2032\", comp=Converter(\"Buck 1.8V\", vo=1.8, eff=0.87))\nbts.add_comp(\"Buck 1.8V\", comp=PLoad(\"MCU\", pwr=13e-3))\nbts.add_comp(\"CR2032\", comp=Converter(\"Boost 5V\", vo=5.0, eff=0.82))\nbts.add_comp(\"Boost 5V\", comp=RLoss(\"RC filter\", rs=6.8))\nbts.add_comp(\"RC filter\", comp=ILoad(\"Sensor\", ii=6e-3))\nbts.tree()\n```\n```\nBluetooth sensor\n\u2514\u2500\u2500 CR2032\n \u251c\u2500\u2500 Boost 5V\n \u2502 \u2514\u2500\u2500 RC filter\n \u2502 \u2514\u2500\u2500 Sensor\n \u2514\u2500\u2500 Buck 1.8V\n \u2514\u2500\u2500 MCU\n```\n```python\ndf = bts.solve()\nprint(df)\n```\n![result](https://github.com/geddy11/sysloss/raw/main/docs/bts.png)\n\nCreate graphical power tree diagrams:\n```python\nimport sysloss.diagram as sd\n\nsd.make_diag(bts, fname=\"bts.png\")\n```\n![tree](https://github.com/geddy11/sysloss/raw/main/docs/bts-tree.png)\n\n## Documentation\nThe [documentation](https://sysloss.readthedocs.io/en/latest/Getting%20started.html) includes tutorials in the form of Jupyter notebooks, located in docs/nb.\n\n## Contributing\n\nInterested 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.\n\n## License\n\n`sysloss` was created by Geir Drange. It is licensed under the terms of the MIT license.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Power tree analysis of circuits, boards and systems.",
"version": "1.8.0",
"project_urls": {
"Documentation": "https://sysloss.readthedocs.io/en/latest/Getting%20started.html#",
"Homepage": "https://github.com/geddy11/sysloss",
"Repository": "https://github.com/geddy11/sysloss"
},
"split_keywords": [
"system",
" power",
" tree",
" loss",
" efficiency",
" energy",
" board",
" component",
" battery"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "749ae048bcb1fbc17cc367bb78eec9814aec225468f7b9b8cae001cad5908cc4",
"md5": "f17c24495c7c584c679c15f1d4ee5c36",
"sha256": "f2f951195d5a6977c0864440538d49ff470a8be58a7bc31fcb697a54b1b39e60"
},
"downloads": -1,
"filename": "sysloss-1.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f17c24495c7c584c679c15f1d4ee5c36",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 30832,
"upload_time": "2024-12-21T17:10:59",
"upload_time_iso_8601": "2024-12-21T17:10:59.033812Z",
"url": "https://files.pythonhosted.org/packages/74/9a/e048bcb1fbc17cc367bb78eec9814aec225468f7b9b8cae001cad5908cc4/sysloss-1.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "facd4ba8056248ae9fff7bfb5c91d677aa1c90acfa49d24e701ceb9c706aebdd",
"md5": "8298880f895fcdd58f3a6f6bc7505bc0",
"sha256": "8a6db8b75b8656f0128667f328b8db59c8eab798a107d3b2abe6cdc69fe30ed1"
},
"downloads": -1,
"filename": "sysloss-1.8.0.tar.gz",
"has_sig": false,
"md5_digest": "8298880f895fcdd58f3a6f6bc7505bc0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 30240,
"upload_time": "2024-12-21T17:11:01",
"upload_time_iso_8601": "2024-12-21T17:11:01.244871Z",
"url": "https://files.pythonhosted.org/packages/fa/cd/4ba8056248ae9fff7bfb5c91d677aa1c90acfa49d24e701ceb9c706aebdd/sysloss-1.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-21 17:11:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "geddy11",
"github_project": "sysloss",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sysloss"
}