Skip to content

Commit 440e98c

Browse files
authored
32 provide installation instructions (#33)
Support dual-mode: powers on-the-fly parsing + testing (MCP) as well as coding (parser bundle) - Split regular tool wrappers from MCP and async functionalities - Automate central registration of tools, resources, prompts and other relevant metadata - Document options for MCP integration and deployment - Add resources: -- for calling tools as dependencies -- extensive list of programmatic support per parser (TODO: test necessity) - Update schema: -- add metadata about file type and code that was parsed to the Parsers MCP -- add `formula_type` to NOMAD MCP Perform major reconstruction: - Restructure folders to distinguish MCP servers: parsers, databases, RAG (in the future) -- Reserve folder for code tests -- Generate a template folder for different hosts + dedicated README - Make imports modular + bundle together - Add tests (with `pytest`) + dedicated README -- For MCP loading and running -- For NOMAD API calls - Add Github workflows Miscellaneous: - Fix start-up bug: use relative path instead of absolute - Decrease request package version for compatibility with NOMAD v1.3.16 - Suppress version warning in `cclib` --------- Co-authored-by: ndaelman <ndaelman@physik.hu-berlin.de>
1 parent b17149f commit 440e98c

31 files changed

Lines changed: 2495 additions & 1512 deletions

File tree

.data/ztbeMA28ILtxhTRp_mnCXhJYSARd/fc2yNy-pQG2J5fqcRs99tA/generate_c11_c12_dataset/run_calculations/6245/input.gjf

Lines changed: 0 additions & 79 deletions
This file was deleted.

.data/ztbeMA28ILtxhTRp_mnCXhJYSARd/fc2yNy-pQG2J5fqcRs99tA/generate_c11_c12_dataset/run_calculations/6245/input_smiles.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

.data/ztbeMA28ILtxhTRp_mnCXhJYSARd/fc2yNy-pQG2J5fqcRs99tA/generate_c11_c12_dataset/run_calculations/6245/molecule.mol

Lines changed: 0 additions & 79 deletions
This file was deleted.

.data/ztbeMA28ILtxhTRp_mnCXhJYSARd/manifest.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/lint.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Code Quality
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
lint:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Install uv
17+
uses: astral-sh/setup-uv@v3
18+
with:
19+
version: "latest"
20+
21+
- name: Set up Python
22+
run: uv python install 3.12
23+
24+
- name: Install dependencies with dev extras
25+
run: uv sync --extra dev
26+
27+
# Linting is available but not enforced yet
28+
# Uncomment these steps when ready to enforce code quality
29+
30+
# - name: Run ruff linting
31+
# run: uv run ruff check .
32+
33+
# - name: Run ruff formatting check
34+
# run: uv run ruff format --check .
35+
36+
# - name: Type checking with mypy (if available)
37+
# run: |
38+
# if uv run python -c "import mypy" 2>/dev/null; then
39+
# uv run mypy src/parse_patrol --ignore-missing-imports
40+
# else
41+
# echo "mypy not available, skipping type checking"
42+
# fi
43+
# continue-on-error: true
44+
45+
- name: Placeholder for future linting
46+
run: echo "Linting workflow ready - uncomment steps above when ready to enforce"

.github/workflows/test.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.12"]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install uv
20+
uses: astral-sh/setup-uv@v3
21+
with:
22+
version: "latest"
23+
24+
- name: Set up Python ${{ matrix.python-version }}
25+
run: uv python install ${{ matrix.python-version }}
26+
27+
- name: Install dependencies with all extras
28+
run: uv sync --extra all
29+
30+
- name: Run tests
31+
run: uv run python -m pytest tests/ -v
32+
33+
- name: Run tests with coverage
34+
run: |
35+
uv add --dev coverage[toml] pytest-cov
36+
uv run python -m pytest tests/ --cov=parse_patrol --cov-report=xml --cov-report=term-missing
37+
38+
- name: Upload coverage to Codecov
39+
uses: codecov/codecov-action@v4
40+
with:
41+
file: ./coverage.xml
42+
flags: unittests
43+
name: codecov-umbrella
44+
fail_ci_if_error: false

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
# Repo
2-
.data
1+
# Project folders
2+
.pipelines/data
3+
.pipelines/resources
4+
.pipelines/scripts
5+
tests/.data
36

47
# VS Code
58
.vscode/
File renamed without changes.
File renamed without changes.

.vscode/mcp.template.json

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)