Skip to content

Commit 805b0a1

Browse files
author
James Trageser (jtrag)
committed
repo still under construction, configuring things. Please be patient while we get things in order.
0 parents  commit 805b0a1

48 files changed

Lines changed: 3281 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/latex-build.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# ============================================================
2+
# NRC Core — LaTeX Build & GitHub Pages Deploy
3+
# Compiles the Nexus Resonance Codex paper to PDF and
4+
# deploys the result alongside the HTML to GitHub Pages.
5+
# ============================================================
6+
name: LaTeX Build & Pages Deploy
7+
8+
on:
9+
push:
10+
branches: ["main"]
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: write
15+
pages: write
16+
id-token: write
17+
18+
concurrency:
19+
group: "pages"
20+
cancel-in-progress: false
21+
22+
jobs:
23+
build:
24+
name: Compile LaTeX → PDF
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@v4
29+
30+
- name: Compile LaTeX Document
31+
uses: xu-cheng/latex-action@v3
32+
with:
33+
root_file: Nexus-Resonance-Codex.tex
34+
working_directory: docs/Nexus-Resonance-Codex-tex-files/
35+
compiler: latexmk
36+
args: -pdf -interaction=nonstopmode -synctex=1
37+
# Run twice to resolve cross-references & TOC
38+
extra_system_packages: "py-pygments"
39+
40+
- name: Assemble deployment directory
41+
run: |
42+
mkdir -p public
43+
# Ship the compiled PDF
44+
cp docs/Nexus-Resonance-Codex-tex-files/Nexus-Resonance-Codex.pdf public/
45+
# Ship HTML viewer if present
46+
cp docs/index.html public/ 2>/dev/null || true
47+
# Add a simple redirect index if no HTML exists
48+
if [ ! -f public/index.html ]; then
49+
echo '<meta http-equiv="refresh" content="0; url=Nexus-Resonance-Codex.pdf">' > public/index.html
50+
fi
51+
52+
- name: Setup Pages
53+
uses: actions/configure-pages@v5
54+
55+
- name: Upload Pages artifact
56+
uses: actions/upload-pages-artifact@v3
57+
with:
58+
path: "public"
59+
60+
deploy:
61+
name: Deploy to GitHub Pages
62+
environment:
63+
name: github-pages
64+
url: ${{ steps.deployment.outputs.page_url }}
65+
needs: build
66+
runs-on: ubuntu-latest
67+
steps:
68+
- name: Deploy to GitHub Pages
69+
id: deployment
70+
uses: actions/deploy-pages@v4

.github/workflows/python-ci.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# ============================================================
2+
# NRC Core Library — Python CI
3+
# Tests the `nrc` math library across Python 3.10, 3.11, 3.12
4+
# ============================================================
5+
name: Python CI — nrc core library
6+
7+
on:
8+
push:
9+
branches: ["main"]
10+
pull_request:
11+
branches: ["main"]
12+
workflow_dispatch:
13+
14+
jobs:
15+
test:
16+
name: Test (Python ${{ matrix.python-version }})
17+
runs-on: ubuntu-latest
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
python-version: ["3.10", "3.11", "3.12"]
22+
23+
steps:
24+
- name: Checkout repository
25+
uses: actions/checkout@v4
26+
27+
- name: Set up Python ${{ matrix.python-version }}
28+
uses: actions/setup-python@v5
29+
with:
30+
python-version: ${{ matrix.python-version }}
31+
cache: "pip"
32+
33+
- name: Install nrc package and dev tools
34+
run: |
35+
python -m pip install --upgrade pip
36+
pip install ".[dev]"
37+
38+
- name: Lint with ruff
39+
run: |
40+
ruff check src/ --select E9,F63,F7,F82 --output-format=github
41+
ruff check src/ --exit-zero --output-format=github
42+
43+
- name: Type-check with mypy
44+
run: |
45+
mypy src/nrc --ignore-missing-imports || true
46+
47+
- name: Run tests with pytest
48+
run: |
49+
pytest tests/ -v --tb=short
50+
51+
# ----------------------------------------------------------------
52+
# coverage: runs only on Python 3.12 against main
53+
# ----------------------------------------------------------------
54+
coverage:
55+
name: Coverage Report
56+
runs-on: ubuntu-latest
57+
if: github.ref == 'refs/heads/main'
58+
steps:
59+
- uses: actions/checkout@v4
60+
- uses: actions/setup-python@v5
61+
with:
62+
python-version: "3.12"
63+
cache: "pip"
64+
- name: Install with coverage extras
65+
run: |
66+
pip install ".[dev]" pytest-cov
67+
- name: Run tests with coverage
68+
run: |
69+
pytest tests/ --cov=src/nrc --cov-report=term-missing --cov-report=xml
70+
- name: Upload coverage report
71+
uses: codecov/codecov-action@v4
72+
with:
73+
files: ./coverage.xml
74+
fail_ci_if_error: false

.gitignore

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# ==========================================
2+
# Environments and Local Configurations
3+
# ==========================================
4+
.env
5+
.env.local
6+
.env.*.local
7+
config/secrets.yml
8+
auth.json
9+
10+
# ==========================================
11+
# IDEs and Editors
12+
# ==========================================
13+
.vscode/
14+
.vscode-test/
15+
.idea/
16+
*.suo
17+
*.ntvs*
18+
*.njsproj
19+
*.sln
20+
*.sw?
21+
*~
22+
*.code-workspace
23+
.history/
24+
25+
# ==========================================
26+
# Operating Systems
27+
# ==========================================
28+
# macOS
29+
.DS_Store
30+
.AppleDouble
31+
.LSOverride
32+
Icon
33+
._*
34+
.DocumentRevisions-V100
35+
.fseventsd
36+
.Spotlight-V100
37+
.TemporaryItems
38+
.Trashes
39+
.VolumeIcon.icns
40+
.com.apple.timemachine.donotpresent
41+
42+
# Windows
43+
Thumbs.db
44+
Thumbs.db:encryptable
45+
ehthumbs.db
46+
ehthumbs_vista.db
47+
*.stackdump
48+
[Dd]esktop.ini
49+
$RECYCLE.BIN/
50+
51+
# Linux
52+
*~
53+
.directory
54+
55+
# ==========================================
56+
# LaTeX Temporary and Build Files
57+
# ==========================================
58+
# Core LaTeX build/temp files
59+
*.aux
60+
*.bbl
61+
*.blg
62+
*.fdb_latexmk
63+
*.fls
64+
*.log
65+
*.synctex.gz
66+
*.toc
67+
*.out
68+
*.nav
69+
*.snm
70+
*.vrb
71+
*.run.xml
72+
*.bcf
73+
*.thm
74+
*.idx
75+
*.ilg
76+
*.ind
77+
*.lof
78+
*.lot
79+
*.spl
80+
81+
# Packages and Tools temp files
82+
*.acn
83+
*.acr
84+
*.alg
85+
*.glg
86+
*.glo
87+
*.gls
88+
*.glsdefs
89+
*.ist
90+
*.slg
91+
*.syg
92+
*.syi
93+
*.xyc
94+
95+
# ==========================================
96+
# Python, Machine Learning, and Jupyter
97+
# ==========================================
98+
# Byte-compiled / optimized / DLL files
99+
__pycache__/
100+
*.py[cod]
101+
*$py.class
102+
103+
# PyTorch and Machine Learning artifacts
104+
*.pt
105+
*.pth
106+
*.bin
107+
*.onnx
108+
*.pb
109+
*.safetensors
110+
wandb/
111+
runs/
112+
lightning_logs/
113+
checkpoints/
114+
models/
115+
116+
# Dataset folders
117+
data/
118+
datasets/
119+
120+
# C extensions
121+
*.so
122+
123+
# Distribution / packaging
124+
.Python
125+
build/
126+
develop-eggs/
127+
dist/
128+
downloads/
129+
eggs/
130+
.eggs/
131+
lib/
132+
lib64/
133+
parts/
134+
sdist/
135+
var/
136+
wheels/
137+
share/python-wheels/
138+
*.egg-info/
139+
.installed.cfg
140+
*.egg
141+
MANIFEST
142+
143+
# Virtual environments
144+
venv/
145+
.venv/
146+
env/
147+
.env_dir/
148+
virtualenv/
149+
VENV/
150+
env.bak/
151+
venv.bak/
152+
153+
# Jupyter Notebook
154+
.ipynb_checkpoints
155+
*.ipynb
156+
157+
# Pytest / coverage
158+
.pytest_cache/
159+
htmlcov/
160+
.tox/
161+
.nox/
162+
.coverage
163+
.coverage.*
164+
.cache
165+
nosetests.xml
166+
coverage.xml
167+
*.cover
168+
*.py,cover
169+
.hypothesis/
170+
171+
# ==========================================
172+
# Node.js (If web/frontend interfaces are added later)
173+
# ==========================================
174+
node_modules/
175+
npm-debug.log*
176+
yarn-debug.log*
177+
yarn-error.log*
178+
.pnpm-debug.log*
179+
180+
# ==========================================
181+
# Project Specific (Nexus-Resonance-Codex)
182+
# ==========================================
183+
# (Add any specific NRC temp directories here if needed in the future)
184+
*.parquet
185+
*.jsonl

0 commit comments

Comments
 (0)