Skip to content

πŸ”¬ Scientific curve fitting tool with GUI for experimental data analysis, perfect for physics students. 15+ predefined functions, error propagation, and professional visualizations. Multilingual (ES/EN).

License

Notifications You must be signed in to change notification settings

DOKOS-TAYOS/RegressionLab

Repository files navigation

RegressionLab Logo

RegressionLab

A powerful and user-friendly curve fitting application for scientists, engineers, students, and data analysts

Python License Version Streamlit SciPy NumPy

🌐 Try Online β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature


RegressionLab is a comprehensive curve fitting application that enables you to perform advanced curve fitting operations using multiple mathematical models with an intuitive interface. Whether you're analyzing experimental data, calibrating instruments, or exploring mathematical relationships, RegressionLab provides the tools you need.

✨ Features

πŸ–₯️ Dual Interface πŸ“Š Advanced Fitting 🎨 Professional Plots
Web (Streamlit) & Desktop (Tkinter) Multiple mathematical models Publication-ready visualizations

πŸš€ Key Capabilities

  • 🌐 Dual Interface: Choose between web version (Streamlit) for instant access or desktop version (Tkinter) for offline use
  • πŸ“ˆ Multiple Fitting Functions: Linear, polynomial, trigonometric, logarithmic, inverse, hyperbolic, and custom functions
  • βš™οΈ Multiple Operation Modes: Normal fitting, multiple datasets, checker mode, and total fitting
  • πŸ“Š Professional Visualization: Publication-ready plots with error bars and customizable styles
  • πŸ“ Uncertainty Handling: Automatic detection and visualization of measurement uncertainties
  • πŸ”„ Batch Processing: Fit multiple datasets or test all equations simultaneously
  • 🌍 Internationalization: Full support for English and Spanish (easily extensible)
  • βš™οΈ Highly Configurable: Customize every aspect through the .env file

πŸ“š Documentation

πŸ“– Complete documentation is available in the docs/ directory

πŸ“„ Document πŸ“ Description
Getting Started Main documentation index
Introduction Project overview and benefits
Installation Guide Detailed installation instructions
User Guide How to use RegressionLab
Configuration Configuration options
API Documentation Technical reference for developers

πŸš€ Quick Start

🌐 Web Version (Easiest)

πŸ’» Desktop Installation

Quick Installation (Recommended):

Windows:

install.bat

Linux/macOS:

chmod +x install.sh
./install.sh

Manual Installation:

  1. Clone the repository:

    git clone https://github.com/DOKOS-TAYOS/RegressionLab.git
    cd RegressionLab
  2. Create and activate a virtual environment:

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # Linux/macOS
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the application:

    # Desktop version (Tkinter)
    python -m src.main_program
    
    # Web version (Streamlit)
    streamlit run src/streamlit_app/app.py

🎯 Use Cases

πŸŽ“ Academic Research πŸ”§ Engineering πŸ“Š Data Science πŸ“š Education
Analyzing experimental data from physics, chemistry, or biology labs Calibration curve generation, system identification, and modeling Exploratory data analysis and model validation Learning about mathematical functions and curve fitting concepts

πŸ› οΈ Requirements

  • Python 3.10 or higher
  • Windows 10/11, macOS 10.14+, or Linux
  • 4 GB RAM minimum (8 GB recommended)

πŸ“¦ Dependencies

Core Dependencies

Package Version Purpose
NumPy >= 2.0 Numerical computations
Matplotlib >= 3.10 Plotting and visualization
SciPy >= 1.17 Scientific computing and curve fitting
Pandas >= 2.3 Data manipulation
OpenPyXL >= 3.1 Excel file handling
Python-dotenv >= 1.0 Environment configuration
Colorama >= 0.4 Terminal colors

Optional Dependencies

  • Streamlit - For web interface
  • Tkinter - For desktop interface (usually included with Python)

πŸ”§ Configuration

RegressionLab is highly configurable through the .env file. See the Configuration Guide for all available options.

Copy .env.example to .env and customize:

cp .env.example .env

🀝 Contributing

Contributions are welcome! Please read the Contributing Guidelines for details on:

  • Development setup
  • Code standards
  • Pull request process

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Alejandro Mata Ali

πŸ“§ Email β€’ πŸ™ GitHub

πŸ”— Links

πŸ’‘ Need Help?

  1. Check the User Guide for basic usage
  2. Review the Troubleshooting Guide for common issues
  3. Consult the API Documentation for technical details
  4. Open an issue on GitHub

Version: 0.8.0 β€’ Last Updated: January 2026

Made with ❀️ by Alejandro Mata Ali

GitHub stars GitHub forks

About

πŸ”¬ Scientific curve fitting tool with GUI for experimental data analysis, perfect for physics students. 15+ predefined functions, error propagation, and professional visualizations. Multilingual (ES/EN).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published