Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
8db40aa
feat: add script to compress node embeddings for smart contract gating
kryputh Apr 25, 2026
3257c60
Update pyproject.toml to fix setuptools backend configuration.
kryputh Apr 25, 2026
7c5c907
Merge branch 'main' into feature/temporal-gnn-models
jaynomyaro Apr 26, 2026
2ac476c
Add comprehensive data quality validation framework
jaynomyaro Apr 26, 2026
bc24f4f
Implement comprehensive Feature Store for AstroML
jaynomyaro Apr 26, 2026
1da4bc4
Merge pull request #142 from kryputh/issue-84-compress-embeddings
gelluisaac Apr 26, 2026
d37f02d
Merge pull request #143 from jaynomyaro/main
gelluisaac Apr 26, 2026
e7ebe60
Merge pull request #144 from jaynomyaro/feature/temporal-gnn-models
gelluisaac Apr 26, 2026
a5da16b
Merge pull request #145 from Menjay7/main
gelluisaac Apr 26, 2026
b8cff3a
Add performance optimization guide and update index documentation
Apr 27, 2026
d36fcc2
https://github.com/Traqora/astroml.git
jaynomyaro Apr 27, 2026
fa7c36e
Merge pull request #147 from Menjay7/jay
gelluisaac Apr 27, 2026
7b6fd1d
feat: add live stellar transaction visualization
David-patrick-chuks Apr 27, 2026
9043d4e
Merge upstream/main into fix/121-realtime-stream-visualization
David-patrick-chuks Apr 27, 2026
dd7b00f
Merge pull request #148 from David-patrick-chuks/fix/121-realtime-str…
gelluisaac Apr 28, 2026
f383bfd
Add comprehensive integration tests
jaynomyaro May 26, 2026
9f6ac42
Add Transaction History Page to frontend
jaynomyaro May 26, 2026
014445f
#175: Add type-checked Pydantic training config
fadee26 May 28, 2026
2648351
Add pre-commit hooks and formatting checks
jotel-dev May 28, 2026
50a414c
Benchmark reproducibility: store random seeds and configs
jotel-dev May 28, 2026
f956681
Add authentication and authorization unit and integration tests
jaynomyaro May 28, 2026
2f667c1
https://github.com/Menjay7/astroml.git
jaynomyaro May 29, 2026
774ef07
Merge branch 'main' into main
Menjay7 May 29, 2026
0442961
Graph builder memory usage spike on large windows
BigMick03 May 29, 2026
d37f2e1
Fix database validation, example paths, checkpoint loading, and type …
anonfedora May 29, 2026
3bb6f5b
Merge branch 'main' into fix/validation-checkpoint-paths
anonfedora May 29, 2026
df12539
Merge pull request #215 from anonfedora/fix/validation-checkpoint-paths
gelluisaac May 29, 2026
9e473b4
Merge pull request #149 from Menjay7/main
gelluisaac May 29, 2026
a1b1108
Merge branch 'main' into add-pre-commit-hooks-and-formatting-checks
jotel-dev May 29, 2026
4b02157
Merge branch 'main' into benchmark-reproducibility-store-random-seeds…
jotel-dev May 29, 2026
37471f8
feat: add lightweight docker compose override for local dev
jotel-dev May 29, 2026
962596f
feat: add CI caching for pip wheels to speed builds
jotel-dev May 29, 2026
5aa6e7e
Fix model checkpoint loading silent failures
jaynomyaro May 29, 2026
319b8d7
Merge remote changes with checkpoint loading fixes
jaynomyaro May 29, 2026
176a4e0
Documentation: missing architecture diagram
nayt9 May 29, 2026
d84d688
Add background retry for pending claim submissions
jaynomyaro May 29, 2026
d2f84ba
feat: db config validation, CPU/GPU CI matrix, deterministic seeds, e…
Themancalledpg May 29, 2026
0b31e91
docs+chore: clean requirements, central logging, streaming graph builder
chinelo002 May 29, 2026
dfedf70
Merge pull request #218 from nayt9/testt
gelluisaac May 29, 2026
96db96c
Merge pull request #220 from Themancalledpg/fix/pg-config-validation-…
gelluisaac May 29, 2026
5867e3a
Merge pull request #221 from chinelo002/feat/req-docs-logging-graph-m…
gelluisaac May 29, 2026
546d1e6
test(logging): cover astroml.utils.logging.configure_logging (#195)
chinelo002 May 29, 2026
2740e00
fix(cli): clearer top-level help with examples and global flags (#180)
Mawuli-tech May 30, 2026
8e0c5b1
Merge pull request #223 from Mawuli-tech/fix/cli-help-180
gelluisaac May 30, 2026
25dd972
Merge pull request #222 from chinelo002/fix/scott-requirements-loggin…
gelluisaac May 30, 2026
bf364c5
Merge pull request #216 from jotel-dev/Add-a-lightweight-Docker-Compo…
gelluisaac May 30, 2026
b4c0ae8
Merge pull request #217 from jotel-dev/Add-CI-caching-for-pip-wheels-…
gelluisaac May 30, 2026
770aa06
Merge pull request #210 from fadee26/feat/fix-training-config-idempot…
gelluisaac May 30, 2026
da6aae5
feat(tests): add e2e integration test using test_data/ sample files (…
akintewe May 30, 2026
433263c
feat(tests): expand CLI help tests and add CI matrix regression tests…
akintewe May 30, 2026
78d8b4e
Merge pull request #224 from akintewe/fix/issues-163-178-150-156
gelluisaac May 30, 2026
16444f2
Merge branch 'main' into add-pre-commit-hooks-and-formatting-checks
jotel-dev May 30, 2026
e5be092
Merge branch 'main' into benchmark-reproducibility-store-random-seeds…
jotel-dev May 30, 2026
8964361
style: fix ruff lint errors (merge conflict, missing imports, bare ex…
jotel-dev May 30, 2026
527950e
Merge pull request #212 from jotel-dev/add-pre-commit-hooks-and-forma…
gelluisaac May 31, 2026
5df4727
Merge pull request #213 from jotel-dev/benchmark-reproducibility-stor…
gelluisaac May 31, 2026
4f91649
Merge pull request #214 from BigMick03/Traqora/astroml
gelluisaac May 31, 2026
7f4b44f
feat: implement schema validation for feature store ingestion
Yunusabdul38 May 31, 2026
926f1bb
Merge pull request #225 from Yunusabdul38/wave5-issue
gelluisaac May 31, 2026
79f19c1
feat: add production Docker deployment setup
May 31, 2026
074f038
docs: add reference to REQUIREMENTS.md in setup instructions (#157)
soma-enyi May 31, 2026
6f37e35
Security audit of stealth-sender Soroban contract
Olowodarey May 31, 2026
07ac953
feat(cli,dockerfile,ci): clearer CLI help, slimmer image, pre-commit …
Mawuli-tech May 29, 2026
6c709e1
fix(deps): repair invalid pip requirement specifiers
Mawuli-tech May 31, 2026
6b6bbf0
fix(deps): pin starlette >= 1.0.1 for PYSEC-2026-161
Mawuli-tech May 31, 2026
9227cce
fix(pytest): scope collection to tests/ so root smoke scripts don't b…
Mawuli-tech May 31, 2026
dc6712b
fix(ci,tests): unblock pytest cpu + Rust contract test
Mawuli-tech May 31, 2026
99de4f3
Merge pull request #219 from Mawuli-tech/fix/mawuli-cli-dockerfile-pr…
gelluisaac May 31, 2026
ccad996
Fix deterministic seed handling, add graph utils tests, improve snaps…
ritik4ever Jun 1, 2026
6f51b8e
Merge pull request #229 from ritik4ever/issue-159-160-184-155
gelluisaac Jun 1, 2026
2f00568
Fix: [FEATURE] API Project Setup — FastAPI scaffold, co
lovesxy-001 Jun 1, 2026
0592d6d
fix: astroml bug fixes -tests flaky yaml safe graph window
Oluwaseyi89 Jun 1, 2026
e00affa
docs: add comprehensive PR checklist to CONTRIBUTING.md (issue #171)
Gbangbolaoluwagbemiga Jun 1, 2026
6e6695b
feat: add artifact store, prometheus metrics, and fix example paths
efuncode Jun 1, 2026
d111c11
Merge pull request #227 from soma-enyi/issue-157-requirements-docs
gelluisaac Jun 1, 2026
71c3e06
Merge pull request #269 from efuncode/fat
gelluisaac Jun 1, 2026
90cf2d7
Merge pull request #268 from codemagician1949/docs/issue-171-contribu…
gelluisaac Jun 1, 2026
bcd52fa
Merge pull request #226 from Protpro/feat/docker-deployment-setup
gelluisaac Jun 1, 2026
716832b
Merge pull request #266 from lovesxy-001/fix/issue-250-1780310645
gelluisaac Jun 1, 2026
3003c4c
ci: add pip wheel caching, fix test flakiness, dev compose override, …
Williams-1604 Jun 1, 2026
c8bee14
feat(api): batch scoring scheduler with FraudAlert persistence (issue…
oluwagbemigaphilip Jun 1, 2026
ac188b8
Merge branch 'main' into yaro
Menjay7 Jun 1, 2026
d5f78e5
fix: resolve undefined names, bad f-strings, and duplicate imports
Oluwaseyi89 Jun 1, 2026
bd46e47
fix: isolate dedupe tests from validation package import side effects
Oluwaseyi89 Jun 1, 2026
897d916
fix(snapshot): correct 30d boundary off-by-one and enforce inclusive …
Oluwaseyi89 Jun 1, 2026
4384d79
Merge pull request #271 from Mercy017/fix/issue-258-batch-scoring-sch…
gelluisaac Jun 1, 2026
7cb5eb7
Merge pull request #270 from Williams-1604/fix/issues-203-204-207-264
gelluisaac Jun 1, 2026
ba0d07f
fix(training): add typed Pydantic schema validation for training conf…
Oluwaseyi89 Jun 1, 2026
fbf7363
fix(security): extend YAML safe_load enforcement scan to full codebas…
Oluwaseyi89 Jun 1, 2026
f13f164
Merge remote-tracking branch 'upstream/main' into fix/astroml-bugfixe…
Oluwaseyi89 Jun 1, 2026
a8f21e5
Merge pull request #267 from Oluwaseyi89/fix/astroml-bugfixes-tests-f…
gelluisaac Jun 1, 2026
919cb2c
Merge pull request #272 from Menjay7/yaro
gelluisaac Jun 1, 2026
b0be8fd
feat(api): implement issues #249, #251, #253, #257 — fraud detection,…
Pvsaint Jun 1, 2026
63cc138
Merge pull request #273 from Pvsaint/feature/issues-249-251-253-257-a…
gelluisaac Jun 1, 2026
7e78a23
feat: implement REST API for issues #252, #254, #255, #256
Creed1759 Jun 1, 2026
6772c07
Merge branch 'main' into feature/issues-252-254-255-256-api-endpoints
Creed1759 Jun 1, 2026
be3a48b
Merge pull request #274 from Creed1759/feature/issues-252-254-255-256…
gelluisaac Jun 1, 2026
f1c23a1
Merge branch 'main' into yaro
jaynomyaro Jun 1, 2026
6020f0a
Merge pull request #211 from jaynomyaro/yaro
gelluisaac Jun 1, 2026
ca96f8c
https://github.com/Traqora/astroml.git
jaynomyaro Jun 2, 2026
a1c3365
feat(api): add ORM-backed integration tests and wire API test stage i…
uche001-dev Jun 2, 2026
aab7de8
Merge remote changes with SC-1 security fix
jaynomyaro Jun 2, 2026
42b28f1
fix: resolve issues #201, #185, #179, #154
archanavdev Jun 2, 2026
44b2670
Merge pull request #277 from archanavdev/fix/issues-201-185-179-154
gelluisaac Jun 2, 2026
0664473
Merge pull request #276 from jaynomyaro/yaro
gelluisaac Jun 2, 2026
9379c5e
Merge pull request #275 from uche001-dev/feat/db-models-and-tests-244…
gelluisaac Jun 2, 2026
4acc44b
Merge branch 'main' into tttts
Olowodarey Jun 2, 2026
6dad2c2
Merge pull request #228 from Olowodarey/tttts
gelluisaac Jun 2, 2026
51a6c01
fix: transaction, history_account,fe-integration,docker-compose
0xdevmes Jun 2, 2026
baf6884
Merge pull request #278 from 0xdevmes/fix/transaction-history_account…
gelluisaac Jun 2, 2026
eb1d488
feat: add model registry, batch scoring, WebSocket streaming, and JWT…
10xwhoman Jun 2, 2026
fce62c4
Merge pull request #279 from 10xwhoman/fix/issues-237-238-239-240
gelluisaac Jun 2, 2026
f4217d5
Merge pull request #146 from laxjovial/performance-optimization-guide
gelluisaac Jun 10, 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
49 changes: 39 additions & 10 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# AstroML Environment Configuration
# Copy this file to .env and customize for your environment
# See docker-env-guide.md for detailed configuration information

# ============================================================================
# Database Configuration
# ============================================================================
Expand Down Expand Up @@ -43,12 +41,14 @@ STELLAR_SECRET_KEY=your_stellar_secret_key_here
# ============================================================================
# Application Configuration
# ============================================================================
APP_ENV=development
ASTROML_ENV=development
PYTHONPATH=/app
DEBUG=true

LOG_LEVEL=INFO
LOG_FORMAT=json
LOG_FILE=./logs/astroml.log
PYTHONPATH=/app
APP_ENV=development
DEBUG=False

# ============================================================================
# API Configuration
Expand Down Expand Up @@ -88,7 +88,7 @@ MLFLOW_TRACKING_URI=http://localhost:5000
MLFLOW_EXPERIMENT_NAME=astroml

# ============================================================================
# Jupyter Configuration (for development)
# Jupyter Configuration
# ============================================================================
JUPYTER_TOKEN=astroml_dev
JUPYTER_PASSWORD=astroml_dev
Expand Down Expand Up @@ -149,10 +149,6 @@ SOROBAN_NETWORK=public
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
SOROBAN_SECRET_KEY=your_soroban_secret_key_here
SOROBAN_FEE=10000

# ============================================================================
# Performance Configuration
# ============================================================================
MAX_WORKERS=4
BATCH_SIZE=1000
MEMORY_LIMIT=8GB
Expand All @@ -165,6 +161,14 @@ NETWORK_TIMEOUT=30
RETRY_COUNT=3
RETRY_DELAY=1

# ============================================================================
# Feature Store Advanced Configuration
# ============================================================================
FEATURE_STORE_CACHE_STRATEGY=LRU
FEATURE_STORE_STORAGE_FORMAT=PARQUET
FEATURE_STORAGE_COMPRESSION=snappy
FEATURE_STORE_VERSIONING=true

# ============================================================================
# Development Configuration
# ============================================================================
Expand All @@ -174,7 +178,10 @@ MOCK_SERVICES=false

# ============================================================================
# Production Configuration
# ============================================================================# ============================================================================
# Production Configuration
# ============================================================================
# Production Configuration
PROD_MODE=false
MONITORING_ENABLED=false
ALERTING_ENABLED=false
Expand All @@ -186,3 +193,25 @@ ENABLE_STREAMING=True
ENABLE_MONITORING=True
ENABLE_GPU_TRAINING=True
ENABLE_SOROBAN_CONTRACTS=True

# ============================================================================
# Docker Configuration
# ============================================================================
DOCKER_REGISTRY=astroml
DOCKER_TAG=latest
DOCKER_BUILDKIT=1

# ============================================================================
# Data Configuration
# ============================================================================
DATA_PATH=./data
MODELS_PATH=./models
LOGS_PATH=./logs
CONFIG_PATH=./config

# ============================================================================
# Network Configuration
# ============================================================================
NETWORK_TIMEOUT=30
RETRY_COUNT=3
RETRY_DELAY=1
187 changes: 187 additions & 0 deletions .github/workflows/docker-ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
name: Docker CI/CD Pipeline

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
release:
types: [ created ]

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: pip

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-cov

- name: Run tests
run: |
pytest tests/ -v --cov=astroml --cov-report=xml

- name: Upload coverage
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml

build-docker-images:
runs-on: ubuntu-latest
needs: build-and-test
strategy:
matrix:
stage: [base, development, feature-store, ingestion, training-cpu, production]
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha,prefix=

- name: Build Docker image
uses: docker/build-push-action@v5
with:
context: .
target: ${{ matrix.stage }}
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.stage }}-${{ github.sha }}
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.stage }}-latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

security-scan:
runs-on: ubuntu-latest
needs: build-docker-images
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:production-latest
format: 'sarif'
output: 'trivy-results.sarif'

- name: Upload Trivy results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: 'trivy-results.sarif'

deploy-kubernetes:
runs-on: ubuntu-latest
needs: [build-docker-images, security-scan]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.28.0'

- name: Configure kubectl
run: |
echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > kubeconfig
export KUBECONFIG=kubeconfig

- name: Install kustomize
run: |
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
sudo mv kustomize /usr/local/bin/

- name: Deploy to Kubernetes
run: |
kustomize build k8s/ | kubectl apply -f -

- name: Verify deployment
run: |
kubectl rollout status deployment/feature-store -n astroml
kubectl rollout status deployment/astroml-ingestion -n astroml
kubectl rollout status deployment/postgres -n astroml
kubectl rollout status deployment/redis -n astroml

deploy-staging:
runs-on: ubuntu-latest
needs: [build-docker-images, security-scan]
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.28.0'

- name: Configure kubectl
run: |
echo "${{ secrets.KUBE_CONFIG_STAGING }}" | base64 -d > kubeconfig
export KUBECONFIG=kubeconfig

- name: Install kustomize
run: |
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
sudo mv kustomize /usr/local/bin/

- name: Deploy to Staging
run: |
kustomize build k8s/overlays/staging | kubectl apply -f -

- name: Verify deployment
run: |
kubectl rollout status deployment/feature-store -n astroml-staging
kubectl rollout status deployment/astroml-ingestion -n astroml-staging

notify:
runs-on: ubuntu-latest
needs: [deploy-kubernetes]
if: always()
steps:
- name: Send notification
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: |
Deployment Status: ${{ job.status }}
Branch: ${{ github.ref }}
Commit: ${{ github.sha }}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
28 changes: 28 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: pre-commit

on:
push:
branches: ["main", "master"]
pull_request:
branches: ["main", "master"]

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
# Issue #203: cache pip wheels so pre-commit hooks install faster
cache: pip

- name: Install pre-commit
env:
PIP_CACHE_DIR: ~/.cache/pip
run: pip install pre-commit

- name: Run pre-commit
run: pre-commit run --all-files
Loading