The visualization plattform for ZEN-garden
Project description
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.
🛠️ Requirements
- Conda (https://docs.conda.io/en/latest/miniconda.html)
- Python 3.10 or higher
📦 Installation
Perform the following steps to install ZEN-temple:
-
Clone the repository and navigate into the folder:
git clone https://github.com/ZEN-universe/ZEN-temple.git cd ZEN-temple
-
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]
-
Create a new copy of
.env.cp .env.example .env
Modify the
SOLUTION_FOLDERvariable to the location of your solutions, e.g../outputs. This is theoutputsfolder 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>
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
- Bump version in ZEN-explorer
bash scripts/bump_version.shand update its CHANGELOG.md. - Commit and upload the updated files to GitHub.
- Create a new release for ZEN-explorer: https://github.com/ZEN-universe/ZEN-explorer/releases/new
- Bump version in ZEN-temple
bash scripts/bump_version.shand update CHANGELOG.md. - Commit and upload the updated files to GitHub.
- 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 - (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.
[!WARNING]
Do not edit the files in this folder. This folder is automatically generated by the frontend repository pipeline.
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/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zen_temple-0.9.1.tar.gz.
File metadata
- Download URL: zen_temple-0.9.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89025d04f044562146d71d8da9adb8f2d588321a936d62c0e6365f7b62e90cb1
|
|
| MD5 |
a88b55642baad5c557795522a956b417
|
|
| BLAKE2b-256 |
604a41efcb2a1eb103898c7e851ad837732d887030d280dca037c19006feaab6
|
Provenance
The following attestation bundles were made for zen_temple-0.9.1.tar.gz:
Publisher:
publish-to-pypi.yml on ZEN-universe/ZEN-temple
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_temple-0.9.1.tar.gz -
Subject digest:
89025d04f044562146d71d8da9adb8f2d588321a936d62c0e6365f7b62e90cb1 - Sigstore transparency entry: 836200357
- Sigstore integration time:
-
Permalink:
ZEN-universe/ZEN-temple@84fdd4956609caf5aa090938dd6bf4cd5936c8b9 -
Branch / Tag:
refs/tags/v0.9.1 - Owner: https://github.com/ZEN-universe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@84fdd4956609caf5aa090938dd6bf4cd5936c8b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file zen_temple-0.9.1-py3-none-any.whl.
File metadata
- Download URL: zen_temple-0.9.1-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ccf482d678558332f57c1bda79570a6e1df0b67a111382035530dce9ecd9497
|
|
| MD5 |
15f46ab573421c59ef58bf00b4d56c3a
|
|
| BLAKE2b-256 |
a681d5ea37bc9434a2fcaffe640d6ea23d4bb6948705753bc18b62929a6a19e7
|
Provenance
The following attestation bundles were made for zen_temple-0.9.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on ZEN-universe/ZEN-temple
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_temple-0.9.1-py3-none-any.whl -
Subject digest:
8ccf482d678558332f57c1bda79570a6e1df0b67a111382035530dce9ecd9497 - Sigstore transparency entry: 836200362
- Sigstore integration time:
-
Permalink:
ZEN-universe/ZEN-temple@84fdd4956609caf5aa090938dd6bf4cd5936c8b9 -
Branch / Tag:
refs/tags/v0.9.1 - Owner: https://github.com/ZEN-universe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@84fdd4956609caf5aa090938dd6bf4cd5936c8b9 -
Trigger Event:
release
-
Statement type: