Skip to main content

Portable Framework for Building Applications - PFB-Toolkit

Powered by NumFOCUS License - BSD 3-Clause

What is it?

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

Table of Contents

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

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.

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

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

  • From source
  • 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:

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:

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:

pip install portable-app-framework

Contributing

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.

If you are simply looking to start working with the portable_app_framework codebase, navigate to the GitHub "issues" tab 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

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:

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

Metadata

Release files for pfb-toolkit 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pfb-toolkit 0.1.11
File Size Uploaded Provenance Actions
pfb_toolkit-0.1.11.tar.gz 324.0 kB Without provenance Details for pfb_toolkit-0.1.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pfb-toolkit 0.1.11
File Interpreter ABI Platform Actions
pfb_toolkit-0.1.11-py3-none-any.whl Python 3 none any Details for pfb_toolkit-0.1.11-py3-none-any.whl

Total release size: 661.1 kB

Release files / pfb_toolkit-0.1.11.tar.gz

Download URL pfb_toolkit-0.1.11.tar.gz
Size 324.0 kB
Tags Source
SHA-256 checksum
How to use checksums
80cdd8a3202ea8d0da71b2e13236b584e925d2ac16507f3a55a1c4b2c1705e97
BLAKE2b-256 checksum
How to use checksums
83204d7d59f6d0131d6dc4b46aa5b1eeafe1a94b81c55ca4910dc80641dcaf70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Darwin/23.5.0

Release files / pfb_toolkit-0.1.11-py3-none-any.whl

Download URL pfb_toolkit-0.1.11-py3-none-any.whl
Size 337.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7c133a288422a9680b34ef64707eba2018977cb80cff033108c147cb2cc7c4d5
BLAKE2b-256 checksum
How to use checksums
b88085a0f5903e3d985226eb36f02c8ab51bff5e4b8665780c10a57323c6ad6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Darwin/23.5.0

Security for pfb-toolkit 0.1.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page