De app voor het runnen van de proevenverzamelingtool voor het bepalen van geotechnische parameters.
Project description
PV tool
Summary
- Quick Start Guide ⚡
- About The Project
- Requirements
- Installation
- Usage
- Project Structure
- Additional Documentation
- Troubleshooting
- Contact
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
- Python 3.11
- Streamlit >= 1.39.0
- pandas >= 2.0.0
- numpy >= 1.24.0
- plotly >= 5.18.0
- IDE for development - Visual Studio Code or PyCharm
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
-
Start the server (first time or after reboot):
streamlit run app.py
Or double-click
run.batorrun.ps1 -
Access the app in your browser at http://localhost:8501
-
Stop the server when done: Press
Ctrl+Cin 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:
- Home - Landing page with overview of available analyses
- 📥 Import en Validate - Import and validate geotechnical data from various formats (CSV, Excel, GEF, XML)
- 📊 C-Phi analyse - Analyze cohesion and friction angle parameters using Mohr-Coulomb failure envelope
- 🔬 SHANSEP analyse - Stress History And Normalized Soil Engineering Properties analysis
- 📈 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 Integration - Technical details about PV-tool integration
- Getting Started - Detailed getting started guide
- Why Run Server - Explanation of Streamlit server requirement
- Quick Start - Quick reference card
PV-tool Resources
- PV-tool GitHub Repository
- PV-tool Documentation
- STOWA Proevenverzameling
- Analysis methodologies
- Data format specifications
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pv_app-0.0.2.tar.gz.
File metadata
- Download URL: pv_app-0.0.2.tar.gz
- Upload date:
- Size: 15.8 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55915439e37eecc80afdaa0cb4600d243f118badd4bd6e2aeeb4f86b1831bda9
|
|
| MD5 |
0ca32ef3dfd296c944a349f27c74b1b4
|
|
| BLAKE2b-256 |
ccc1c7608a3d6b0133443558b52ed61d5c8a2688670b455df9d6fa3071166c11
|
File details
Details for the file pv_app-0.0.2-py3-none-any.whl.
File metadata
- Download URL: pv_app-0.0.2-py3-none-any.whl
- Upload date:
- Size: 16.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57f37900de17fc6f24c2060c95bbb503dffc06c006c366e0ad359675f2f6f407
|
|
| MD5 |
561515774e98f2fb577e2876fd78ce20
|
|
| BLAKE2b-256 |
eab24b09f054c3a4ae41294b915cd02c8c54c0b988ade968c4a09cd65ecf5170
|