Skip to content
Open
Show file tree
Hide file tree
Changes from 2 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: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,6 @@ jobs:
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
GRAPHISTRY_FORGE_BASE_VERSION: v${{ env.RELEASE_VERSION }}-12.8
GRAPHISTRY_FORGE_BASE_VERSION: v${{ env.RELEASE_VERSION }}-13.0
run: |
cd src/docker && ./${{ matrix.flavor }} build
2 changes: 1 addition & 1 deletion .github/workflows/dockerhubpublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest-4-cores
strategy:
matrix:
CUDA_SHORT_VERSION: ['12.8', '11.8']
CUDA_SHORT_VERSION: ['13.0', '12.9']
fail-fast: true


Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
DOCKER_BUILDKIT: 1
strategy:
matrix:
CUDA_SHORT_VERSION: ['12.8']
CUDA_SHORT_VERSION: ['13.0']
steps:

- name: checkout
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
DOCKER_BUILDKIT: 1
strategy:
matrix:
CUDA_SHORT_VERSION: ['12.8']
CUDA_SHORT_VERSION: ['13.0']
steps:

- name: checkout
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,17 @@ Extensions:

See [projects page](https://github.com/graphistry/graph-app-kit/projects) and [open pull requests](https://github.com/graphistry/graph-app-kit/pulls)

## [2.50.0 - 2025.11.25]

### Infra

* Upgrade to CUDA 13.0 base images (v2.50.0-13.0): Use RAPIDS 25.10 (from 25.02)
* Update CI/CD to build CUDA 13.0 (from 12.8) and 12.9 (from 11.8) versions
* Change conda environment activation from rapids to base

### Fixes

* Fix AttributeError when LOG_LEVEL=TRACE by mapping unsupported log levels to DEBUG

## [2.43.6 - 2025.08.21]

Expand Down
2 changes: 1 addition & 1 deletion src/bootstraps/scripts/graphistry-service-account.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ POST_SCRIPT="CELERY_BROKER_URL=zz python manage.py shell && echo done || { echo
cd "${GRAPHISTRY_HOME}" \
&& docker-compose exec -T nexus \
bash -c \
"source activate rapids && echo \"${ADD_USER_SCRIPT}; ${VERIFY_USER_SCRIPT}\" | ${POST_SCRIPT}" \
"source activate base && echo \"${ADD_USER_SCRIPT}; ${VERIFY_USER_SCRIPT}\" | ${POST_SCRIPT}" \
)

./hello-end.sh "$SCRIPT"
4 changes: 2 additions & 2 deletions src/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Default to big image, but allow thin cpu override
ARG DOCKER_TAG=latest
ARG GRAPHISTRY_FORGE_BASE_VERSION=v2.43.0-12.8
ARG GRAPHISTRY_FORGE_BASE_VERSION=v2.50.0-13.0
ARG PYTHON_VERSION=3.10
ARG BASE_IMAGE=graphistry/graphistry-forge-base:${GRAPHISTRY_FORGE_BASE_VERSION}
FROM python:$PYTHON_VERSION as cpu_base

ARG DOCKER_TAG=latest
ARG GRAPHISTRY_FORGE_BASE_VERSION=v2.43.0-12.8
ARG GRAPHISTRY_FORGE_BASE_VERSION=v2.50.0-13.0
ARG BASE_IMAGE=graphistry/graphistry-forge-base:${GRAPHISTRY_FORGE_BASE_VERSION}
FROM $BASE_IMAGE

Expand Down
6 changes: 3 additions & 3 deletions src/docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ x-build-kwargs:
args:
- DOCKER_TAG=${DOCKER_TAG:-latest}
- BUILDKIT_INLINE_CACHE=1
- GRAPHISTRY_FORGE_BASE_VERSION=${GRAPHISTRY_FORGE_BASE_VERSION:-v2.43.0-12.8}
- GRAPHISTRY_FORGE_BASE_VERSION=${GRAPHISTRY_FORGE_BASE_VERSION:-v2.50.0-13.0}

############################################################
##
Expand All @@ -70,14 +70,14 @@ services:
environment:
PYTHONPATH: "/opt/py_env"
PIP_TARGET: "/opt/py_env"
image: graphistry/graph-app-kit-st:${DOCKER_TAG:-latest}-${CUDA_SHORT_VERSION:-12.8}
image: graphistry/graph-app-kit-st:${DOCKER_TAG:-latest}-${CUDA_SHORT_VERSION:-13.0}
command: --server.baseUrlPath="$BASE_PATH" /apps/entrypoint.py
build:
<<: *build_kwargs
context: ..
dockerfile: ./docker/Dockerfile
cache_from:
- graphistry/graph-app-kit-st:${DOCKER_TAG:-latest}-${CUDA_SHORT_VERSION:-12.8}
- graphistry/graph-app-kit-st:${DOCKER_TAG:-latest}-${CUDA_SHORT_VERSION:-13.0}
ports:
- "${ST_PUBLIC_PORT:-8501}:8501"
volumes:
Expand Down
2 changes: 1 addition & 1 deletion src/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@ if [ -v ST_LOG_LEVEL ]; then
PASS_LOG_LEVEL="--logger.level=${ST_LOG_LEVEL}"
fi

{ source activate rapids || echo ok ; } \
{ source activate base || echo ok ; } \
&& echo "pwd: `pwd`" && find . && streamlit run "$@" "${PASS_LOG_LEVEL}"
2 changes: 1 addition & 1 deletion src/docker/override/docker-compose.override.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ services:
args:
- DOCKER_TAG=${DOCKER_TAG:-latest}
- BUILDKIT_INLINE_CACHE=1
- GRAPHISTRY_FORGE_BASE_VERSION=${GRAPHISTRY_FORGE_BASE_VERSION:-v2.43.0-12.8}
- GRAPHISTRY_FORGE_BASE_VERSION=${GRAPHISTRY_FORGE_BASE_VERSION:-v2.50.0-13.0}
context: ..
dockerfile: ./docker/Dockerfile
cache_from:
Expand Down
13 changes: 12 additions & 1 deletion src/python/util/log.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import logging
import os
import sys

# logging.basicConfig(format="%(levelname)s %(asctime)s %(name)s:%(message)s\n")
logging.basicConfig(format="%(levelname)s %(asctime)s %(name)s:%(message)s\n")
Expand All @@ -9,7 +10,17 @@ def getChild(*args, **kwargs):
logger = logging.getLogger('gak')

log_level_str = os.environ.get('LOG_LEVEL', 'ERROR').upper()
log_level = getattr(logging, log_level_str)
# Handle non-standard log levels gracefully
try:
log_level = getattr(logging, log_level_str)
except AttributeError:
# Map non-standard levels to closest standard level
level_mapping = {
'TRACE': logging.DEBUG,
'VERBOSE': logging.DEBUG,
}
log_level = level_mapping.get(log_level_str, logging.ERROR)
sys.stderr.write(f"Log level '{log_level_str}' not supported, mapping to {logging.getLevelName(log_level)}\n")
logger.debug(f"util.log log_level == {log_level_str} ({log_level})")

out=logger.getChild(*args, **kwargs)
Expand Down