Skip to main content

De app voor het runnen van de proevenverzamelingtool voor het bepalen van geotechnische parameters.

Project description

PV tool

Summary

About The Project

This project is a Streamlit frontend for the PV-tool - a comprehensive Python toolset for geotechnical analysis of soil samples.

PV-tool Integration

The app integrates directly with the PV-tool repository to provide:

  • Import & Validation: Load and validate geotechnical data from PV-tool Excel templates
  • C-Phi Analysis: Determine cohesion and friction angle parameters (Mohr-Coulomb)
  • SHANSEP Analysis: Stress History And Normalized Soil Engineering Properties
  • SU Analysis: Undrained shear strength tables and profiles

The PV-tool repository is cloned into pv-tool-submodule/ during installation. See PV-tool Integration Documentation for detailed technical information.

Features

✅ Multi-page Streamlit interface
✅ Full PV-tool integration via wrapper module
✅ Session state management for data sharing
✅ Interactive visualizations with Plotly
✅ Export capabilities (Excel, PDF, CSV)
✅ Support for multiple analysis types and investigation groups

This repository hosts a development version at http://localhost:8501 when running.

Requirements

Installation

1. Clone this repository

git clone https://github.com/your-username/pv-tool-app.git
cd pv-tool-app

2. Clone the PV-tool repository

The PV-tool is integrated as a separate repository in the pv-tool-submodule/ directory:

git clone https://github.com/PVorganization/PV-tool.git pv-tool-submodule

Alternative: Use as git submodule (optional, for advanced users):

git submodule add https://github.com/PVorganization/PV-tool.git pv-tool-submodule
git submodule update --init --recursive

3. Install dependencies

pip install -r requirements.txt

This will install:

  • Streamlit and all UI dependencies
  • PV-tool dependencies (scipy, matplotlib, openpyxl, etc.)
  • Data processing libraries (pandas, numpy)
  • Visualization tools (plotly, kaleido)

4. Verify installation

Check if the PV-tool wrapper loads correctly:

python -c "from src.pv_tool_wrapper import pv_tool; print(f'PV-tool available: {pv_tool.available}')"

If you see PV-tool available: True, you're ready to go! 🎉

Run the app

streamlit run app.py

Or use the convenience scripts:

  • Windows PowerShell: .\run.ps1
  • Windows Command Prompt: run.bat

The app will open in your default browser at http://localhost:8501

Note: The Streamlit server must be running to access the app. If you navigate to http://localhost:8501 and see "This site can't be reached", you need to start the server first using one of the commands above.

Usage

Quick Start

  1. Start the server (first time or after reboot):

    streamlit run app.py
    

    Or double-click run.bat or run.ps1

  2. Access the app in your browser at http://localhost:8501

  3. Stop the server when done: Press Ctrl+C in the terminal

Important: The server needs to be running for the app to be accessible. Think of it like starting a web server - you can't visit a website if the server isn't running!

Available Pages

Once the app runs, you can access the following pages:

  1. Home - Landing page with overview of available analyses
  2. 📥 Import en Validate - Import and validate geotechnical data from various formats (CSV, Excel, GEF, XML)
  3. 📊 C-Phi analyse - Analyze cohesion and friction angle parameters using Mohr-Coulomb failure envelope
  4. 🔬 SHANSEP analyse - Stress History And Normalized Soil Engineering Properties analysis
  5. 📈 SU-analyse - Undrained shear strength analysis and interpretation

Navigation

  • Use the sidebar to navigate between different analysis pages
  • Each page includes demo data functionality for testing
  • Data flows between pages using Streamlit's session state
  • Start with "Import en Validate" to load your data, then proceed to specific analyses

Project Structure

pv-tool-app/
├── app.py                          # Main landing page
├── pages/                          # Streamlit multipage structure
│   ├── 1_📥_Import_en_Validate.py  # Data import and validation
│   ├── 2_📊_C-Phi_Analyse.py       # C-Phi analysis
│   ├── 3_🔬_SHANSEP_Analyse.py     # SHANSEP analysis
│   └── 4_📈_SU-Analyse.py          # SU analysis
├── requirements.txt                # Python dependencies
├── docs/                           # Documentation
├── src/                            # Source code (future)
├── static/                         # Static assets
└── test/                           # Tests

Additional Documentation

See the docs/ folder for additional documentation:

PV-tool Resources

Troubleshooting

Submodule Issues

If the PV-tool submodule is not properly loaded:

git submodule update --init --recursive

Missing Dependencies

If you encounter import errors:

pip install -r requirements.txt --upgrade

Import Errors

Make sure you're running Python 3.11 and all dependencies are installed:

python --version
pip list

Contact

Product owner: Tjalda Deenekamp

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

pv_app-0.0.11.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

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

pv_app-0.0.11-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file pv_app-0.0.11.tar.gz.

File metadata

  • Download URL: pv_app-0.0.11.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.13 Linux/6.17.0-1008-azure

File hashes

Hashes for pv_app-0.0.11.tar.gz
Algorithm Hash digest
SHA256 545397af278c569a0448990423619857defb7b7e01aade7aa04d9e6c7173aebe
MD5 93fea8ec38d0eae74f328342796a6032
BLAKE2b-256 5d2a4a1e7f36a3fcebc4dc0d91bac13add96ca7d6232bf663da52fbd0a7ea3e4

See more details on using hashes here.

File details

Details for the file pv_app-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: pv_app-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.13 Linux/6.17.0-1008-azure

File hashes

Hashes for pv_app-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 2947784f57c3704218039d0c4e789a47e3e3a9fb0ab69789a2b7d4fc0d6b38c3
MD5 c4cadb36a8957870d6051f61e48f18b0
BLAKE2b-256 bcf5781152cbeea27f0633a2d9cdf4a80c96198e44d56553ab5c937f150cb3f9

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