pfb-toolkit


Namepfb-toolkit JSON
Version 0.1.11 PyPI version JSON
download
home_pagehttps://github.com/baeda-polito/portable-app-framework
SummaryPortable Framework for Building Applications - PFB-Toolkit
upload_time2024-07-02 14:01:24
maintainerRobertoChiosa
docs_urlNone
authorRobertoChiosa
requires_python<4.0,>=3.11
licenseMIT
keywords energy data analysis pandas
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Portable Framework for Building Applications - PFB-Toolkit

[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-BAEDALAB-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) [![License - BSD 3-Clause](https://img.shields.io/pypi/l/afdd.svg)](https://github.com/RobertoChiosa/afdd/blob/main/LICENSE)

## What is it?

**portable-app-framework** is a Python package that provides a toolkit to create portable applications.

## Table of Contents

- [Main Features](#main-features)
    - [Command Line Interface (CLI)](#command-line-interface-cli)
    - [Application class](#application-class)
- [Installation](#installation)
    - [From source](#from-source)
    - [From test PyPI](#from-test-pypi)
    - [From PyPI](#from-pypi)
- [Contributing](#contributing)
- [License](#license)

## Main Features

Here are just a few of the things that `portable-app-framework` does.

### Command Line Interface (CLI)

You can use the CLI to to create, manage and update applications

```
> portable-app-framework -h

usage: portable-app-framework [-h] {new,update} ...

Utils CLI for the afdd framework.

positional arguments:
  {new,update}
    new         Create a new application folder from template.
    update      Update README of an application.

options:
  -h, --help    show this help message and exit

```

### Application class

A python class that helps to create a portable application. Once you created a new application in your project you can
set up and run an application with the following lines of code

```python
import pandas as pd
import brickschema
from portable_app_framework import Application

app = Application(
    metadata=brickschema.Graph(),
    app_name='app_name'
)
qualify_result = app.qualify()  # True/False
fetch_result = app.fetch()  # Dict of mapped variables
df = pd.DataFrame()  # get df according to your logic 
df_preprocess = app.preprocess(df)
final_result = app.analyze(df_preprocess)
```

## Installation

The source code is currently hosted on GitHub at
https://github.com/RobertoChiosa/portable-app-framework and the list of changes for each release can be found in the
[CHANGELOG](https://github.com/RobertoChiosa/portable-app-framework/blob/main/CHANGELOG.md).

The `portable-app-framework` package requires Python >= 3.9. The main dependencies are reported in
the [`requirements.txt`](requirements.txt) and in the [`setup.py`](setup.py) file.

You can install the package in different ways depending on the level of usage you want to have.

- [x] From source
- [x] From test PyPI
- [ ] From PyPI (not yet released)

### From source

You can install the package from source by cloning the repository and running the following command:

```sh
git clone https://github.com/RobertoChiosa/portable-app-framework.git
cd portable-app-framework
pip install .
```

### From test PyPI

You can install the latest test version from test PyPI with the following command:

```sh
pip install -i https://test.pypi.org/simple/ PFB-Toolkit==0.1.7
```

### From PyPI

You can install the stable version from PyPI with the following command:

```sh
pip install portable-app-framework
```

## Contributing

[//]: # ([![Open Source Helpers]&#40;https://www.codetriage.com/RobertoChiosa/afdd/badges/users.svg&#41;]&#40;https://www.codetriage.com/RobertoChiosa/afdd&#41;)

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.

Most development discussions take place on GitHub in this repo, via
the [GitHub issue tracker](https://github.com/RobertoChiosa/portable-app-framework/issues).

If you are simply looking to start working with the `portable_app_framework` codebase, navigate to
the [GitHub "issues" tab](https://github.com/RobertoChiosa/portable-app-framework/issues) and start looking through
interesting issues.

Or maybe through using `portable_app_framework` you have an idea of your own or are looking for something in the
documentation and
thinking ‘this can be improved’...you can do something about it!

## License

The present repository has been released under [MIT LICENSE](LICENSE.md)

## Cite

Work on ``portable-app-framework`` started in 2021 as an internal project at BAEDA Lab to deploy energy management and
information systems application in a most reliable way instead of solving implementation issues from scratch every time.
We found that the framework enabled faster deployment of such solutions thanks to the builtin methods that allowed the
analyst to skip ripetitive data integration tasks. Moreover allowed non analyst expert of metadata schema to exploit the
power of such tools. So we decided to create this package to share our experience with the scientific community and not
only.

To cite the package in publications use:

```bibtex
@software{portable-app-framework,
    author = {Roberto Chiosa},
    title = {Portable Framework for Building Applications - PFB-Toolkit},
    url = {}
}
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/baeda-polito/portable-app-framework",
    "name": "pfb-toolkit",
    "maintainer": "RobertoChiosa",
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": "roberto.chiosa@polito.it",
    "keywords": "energy, data, analysis, pandas",
    "author": "RobertoChiosa",
    "author_email": "roberto.chiosa@polito.it",
    "download_url": "https://files.pythonhosted.org/packages/83/20/4d7d59f6d0131d6dc4b46aa5b1eeafe1a94b81c55ca4910dc80641dcaf70/pfb_toolkit-0.1.11.tar.gz",
    "platform": null,
    "description": "# Portable Framework for Building Applications - PFB-Toolkit\n\n[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-BAEDALAB-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) [![License - BSD 3-Clause](https://img.shields.io/pypi/l/afdd.svg)](https://github.com/RobertoChiosa/afdd/blob/main/LICENSE)\n\n## What is it?\n\n**portable-app-framework** is a Python package that provides a toolkit to create portable applications.\n\n## Table of Contents\n\n- [Main Features](#main-features)\n    - [Command Line Interface (CLI)](#command-line-interface-cli)\n    - [Application class](#application-class)\n- [Installation](#installation)\n    - [From source](#from-source)\n    - [From test PyPI](#from-test-pypi)\n    - [From PyPI](#from-pypi)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Main Features\n\nHere are just a few of the things that `portable-app-framework` does.\n\n### Command Line Interface (CLI)\n\nYou can use the CLI to to create, manage and update applications\n\n```\n> portable-app-framework -h\n\nusage: portable-app-framework [-h] {new,update} ...\n\nUtils CLI for the afdd framework.\n\npositional arguments:\n  {new,update}\n    new         Create a new application folder from template.\n    update      Update README of an application.\n\noptions:\n  -h, --help    show this help message and exit\n\n```\n\n### Application class\n\nA python class that helps to create a portable application. Once you created a new application in your project you can\nset up and run an application with the following lines of code\n\n```python\nimport pandas as pd\nimport brickschema\nfrom portable_app_framework import Application\n\napp = Application(\n    metadata=brickschema.Graph(),\n    app_name='app_name'\n)\nqualify_result = app.qualify()  # True/False\nfetch_result = app.fetch()  # Dict of mapped variables\ndf = pd.DataFrame()  # get df according to your logic \ndf_preprocess = app.preprocess(df)\nfinal_result = app.analyze(df_preprocess)\n```\n\n## Installation\n\nThe source code is currently hosted on GitHub at\nhttps://github.com/RobertoChiosa/portable-app-framework and the list of changes for each release can be found in the\n[CHANGELOG](https://github.com/RobertoChiosa/portable-app-framework/blob/main/CHANGELOG.md).\n\nThe `portable-app-framework` package requires Python >= 3.9. The main dependencies are reported in\nthe [`requirements.txt`](requirements.txt) and in the [`setup.py`](setup.py) file.\n\nYou can install the package in different ways depending on the level of usage you want to have.\n\n- [x] From source\n- [x] From test PyPI\n- [ ] From PyPI (not yet released)\n\n### From source\n\nYou can install the package from source by cloning the repository and running the following command:\n\n```sh\ngit clone https://github.com/RobertoChiosa/portable-app-framework.git\ncd portable-app-framework\npip install .\n```\n\n### From test PyPI\n\nYou can install the latest test version from test PyPI with the following command:\n\n```sh\npip install -i https://test.pypi.org/simple/ PFB-Toolkit==0.1.7\n```\n\n### From PyPI\n\nYou can install the stable version from PyPI with the following command:\n\n```sh\npip install portable-app-framework\n```\n\n## Contributing\n\n[//]: # ([![Open Source Helpers]&#40;https://www.codetriage.com/RobertoChiosa/afdd/badges/users.svg&#41;]&#40;https://www.codetriage.com/RobertoChiosa/afdd&#41;)\n\nAll contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.\n\nMost development discussions take place on GitHub in this repo, via\nthe [GitHub issue tracker](https://github.com/RobertoChiosa/portable-app-framework/issues).\n\nIf you are simply looking to start working with the `portable_app_framework` codebase, navigate to\nthe [GitHub \"issues\" tab](https://github.com/RobertoChiosa/portable-app-framework/issues) and start looking through\ninteresting issues.\n\nOr maybe through using `portable_app_framework` you have an idea of your own or are looking for something in the\ndocumentation and\nthinking \u2018this can be improved\u2019...you can do something about it!\n\n## License\n\nThe present repository has been released under [MIT LICENSE](LICENSE.md)\n\n## Cite\n\nWork on ``portable-app-framework`` started in 2021 as an internal project at BAEDA Lab to deploy energy management and\ninformation systems application in a most reliable way instead of solving implementation issues from scratch every time.\nWe found that the framework enabled faster deployment of such solutions thanks to the builtin methods that allowed the\nanalyst to skip ripetitive data integration tasks. Moreover allowed non analyst expert of metadata schema to exploit the\npower of such tools. So we decided to create this package to share our experience with the scientific community and not\nonly.\n\nTo cite the package in publications use:\n\n```bibtex\n@software{portable-app-framework,\n    author = {Roberto Chiosa},\n    title = {Portable Framework for Building Applications - PFB-Toolkit},\n    url = {}\n}\n```\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Portable Framework for Building Applications - PFB-Toolkit",
    "version": "0.1.11",
    "project_urls": {
        "Documentation": "https://github.com/baeda-polito/portable-app-framework",
        "Homepage": "https://github.com/baeda-polito/portable-app-framework",
        "Repository": "https://github.com/baeda-polito/portable-app-framework"
    },
    "split_keywords": [
        "energy",
        " data",
        " analysis",
        " pandas"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b88085a0f5903e3d985226eb36f02c8ab51bff5e4b8665780c10a57323c6ad6c",
                "md5": "42ed53022fe6ae746c842248169e4006",
                "sha256": "7c133a288422a9680b34ef64707eba2018977cb80cff033108c147cb2cc7c4d5"
            },
            "downloads": -1,
            "filename": "pfb_toolkit-0.1.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "42ed53022fe6ae746c842248169e4006",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 337150,
            "upload_time": "2024-07-02T14:01:22",
            "upload_time_iso_8601": "2024-07-02T14:01:22.311344Z",
            "url": "https://files.pythonhosted.org/packages/b8/80/85a0f5903e3d985226eb36f02c8ab51bff5e4b8665780c10a57323c6ad6c/pfb_toolkit-0.1.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83204d7d59f6d0131d6dc4b46aa5b1eeafe1a94b81c55ca4910dc80641dcaf70",
                "md5": "670f548edabbbd3e4a8ffb9fdddc1fe5",
                "sha256": "80cdd8a3202ea8d0da71b2e13236b584e925d2ac16507f3a55a1c4b2c1705e97"
            },
            "downloads": -1,
            "filename": "pfb_toolkit-0.1.11.tar.gz",
            "has_sig": false,
            "md5_digest": "670f548edabbbd3e4a8ffb9fdddc1fe5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 323956,
            "upload_time": "2024-07-02T14:01:24",
            "upload_time_iso_8601": "2024-07-02T14:01:24.314673Z",
            "url": "https://files.pythonhosted.org/packages/83/20/4d7d59f6d0131d6dc4b46aa5b1eeafe1a94b81c55ca4910dc80641dcaf70/pfb_toolkit-0.1.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-02 14:01:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "baeda-polito",
    "github_project": "portable-app-framework",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pfb-toolkit"
}
        
Elapsed time: 0.69144s