Skip to main content

A package containing handy boilerplate utilities for developing bfabric web-applications

Project description


Logo

B-Fabric Web Apps

A Python-based library designed for the development and integration of satellite applications with the B-Fabric Laboratory Information Management System (LIMS).
Explore the documentation »

View Demo

Table of Contents

About The Project

The bfabric_web_apps is a Python library designed to simplify the creation of web applications that interact with B-Fabric. The library streamlines the development of B-Fabric satellite applications by standardizing common patterns and providing developers with a simpler and more efficient code base. B-Fabric Web Apps are modular satellite applications that extend the functionality of the B-Fabric Laboratory Information Management System (LIMS).

Key Features

  • Token Management – Securely handle authentication tokens for API access.
  • Entity Data Handling – Retrieve, modify, and update B-Fabric entities dynamically.
  • Logger – Integrated logging for API calls, events, and errors.
  • Layouts and UI Components – Utilize predefined structures to streamline app design.

Built With

  • Python
  • Dash
  • Plotly
  • Flask

(back to top)

Quickstart

You can install the bfabric_web_apps module via pip:

pip install bfabric_web_apps

Basic Usage Example

After installation, you can create a simple Dash-based web application using bfabric_web_apps like this:

# Import necessary modules
from dash import html
from bfabric_web_apps import(
    create_app,
    get_static_layout,
    HOST, 
    PORT,
)

# Initialize the Dash application
app = create_app()

# Define application title
app_title = "My B-Fabric App"

# Define the main layout content
app_specific_layout = html.Div([
    html.H1("Welcome to My B-Fabric App"),
    html.P("This is a quickstart example using bfabric_web_apps.")
])

# Optionally define documentation content
documentation_content = [
    html.H2("Documentation"),
    html.P("Describe your app's features here.")
]

# Set up the application layout
app.layout = get_static_layout(
    app_title,  # Title shown in the browser tab
    app_specific_layout,  # Main application content
    documentation_content  # Documentation section
)

# Run the application
if __name__ == "__main__":
    app.run(debug=False, port=PORT, host=HOST)

This example sets up a minimal web application using bfabric_web_apps, providing a structured layout with configurable content.

(back to top)

Example Usage and Template Overview

To explore the usage of the bfabric_web_apps library in greater detail, refer to the bfabric-web-app-template repository. This template demonstrates how to:

  • Set up a project using bfabric_web_apps.
  • Create visual dashboards with Dash.
  • Interact with the B-Fabric LIMS through the Python library.

(back to top)

What Is B-Fabric?

B-Fabric is a Laboratory Information Management System (LIMS) used for managing scientific experiments and their associated data in laboratories. It provides a platform for tracking samples, analyzing results, and organizing workflows efficiently.

For more details, visit the B-Fabric official website.

(back to top)

What Is BfabricPy?

BfabricPy is a Python library that provides a programmatic interface to interact with the Bfabric SOAP WebService. It allows developers to integrate B-Fabric functionalities into custom Python applications. This library simplifies tasks like querying samples, uploading results, and interacting with the LIMS programmatically.

BfabricPy is a dependency of this project and is fetched directly from its GitHub repository during installation.

For more details, visit the bfabricPy official Git repository or the library's official documentation.

(back to top)

What Is Dash?

Dash is a Python framework for building interactive web applications. It combines the power of Plotly for data visualization and Flask for backend support, making it ideal for scientific and analytical dashboards.

For more details, visit the Dash official documentation.

(back to top)

Roadmap

Contact the development team for planned features and known issues.

(back to top)

Contributing

bfabric_web_apps is an open-source project, and therefore any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/YourFeature
    
  3. Make your changes and commit them:
    git commit -m "Add feature: YourFeature"
    
  4. Push to your branch:
    git push origin feature/YourFeature
    
  5. Open a Pull Request.

Top contributors:

Contact the development team for contributor information.

(back to top)

License

Distributed under the MIT License. See LICENSE file for more details.

(back to top)

Contact

GWC GmbH - LinkedIn Griffin White - LinkedIn Marc Zuber - LinkedIn

(back to top)

Acknowledgments

(back to top)

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

bfabric_web_apps-0.3.1.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

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

bfabric_web_apps-0.3.1-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file bfabric_web_apps-0.3.1.tar.gz.

File metadata

  • Download URL: bfabric_web_apps-0.3.1.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.14.0-35-generic

File hashes

Hashes for bfabric_web_apps-0.3.1.tar.gz
Algorithm Hash digest
SHA256 799d4ac1638a18e78321f00746e6deb763c50b4688995ceb9888c53edbf763d9
MD5 c1a7999847767b09edf044eddf729933
BLAKE2b-256 1c7c92cc08723c477c08266f2c3db3005647778e11e04b888d1344a2a8dbd6c3

See more details on using hashes here.

File details

Details for the file bfabric_web_apps-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: bfabric_web_apps-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.14.0-35-generic

File hashes

Hashes for bfabric_web_apps-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecbeb79943f8384cb1ad59aa3ecb2c7d142b0a6c2d0510703dade97f06bf1e6b
MD5 3b48b283c53f4a4decf2b636fddade69
BLAKE2b-256 4da8f43c43a77ad2963985f2b3f107e2b9008fe718000f6e1eb9a2ca010a1d88

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