Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ __pycache__
.pytest_cache
.codebuild
.gihub
frontend/node_modules
frontend/src/.observablehq
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ _build
docs/design
app/docs
app/examples
app/frontend/node_modules
app/frontend/src/.observablehq
frontend/node_modules
frontend/src/.observablehq
docs/assets/examples
docs/examples/output
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ docs-serve: ## serve docs, examples, and API with auto-reload
.PHONY: frontend-build
frontend-build: ## build Observable frontend examples
@rm -rf app/examples
@npm --prefix app/frontend run build
@npm --prefix frontend run build

.PHONY: frontend-serve
frontend-serve: ## serve Observable frontend with auto-reload
Expand Down
2 changes: 1 addition & 1 deletion dev/docs-serve
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ API_PORT=${API_PORT:-8001}
FRONTEND_ORIGIN=${FRONTEND_ORIGIN:-http://127.0.0.1:${OBSERVABLE_PORT}}
QUANTFLOW_API_ORIGIN=${QUANTFLOW_API_ORIGIN:-http://127.0.0.1:${API_PORT}}

npm --prefix app/frontend exec concurrently -- \
npm --prefix frontend exec concurrently -- \
--kill-others \
--names docs,examples,api \
--prefix "[{name}]" \
Expand Down
2 changes: 1 addition & 1 deletion dev/frontend-serve
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ OBSERVABLE_PORT=${OBSERVABLE_PORT:-3001}

echo "Examples: http://127.0.0.1:${OBSERVABLE_PORT}"

npm --prefix app/frontend run dev -- --host 127.0.0.1 --port ${OBSERVABLE_PORT}
npm --prefix frontend run dev -- --host 127.0.0.1 --port ${OBSERVABLE_PORT}
6 changes: 6 additions & 0 deletions dev/quantflow.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ FROM ghcr.io/astral-sh/uv:python3.14-bookworm-slim AS builder
WORKDIR /build

# Install Chromium for kaleido (Plotly static image export used by docs examples)
# Install Node.js for Observable Framework frontend build
RUN apt-get update && apt-get install -y --no-install-recommends \
chromium \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*

# Copy dependency files
Expand All @@ -20,7 +23,10 @@ COPY mkdocs.yml ./
COPY dev/ ./dev/
COPY docs/ ./docs/
COPY quantflow/ ./quantflow/
COPY frontend/ ./frontend/
COPY app/ ./app/
RUN npm --prefix frontend install
RUN npm --prefix frontend run build
RUN uv run ./dev/build-examples
RUN uv run mkdocs build

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const headSnippet = readFileSync(resolve(__dirname, "../../docs/assets/logos/hea
export default {
title: "Quantflow Examples",
root: "src",
output: "../examples",
output: "../app/examples",
base: "/examples",
head: `<meta name="quantflow-api-origin" content="${apiOrigin}">\n${headSnippet}`,
style: "style.css",
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 0 additions & 10 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -134,17 +134,10 @@ exclude_also = [

[tool.isort]
profile = "black"
skip_glob = [
"app/frontend/*",
]

[tool.black]
extend-exclude = "/app/frontend/"

[tool.ruff]
exclude = [
"app/frontend",
]
lint.select = [
"E",
"F",
Expand All @@ -158,9 +151,6 @@ path = "quantflow/__init__.py"
# strict = true
disallow_untyped_calls = true
disallow_untyped_defs = true
exclude = [
"^app/frontend/",
]
warn_no_return = true
disable_error_code = [
"prop-decorator",
Expand Down
Loading