Skip to main content

ZEN-temple

ZEN-temple is a FastAPI Application that provides a REST API to access results from ZEN-garden. It is used as a backend for ZEN-Explorer.

PyPI - Version Python Version from PEP 621 TOML

GitHub Actions: Type checker

GitHub License

🛠️ Requirements

📦 Installation

Perform the following steps to install ZEN-temple:

  1. Clone the repository and navigate into the folder:

    git clone https://github.com/ZEN-universe/ZEN-temple.git
    cd ZEN-temple
    
  2. Create a new conda environment, activate it, and install all dependencies:

    conda create --name <your-env-name> python==3.13
    conda activate <your-env-name>
    pip install -e .[mypy]
    
  3. Create a new copy of .env.

    cp .env.example .env
    

    Modify the SOLUTION_FOLDER variable to the location of your solutions, e.g. ./outputs. This is the outputs folder generated by ZEN-garden.

▶️ Usage

Open this folder in your terminal. Activate your conda environment for this project and run the application with the following commands:

conda activate <your-env-name>
zen-visualization --reload

By default, ZEN-temple searches for solutions in ./outputs and then in the current working directory. To select a solution folder explicitly, use:

zen-visualization --outputs-folder <path-to-solutions>

The equivalent module invocation is python -m zen_temple.main --reload.

For information about the available command line arguments run:

python -m zen_temple.main --help

📤 Release workflow

To create a new release of ZEN-temple follow the following steps. The idea is that for each major release (from v0.4.x to v0.5.0) we sync the version number of ZEN-explorer and ZEN-temple

  1. Bump version in ZEN-explorer bash scripts/bump_version.sh and update its CHANGELOG.md.
  2. Commit and upload the updated files to GitHub.
  3. Create a new release for ZEN-explorer: https://github.com/ZEN-universe/ZEN-explorer/releases/new
  4. Bump version in ZEN-temple bash scripts/bump_version.sh and update CHANGELOG.md.
  5. Commit and upload the updated files to GitHub.
  6. Create a new release for ZEN-temple, e.g. <version>. For a pre-release also add a suffix .dev1, i.e. <version>.dev1, and mark the release as pre-release: https://github.com/ZEN-universe/ZEN-temple/releases/new
  7. (optional) Look at PyPI whether the new release has successfully been created: https://pypi.org/project/zen-temple/#history

🗂️ Folder structure

The folder and file structure is the following:

Explorer

explorer contains the HTML files for the frontend.

Models

models contains the Pydantic-models that are used for the documentation. Some of these models also include generators that create an instance of the model given the path of a solution. See https://fastapi.tiangolo.com/tutorial/body/#create-your-data-model

Repositories

repositories contains the repositories for the data access. These provide an abstraction layer for the routers such that the data access is separated from the data source. Arguably, the generators defined in the models should be part of the repository in order to separate the instantiation of the models from the way that the solutions are stored. For more information visit https://www.umlboard.com/design-patterns/repository.html

Routers

routers contains the FastAPI routers which define the different paths of the API server. For more information visit https://fastapi.tiangolo.com/tutorial/bigger-applications/

Config

config.py contains the config of the application.

Main

main.py contains the setup of the FastAPI application. For more information visit https://fastapi.tiangolo.com/tutorial/bigger-applications/

Metadata

Release files for zen-temple 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zen-temple 0.10.0
File Size Uploaded
zen_temple-0.10.0.tar.gz 46.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for zen-temple 0.10.0
File Interpreter ABI Platform
zen_temple-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 93.0 MB

Release files / zen_temple-0.10.0.tar.gz

Download URL zen_temple-0.10.0.tar.gz
Size 46.5 MB
Tags Source
SHA-256 checksum
How to use checksums
3185eff701b1d8519e13b0c1f5ff4a37588e516034d9d1906597aedc628570c6
BLAKE2b-256 checksum
How to use checksums
2ee552bd566cf598a7b26423dbdc2fc555b7ece5a4b53c2d6c71d6604410de38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / zen_temple-0.10.0-py3-none-any.whl

Download URL zen_temple-0.10.0-py3-none-any.whl
Size 46.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3522ae876d7b385a480645a3a0481a9d74e6a7570d3c014163b2cb0d8e2f4bc2
BLAKE2b-256 checksum
How to use checksums
6cf61cb43758be52e614f224eff6e3f916cfeeddd412b82a4f6d0f5c048eb57a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page