feat: add interactive exploration of Shannon's capacity formula with Plotly graphs
All checks were successful
Build & Deploy Shannon / 🏗️ Build & Deploy Shannon (push) Successful in 3m1s
All checks were successful
Build & Deploy Shannon / 🏗️ Build & Deploy Shannon (push) Successful in 3m1s
- Implemented bandwidth sensitivity and power sensitivity plots. - Created a contour map for bit rate multiplying factors. - Added input parameters for C/N and bandwidth with validation. - Displayed computed results and sensitivity analysis metrics. - Integrated interactive graphs for user exploration. - Included background information section for user guidance.
This commit is contained in:
47
Dockerfile
47
Dockerfile
@@ -1,11 +1,36 @@
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY requirements.txt ./
|
||||
RUN apt-get update -y && apt-get install -y tk tcl
|
||||
RUN pip install --force-reinstall -r requirements.txt
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD [ "python", "./Shannon.py" ]
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install system dependencies (gcc for build, curl for healthcheck)
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends gcc curl && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Python dependencies
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy application
|
||||
COPY .streamlit/ .streamlit/
|
||||
COPY core/ core/
|
||||
COPY views/ views/
|
||||
COPY app.py .
|
||||
COPY Shannon.png .
|
||||
COPY Satellite.png .
|
||||
|
||||
# Create data directory for SQLite databases
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Expose Streamlit port
|
||||
EXPOSE 8080
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
||||
CMD curl -f http://localhost:8080/_stcore/health || exit 1
|
||||
|
||||
# Run Streamlit
|
||||
ENTRYPOINT ["streamlit", "run", "app.py", \
|
||||
"--server.port=8080", \
|
||||
"--server.address=0.0.0.0", \
|
||||
"--server.headless=true"]
|
||||
|
||||
Reference in New Issue
Block a user