Skip to content

DUNE/hep-metadex

Repository files navigation

High Energy Physics Metadata Exchange (HEP-METADEX)

Frameworks, Libraries, Infrastructure, and Tools Used in the Project

Name Purpose Installed
uv Python package, project, and build manager.
Ruff Python linter and code formatter.
ty Python type checker.
Material for MkDocs Markdown documentation framework.
FastAPI Python based backend web (ASGI) framework.
SQLModel Library for interacting with SQL databases from Python code, with Python objects.
Alembic A lightweight database migration tool for usage with the SQLAlchemy.
pytest Framework makes it easy to write small, readable tests.
Pydantic Settings Settings management with Pydantic.
Pydantic Logfire Comprehensive observability; logs, traces, and metrics.
Typer A Python type hint based library for building CLI applications.
Reflex Python based frontend web (React) framework.
Locust An open source load testing tool.
Celery or Taskiq A distributed task queue.
Pulumi IaC (TBD) An open source infrastructure as code tool.
K3s (Kubernetes) Lightweight Kubernetes.
Redis For task queues, caching, etc.
PostgreSQL A powerful, open source object-relational database system

Project Setup

uv

  • Install uv according to these instructions.
  • Install the latest Python 3.13 version: $ uv python install 3.13
  • Bootstrap the project directory: $ uv init -p 3.13.5 --app hep-metadex

Ruff

  • Install Ruff: $ uv add --dev ruff

ty

  • Install ty: $ uv add --dev ty

Material for MkDocs

  • Install Material for MkDocs: $ uv add --dev mkdocs-material
  • Install the mkdocs-monorepo-plugin plugin: $ uv add --dev mkdocs-monorepo-plugin
  • Install the mkdocs-glightbox plugin: $ uv add --dev mkdocs-glightbox
  • Install the mkdocs-git-authors-plugin plugin: $ uv add --dev mkdocs-git-authors-plugin
  • Install the mkdocs-git-revision-date-localized-plugin plugin: $ uv add --dev mkdocs-git-revision-date-localized-plugin
  • Sync the Python environment to get the updated packages: $ uv sync
  • Activate the environment: $ source .venv/bin/activate
  • Bootstrap the docs: $ mkdocs new .
  • Follow the instructions for "Publishing your site" on GitHub Pages.

FastAPI

  • Install FastAPI: $ uv add fastapi --extra standard

SQLModel

  • Install SQLModel: $ uv add sqlmodel

Alembic

  • Install Alembic: $ uv add alembic

pytest

  • Install pytest: $ uv add --dev pytest

Pydantic Settings

  • Install Pydantic: $ uv add pydantic-settings

Pydantic Logfire

  • Install Pydantic Logfire: $ uv add logfire

Typer

  • Install Typer: $ uv add typer

Reflex

  • Install Reflex: $ uv add reflex

About

High Energy Physics Metadata Exchange (HEP-METADEX)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages