Skip to content

Configuration

Jeni reads configuration from config.py, operating-system environment variables, and Streamlit session state. Values entered in the Streamlit sidebar are used for the active session, while environment variables and config.py provide application defaults.

Provider and Cloud Settings

Variable Used For Required
GEMINI_API_KEY Gemini API access. Required for Gemini workflows.
GOOGLE_API_KEY Google API access and Gemini fallback key behavior. Recommended.
GOOGLE_CSE_ID Google Custom Search integration. Required for CSE-backed search workflows.
GOOGLEMAPS_API_KEY Google Maps-related workflows. Required only for Maps-enabled workflows.
GOOGLE_CLOUD_PROJECT_ID Google Cloud project routing. Required for cloud bucket workflows.
GOOGLE_CLOUD_LOCATION Google Cloud region or location. Required for cloud workflows that need a region.
GEOCODING_API_KEY Geocoding-related workflows. Optional unless geocoding is used.

Local Paths

Setting Purpose
ROOT_DIR Repository root resolved from config.py.
DOCS_DIR Local documentation directory.
LOG_DIR Logging directory, defaulting to logging.
LOG_PATH Exception logging database path.
LOG_FILE Exception logging table name.
DB_PATH SQLite application database path: stores/sqlite/datamodels/Data.db.
FAVICON Streamlit favicon path.
LOGO_PATH Jeni logo path.
AUDIO_TEST_FILE Default audio test file.

Application Modes

Jeni exposes the following modes through the Gemini configuration layer:

Mode Backing Wrapper
Text Chat
Images Images
Audio TTS, Translation, Transcription
Embedding Embeddings
Document Q&A Files plus local document retrieval helpers
Files Files
File Search Stores FileSearch
Google Cloud Buckets CloudBuckets
Prompt Engineering SQLite Prompts table workflows
Data Management SQLite data-management workflows
Data Export Export helpers for local data and prompt assets

Documentation Settings

The documentation site is configured in mkdocs.yml.

Setting Value
site_name Jeni Documentation
site_url https://is-leeroy-jenkins.github.io/Jeni/
repo_url https://github.com/is-leeroy-jenkins/Jeni
repo_name is-leeroy-jenkins/Jeni
Theme Material for MkDocs, dark-first, blue accent styling.
API renderer mkdocstrings[python] using Google-style docstrings.

Security Guidance

Never commit API keys, cloud credentials, local secrets, .env files, generated databases containing sensitive content, or private document uploads. Use environment variables, Streamlit secrets, GitHub repository secrets, or local-only configuration instead.

For GitHub Actions publishing, store secrets in GitHub only when the workflow must run authenticated tests or cloud checks. The documentation workflow included here does not need provider credentials to build the static site if API reference imports do not execute provider calls at import time.