A powerful and user-friendly curve fitting application for scientists, engineers, students, and data analysts
π 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.
| π₯οΈ Dual Interface | π Advanced Fitting | π¨ Professional Plots |
|---|---|---|
| Web (Streamlit) & Desktop (Tkinter) | Multiple mathematical models | Publication-ready visualizations |
- π 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
.envfile
π 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 |
π Try RegressionLab Online Now π
No installation required!
Quick Installation (Recommended):
Windows:
install.batLinux/macOS:
chmod +x install.sh
./install.shManual Installation:
-
Clone the repository:
git clone https://github.com/DOKOS-TAYOS/RegressionLab.git cd RegressionLab -
Create and activate a virtual environment:
python -m venv venv # Windows venv\Scripts\activate # Linux/macOS source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
# Desktop version (Tkinter) python -m src.main_program # Web version (Streamlit) streamlit run src/streamlit_app/app.py
| π 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 |
- Python 3.10 or higher
- Windows 10/11, macOS 10.14+, or Linux
- 4 GB RAM minimum (8 GB recommended)
| 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 |
- Streamlit - For web interface
- Tkinter - For desktop interface (usually included with Python)
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 .envContributions are welcome! Please read the Contributing Guidelines for details on:
- Development setup
- Code standards
- Pull request process
This project is licensed under the MIT License - see the LICENSE file for details.
Alejandro Mata Ali
- Check the User Guide for basic usage
- Review the Troubleshooting Guide for common issues
- Consult the API Documentation for technical details
- Open an issue on GitHub
