diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ae5fe17 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# Use an official Python runtime as a parent image +FROM python:3.11-slim + +# Set environment variables +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 + +# Install system dependencies including Mono for .NET support +RUN apt-get update && apt-get install -y --no-install-recommends \ + mono-complete \ + build-essential \ + git \ + && rm -rf /var/lib/apt/lists/* + +# Set work directory +WORKDIR /app + +# Install Python dependencies +COPY requirements.txt /app/ +RUN pip install --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt + +# Copy the project files +COPY . /app/ + +# Install the package in editable mode +RUN pip install -e . + +# Expose port if needed (e.g., for Jupyter) +EXPOSE 8888 + +# Create a directory for outputs +RUN mkdir -p output + +# Default command: run the basic digester example +CMD ["python", "examples/01_basic_digester.py"] diff --git a/README.md b/README.md index 6c8cf05..cbe3be6 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,13 @@ See [Installation](docs/user_guide/installation.md). See [Quickstart](docs/user_guide/quickstart.md). +### Interactive Examples (Google Colab) + +Try PyADM1 directly in your browser without any installation: + +* **Basic Digester**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_01_basic_digester.ipynb) +* **Complex Two-Stage Plant**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_02_complex_plant.ipynb) + ### Basic Usage ```python from pyadm1 import BiogasPlant diff --git a/docs/assets/interrogate_badge.svg b/docs/assets/interrogate_badge.svg index 059cb1c..3cd04ab 100644 --- a/docs/assets/interrogate_badge.svg +++ b/docs/assets/interrogate_badge.svg @@ -1,5 +1,5 @@ - interrogate: 98.1% + interrogate: 97.2% @@ -12,8 +12,8 @@ interrogate interrogate - 98.1% - 98.1% + 97.2% + 97.2% diff --git a/docs/de/examples/basic_digester.md b/docs/de/examples/basic_digester.md index de279ff..a0147bf 100644 --- a/docs/de/examples/basic_digester.md +++ b/docs/de/examples/basic_digester.md @@ -1,8 +1,6 @@ # Basis-Fermenter Beispiel -n
- In Google Colab öffnen (Basis) - In Google Colab öffnen (Komplex) -
+[![In Google Colab öffnen](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_01_basic_digester.ipynb) + Das Beispiel [examples/01_basic_digester.py](https://github.com/dgaida/PyADM1ODE/blob/master/examples/01_basic_digester.py) zeigt die einfachstmögliche PyADM1-Konfiguration: einen einzelnen Fermenter mit Substratzulauf und integriertem Gasspeicher. diff --git a/docs/de/examples/two_stage_plant.md b/docs/de/examples/two_stage_plant.md index 3b57123..773b3bd 100644 --- a/docs/de/examples/two_stage_plant.md +++ b/docs/de/examples/two_stage_plant.md @@ -1,4 +1,6 @@ # Zweistufige Biogasanlage Beispiel +[![In Google Colab öffnen](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_02_complex_plant.ipynb) + Das Beispiel [examples/02_two_stage_plant.py](https://github.com/dgaida/PyADM1ODE/blob/master/examples/02_two_stage_plant.py) zeigt eine komplette zweistufige Biogasanlage mit mechanischen Komponenten, Energieintegration und umfassender Prozessüberwachung. diff --git a/docs/en/examples/basic_digester.md b/docs/en/examples/basic_digester.md index 859dacc..fd07101 100644 --- a/docs/en/examples/basic_digester.md +++ b/docs/en/examples/basic_digester.md @@ -1,4 +1,6 @@ # Basic Digester Example +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_01_basic_digester.ipynb) + The [examples/basic_digester.py](https://github.com/dgaida/PyADM1ODE/blob/master/examples/01_basic_digester.py) example demonstrates the simplest possible PyADM1 configuration: a single digester with substrate feed and integrated gas storage. diff --git a/docs/en/examples/two_stage_plant.md b/docs/en/examples/two_stage_plant.md index d13d572..97a0e73 100644 --- a/docs/en/examples/two_stage_plant.md +++ b/docs/en/examples/two_stage_plant.md @@ -1,4 +1,6 @@ # Two-Stage Biogas Plant Example +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dgaida/PyADM1ODE/blob/master/examples/colab_02_complex_plant.ipynb) + The [examples/two_stage_plant.py](https://github.com/dgaida/PyADM1ODE/blob/master/examples/02_two_stage_plant.py) example demonstrates a complete two-stage biogas plant with mechanical components, energy integration, and comprehensive process monitoring.