Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
56655e4
Add kubernetes support
keceli Feb 13, 2026
500ed0f
Add http proxy, required for alcf systemts
keceli Feb 14, 2026
26e63b7
feat: add human-in-the-loop support with optional ask_human tool
tdpham2 Apr 23, 2026
13d6cda
refactor: reorganize tools into *_core.py + thin-wrapper pattern
tdpham2 Apr 27, 2026
2990c55
Fix linting
tdpham2 Apr 27, 2026
6ec3fa0
Fix default calculators based on available module
tdpham2 May 1, 2026
6f973d3
Modernize UI to chat-style interface with ask_human support
tdpham2 May 4, 2026
53ef364
Make human_supervised opt-in and stream resume output
tdpham2 May 4, 2026
33e39e8
Merge branch 'dev' into dev-ase
tdpham2 May 4, 2026
10444c0
Merge pull request #119 from argonne-lcf/dev-ase
tdpham2 May 4, 2026
04aadab
Fix for infinite html report loop
keceli Feb 18, 2026
f0cba94
Change default to no report
keceli Feb 18, 2026
5cfd244
Harden planner response parsing across agent workflows
keceli Feb 18, 2026
6665d29
Fix multi-agent problems and update uo
keceli Feb 18, 2026
b9adcf4
Fix Ruff lint violations in UI app
keceli Feb 19, 2026
381b353
Fix infrared detection for non-string message content
keceli Feb 14, 2026
9cf0220
Remove batch_orchestrator from graspa_mcp graph
tdpham2 Mar 12, 2026
52764c7
Update prompts to remove batch_orchestrator
tdpham2 Mar 12, 2026
f6b5bf6
Move import to inside Parsl app
tdpham2 Mar 12, 2026
60ac5f7
Remove unused import
tdpham2 Mar 12, 2026
bc54d96
Initial push for ChemGraph-RAG agent
tdpham2 Mar 13, 2026
699d30b
Add a demo for Rag-agent using Argo
tdpham2 Mar 13, 2026
2f8924c
Fix lintting
tdpham2 Mar 13, 2026
5ae0562
Increase max character limit for title
tdpham2 Mar 16, 2026
f124187
Update llm_agent to write to database
tdpham2 Mar 16, 2026
db01b79
Add CLI for memory-related functions
tdpham2 Mar 16, 2026
ac7805c
Add an example for memory-related operations
tdpham2 Mar 16, 2026
b052e87
Update documentations
tdpham2 Mar 16, 2026
a688b76
Add tests for creating and logging session
tdpham2 Mar 16, 2026
260e3f1
Add test for memory
tdpham2 Mar 16, 2026
cc22011
Update how log_dir is initialized
tdpham2 Mar 23, 2026
f9d4bdd
remove deepdiff from pyproject.toml
tdpham2 Mar 23, 2026
c9cfa88
Update vibrational analysis output to avoid overwritten files
tdpham2 Mar 23, 2026
0a6ece3
Update CLI for evaluation
tdpham2 Mar 23, 2026
196f5af
Update default tools for single_agent
tdpham2 Mar 23, 2026
65c9828
Update chemgraph.eval module
tdpham2 Mar 23, 2026
fe0722c
Add MCP instructions for using ChemGraph MCP with OpenCode
tdpham2 Mar 10, 2026
4a0e6b7
Add status to current OpenCode/MCP integration
tdpham2 Mar 10, 2026
491a523
Add instructions for using OpenCode + ChemGraph MCP tools on Aurora
tdpham2 Mar 23, 2026
26d4412
Rename examples to chemgraph_opencode
tdpham2 Mar 23, 2026
75002d7
Add evaluation documentations
tdpham2 Mar 26, 2026
469be0b
Update config.toml for evaluation
tdpham2 Mar 26, 2026
307f1ab
Add XANES tools and update single-agent graph logic
vitorgrizzi Feb 2, 2026
a615462
fix dup bug
vitorgrizzi Feb 6, 2026
1381b45
fix git bug
vitorgrizzi Feb 6, 2026
c81f8de
fix xanes tools
vitorgrizzi Feb 13, 2026
4b1ea94
fix parsl output
vitorgrizzi Feb 17, 2026
932b715
enhance xanes_tools.py integration
vitorgrizzi Feb 20, 2026
13d25e1
bug fix
vitorgrizzi Feb 20, 2026
441732b
bug fix
vitorgrizzi Feb 27, 2026
9407a4f
pickle fix
vitorgrizzi Feb 28, 2026
9c8ffa6
fix atomsdata import
vitorgrizzi Feb 28, 2026
ba04367
fix xanes tools
vitorgrizzi Feb 28, 2026
ebc3e06
file support to xanes
vitorgrizzi Mar 6, 2026
a056297
AtomsData xanes docstring
vitorgrizzi Mar 6, 2026
4913ed1
AtomsData xanes docstring fix
vitorgrizzi Mar 6, 2026
2055fee
fix xanes
vitorgrizzi Mar 6, 2026
8f72578
fix type hinting
vitorgrizzi Mar 6, 2026
cd61af3
rebase
vitorgrizzi Mar 26, 2026
d256ea4
Add XANES MCP server, refactor xanes_tools, and create single_agent_x…
tdpham2 Mar 27, 2026
e91cdd4
Add Python>=3.11 version for mp_api
tdpham2 Mar 30, 2026
05bab08
Update output from fetch_xanes_data and add plot_xanes_data to LangGr…
tdpham2 Mar 31, 2026
b70bbc7
Update xanes graph
tdpham2 Mar 31, 2026
b7e3b48
Add xanes mcp with Parsl tools
tdpham2 Mar 31, 2026
939affb
Add xanes mcp tools
tdpham2 Mar 31, 2026
7b4e782
Add examples for ChemGraph running XANES via MCP tools
tdpham2 Mar 31, 2026
5793ff2
Add examples for ChemGraph running XANES via MCP tools with http tran…
tdpham2 Mar 31, 2026
5dbc23a
Remove argo_user and base_url from script
tdpham2 Mar 31, 2026
fd62e06
Add missing loader.py for llm-judge
tdpham2 Mar 31, 2026
97178a9
Move structured_output() to JSON via prompt
tdpham2 Apr 13, 2026
60697f9
Update formatter agent output
tdpham2 Apr 13, 2026
d662b6c
Update evaluation pipeline to use structured output for evaluation
tdpham2 Apr 13, 2026
5b811d7
Update ground_truth data for evaluation and script to generate ground…
tdpham2 Apr 13, 2026
8facd1e
Update ase input schema
tdpham2 Apr 13, 2026
b59d3f6
Add structured_output option to CLI
tdpham2 Apr 13, 2026
08cd637
Update structured_output to default evaluation mode
tdpham2 Apr 13, 2026
856ad35
Add structured_output_judrge
tdpham2 Apr 13, 2026
21a68be
Add retry to FormatterAgent
tdpham2 Apr 14, 2026
d8e2de4
Add formatter_max_retries to agent initialization
tdpham2 Apr 14, 2026
8d60a63
Update evaluation logic when FormatterAgent fails
tdpham2 Apr 14, 2026
c42b0f2
Add checkpointing to evaluation
tdpham2 Apr 16, 2026
2aaa451
Add --resume option to config and cli to restart evaluation
tdpham2 Apr 16, 2026
49865ae
Add thread lock to MACE
tdpham2 Apr 17, 2026
5a74c40
Refactor CLI into chemgraph.cli package, unify model routing, and fix…
tdpham2 Apr 22, 2026
3bc48dc
Fix copy-paste bugs in Anthropic model loader and Argo model mapping
tdpham2 Apr 22, 2026
29e4098
Fix linting
tdpham2 Apr 22, 2026
b302c6e
Fix linting for examples/ and scripts/
tdpham2 Apr 22, 2026
b6c619c
Fix linting for tests/
tdpham2 Apr 22, 2026
44ace28
Fix test_memory.py
tdpham2 Apr 22, 2026
af02969
Fix test memory for windows
tdpham2 Apr 22, 2026
e99f584
Move test-pypi to workflow dispatch only
tdpham2 Apr 22, 2026
7989043
Refactor multi-agent workflow to Send()-based architecture with retry…
tdpham2 Apr 23, 2026
db9424d
Remove multi_agent_mcp workflow: MCP tools work natively with multi_a…
tdpham2 Apr 23, 2026
2f74d8e
Update MCP examples to use chemgraph's built-in MCP server module
tdpham2 Apr 23, 2026
8d8ce3c
Add missing parsing functionality
tdpham2 Apr 23, 2026
2d8d909
Remove debug log from ase_tools.py
tdpham2 Apr 23, 2026
3d88fea
Add task-level failure detection and retry logic to multi-agent graph
tdpham2 Apr 24, 2026
f7a996a
Update ase_tool to report dipole unit
tdpham2 Apr 24, 2026
368354b
Fix report tool to use JSON output instead of making a large input dict
tdpham2 Apr 27, 2026
1a6947b
Fix UI not displaying molecules
tdpham2 Apr 27, 2026
4b79ef4
Fix molecular viewer bug
tdpham2 Apr 27, 2026
4e0b31d
Modularize Streamlit UI for maintainability
tdpham2 Apr 27, 2026
dfd9155
Add error handling and full element coverage to generate_html
tdpham2 Apr 27, 2026
e90eab7
Fix Streamlit UI stability issues and update example query
tdpham2 Apr 27, 2026
6fe201c
Add ALCF endpoint config and SessionStore integration to Streamlit UI
tdpham2 Apr 29, 2026
1a51879
Fix linting
tdpham2 Apr 29, 2026
c6a2239
feat: add human-in-the-loop support with optional ask_human tool
tdpham2 Apr 23, 2026
01b6a62
refactor: reorganize tools into *_core.py + thin-wrapper pattern
tdpham2 Apr 27, 2026
f0deac2
Fix linting
tdpham2 Apr 27, 2026
607bee9
Fix default calculators based on available module
tdpham2 May 1, 2026
a9b88f6
Modernize UI to chat-style interface with ask_human support
tdpham2 May 4, 2026
05263ec
Make human_supervised opt-in and stream resume output
tdpham2 May 4, 2026
f208597
Add new logo and icon and expand collapsed sections
keceli May 3, 2026
54e6580
Updated logos and add a new citation
keceli May 3, 2026
330e250
Updated logos and add a new citation
keceli May 3, 2026
ffcb200
Update logo image format in README.md
keceli May 3, 2026
4786d93
Use ChemGraph logo in Streamlit UI
keceli May 3, 2026
c87d629
Bump version to 0.4.0
keceli May 3, 2026
23433d0
Add ARGO_USER and ALCF_ACCESS_TOKEN to docker
tdpham2 May 6, 2026
68f8223
Merge branch 'dev' into feature_k8s
tdpham2 May 6, 2026
d24bba0
Add ARGO_USER and ALCF_ACCESS_TOKEN to k8s manifests
tdpham2 May 6, 2026
efd20c8
Add branch-based GHCR publish for feature_k8s
tdpham2 May 6, 2026
1512c00
Downgrade tblite from 0.5.0 to 0.4.0
tdpham2 May 6, 2026
da3ce0d
Remove arm64 from GHCR publish workflow
tdpham2 May 6, 2026
1b07064
Fix image tag mismatch: use feature_k8s (underscore)
tdpham2 May 6, 2026
0bd045b
Add MCP server connection support to CLI and fix MCP content serializ…
tdpham2 May 7, 2026
3f2f5f1
Add MCP server Kubernetes deployment
tdpham2 May 7, 2026
dc611ed
Update deploy.sh to deploy both Streamlit and MCP services
tdpham2 May 7, 2026
c36bf3a
Add dev branch to CI publish and make image tag configurable
tdpham2 May 7, 2026
e343f2f
Merge pull request #123 from argonne-lcf/feature_k8s
tdpham2 May 7, 2026
bf25c9b
Standardize spin/multiplicity across calculators and use it in thermo
keceli May 5, 2026
b593b07
Fix pytest collection and declare eval dependency
keceli May 5, 2026
92a76f4
Clean up pytest warnings
keceli May 31, 2026
9f40f2f
Improve Streamlit UI state handling and docs
keceli May 31, 2026
35478fa
Add always-available chat reset
keceli May 31, 2026
f1b2f4e
Scope UI artifacts to current chat
keceli May 31, 2026
654413e
Map xTB aliases to TBLite calculator
keceli May 31, 2026
9a26f36
Use available calculators during initialization
keceli Jun 1, 2026
e3e8caa
Ignore local config
keceli Jun 1, 2026
0ff6f39
Show available calculators in UI sidebar
keceli Jun 1, 2026
cfdf842
Improve UI math and report rendering
keceli Jun 1, 2026
9c1b4ce
Update docs for current UI and HPC workflows
keceli Jun 1, 2026
524ea33
Add single-agent routing tests
keceli Jun 1, 2026
6548827
Pin LangGraph dependency versions
keceli Jun 1, 2026
09cdd1e
Fix CI workflow and serializer issues
keceli Jun 1, 2026
174df91
Add parameter docstrings across source
keceli Jun 1, 2026
fb4fa8d
Bump ChemGraph version to 0.5.0
keceli Jun 2, 2026
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
14 changes: 12 additions & 2 deletions .github/workflows/dependency_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
install_extras: [core, calculators, uma, ui, parsl, viz]
install_extras: [core, calculators, uma, ui, parsl, xanes, rag]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -74,9 +74,19 @@ jobs:
'uma': ['fairchem.core', 'e3nn'],
'ui': ['streamlit', 'stmol'],
'parsl': ['parsl'],
'viz': ['pyppeteer', 'grandalf', 'nest_asyncio']
'xanes': ['parsl'],
'rag': [
'faiss',
'langchain_text_splitters',
'langchain_huggingface',
'sentence_transformers',
'fitz',
],
}

if extras == 'xanes' and sys.version_info >= (3, 11):
extra_packages['xanes'].append('mp_api')

if extras != 'core':
# Check packages for specific extra
if extras in extra_packages:
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/ghcr-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
tags:
- "v*"
branches:
- feature_k8s
- dev
workflow_dispatch:

permissions:
Expand All @@ -20,9 +23,6 @@ jobs:
- arch: amd64
platform: linux/amd64
dockerfile: Dockerfile
- arch: arm64
platform: linux/arm64
dockerfile: Dockerfile.arm

steps:
- name: Checkout code
Expand Down Expand Up @@ -84,10 +84,11 @@ jobs:
images: ${{ steps.prep.outputs.image }}
tags: |
type=ref,event=tag
type=ref,event=branch
type=sha,prefix=sha-
type=raw,value=latest
type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/') }}

- name: Create and push multi-arch manifests
- name: Create and push manifests
env:
IMAGE: ${{ steps.prep.outputs.image }}
TAGS: ${{ steps.meta.outputs.tags }}
Expand All @@ -96,11 +97,10 @@ jobs:
[ -z "$tag" ] && continue
docker buildx imagetools create \
-t "$tag" \
"${IMAGE}:build-${GITHUB_SHA}-amd64" \
"${IMAGE}:build-${GITHUB_SHA}-arm64"
"${IMAGE}:build-${GITHUB_SHA}-amd64"
done <<< "$TAGS"

- name: Inspect latest manifest
- name: Inspect manifest
env:
IMAGE: ${{ steps.prep.outputs.image }}
run: docker buildx imagetools inspect "${IMAGE}:latest"
run: docker buildx imagetools inspect "${IMAGE}:${GITHUB_REF_NAME}"
3 changes: 1 addition & 2 deletions .github/workflows/test-pypi-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ jobs:
run: |
python -c "import chemgraph; print('ChemGraph imported successfully')"
python -c "from chemgraph.cli import main; print('CLI module imported successfully')"
# Test that CLI command is available
chemgraph --help || echo "CLI help command executed"
chemgraph --help

- name: Run basic import tests
run: |
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,8 @@ test.csv
nwchem/
nwchem.nwi
nwchem.nwo

config.toml
vib*.traj

# Kubernetes secrets (keep secrets.yaml.template, ignore actual secrets)
k8s/secrets.yaml
Loading
Loading