Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
3414173
Python 3.11 to 3.12
Marc-Andrieu Sep 21, 2025
945a7ce
About requirements
Marc-Andrieu Sep 21, 2025
39c61d0
About the db
Marc-Andrieu Sep 21, 2025
94b25fd
While I'm touching the .gitignore
Marc-Andrieu Sep 21, 2025
fd8f8ac
Unrelated: about pyproject.toml
Marc-Andrieu Sep 21, 2025
48a1527
About the .env
Marc-Andrieu Sep 21, 2025
9c7996c
About config.yaml
Marc-Andrieu Sep 21, 2025
682043b
About launching Hyperion and creating your own admin user
Marc-Andrieu Sep 21, 2025
ef0e129
Beyond initial config
Marc-Andrieu Sep 21, 2025
2234476
Fix(.gitignore): distinguish folders for readability
Marc-Andrieu Sep 22, 2025
5cc4a0a
rm requests, use httpx instead, update requirements
Marc-Andrieu Sep 22, 2025
c9d1cc2
Type-checking fixes
Marc-Andrieu Sep 22, 2025
536cb44
Feat: async log handler running in a different thread
Marc-Andrieu Sep 22, 2025
f27b2b2
re-run tests
Marc-Andrieu Sep 22, 2025
bcb94ce
Feat: use the scheduler to synchronically defer writing the logs
Marc-Andrieu Sep 22, 2025
5515ac8
Details feats on config.yaml
Marc-Andrieu Oct 5, 2025
1b5699a
Feat: fastapi's arg "app/main.py" is useless
Marc-Andrieu Oct 5, 2025
aa1bc8f
Feat: psycopg[binary] as a common requirement
Marc-Andrieu Oct 5, 2025
d10e22c
Feat: n° on great steps
Marc-Andrieu Oct 5, 2025
4fe4ffe
Fix: REDIS_HOST false-ish values to disable it
Marc-Andrieu Oct 5, 2025
b5579b9
Test: expandable parts
Marc-Andrieu Oct 6, 2025
c514e9c
Minor completions
Marc-Andrieu Oct 6, 2025
262bc4c
YAML inline comments; mv CORS_ORIGINS up to auth section
Marc-Andrieu Oct 6, 2025
a343478
Test: use a .gitguardian.yaml
Marc-Andrieu Oct 7, 2025
5904cba
use FACTORIES_DEMO_USERS; rework README with that; Factories and Auth…
Marc-Andrieu Oct 7, 2025
04f935a
Fix(HA): no error logs in dev when it's alright
Marc-Andrieu Oct 7, 2025
75f4b87
rm useless gitguardian.yml, leave example credentials in clear
Marc-Andrieu Oct 10, 2025
e3e4063
Fix: test config
Marc-Andrieu Oct 10, 2025
be1433b
Fix test YAML config
Marc-Andrieu Oct 10, 2025
c2217f7
Failing tests: try previous psycopg minor
Marc-Andrieu Oct 10, 2025
8814f13
Fix: rm factories from tests
Marc-Andrieu Oct 10, 2025
25e52ef
hopelessness
Marc-Andrieu Oct 10, 2025
948a8ef
Fixes for test workflows and db
Marc-Andrieu Oct 13, 2025
ce00e05
Minor fixes
Marc-Andrieu Oct 14, 2025
4bb9133
Minor fixes
Marc-Andrieu Oct 14, 2025
fa25af8
small rewording
Marc-Andrieu Oct 14, 2025
3874df6
Put back `requests` and synchronous Matrix logging
Marc-Andrieu Oct 14, 2025
4c486c5
Fix ruff: TCH was renamed TC in 0.8
Marc-Andrieu Oct 14, 2025
2bbfe2c
Fix mypy too
Marc-Andrieu Oct 14, 2025
f819dfb
Numerous fixes due to the comments
Marc-Andrieu Oct 19, 2025
894b65b
Rename to requirements.txt
Marc-Andrieu Oct 19, 2025
39a31d3
Fix: make profile pictures imported in Synapse again (#881)
Marc-Andrieu Oct 18, 2025
731e58f
Merge branch 'main' into update/readme
Marc-Andrieu Oct 19, 2025
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
8 changes: 5 additions & 3 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
############################

# Should be set to the name of the postgres container
POSTGRES_HOST="hyperion-db"
POSTGRES_USER=""
POSTGRES_PASSWORD=""
POSTGRES_HOST=""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should match the comment Should be set to the name of the postgres container

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
POSTGRES_HOST=""
# Should be set to the name of the postgres container
POSTGRES_HOST=""

POSTGRES_DB="hyperion"
POSTGRES_TZ="Etc/UTC"
# The database can be accessed through the command line with
# psql -U $POSTGRES_USER -d $POSTGRES_DB

########################
# Redis configuration #
Expand All @@ -16,8 +18,8 @@ POSTGRES_TZ="Etc/UTC"
# We use the default redis configuration, so the protected mode is enabled by default (see https://redis.io/docs/manual/security/#protected-mode)
# If you want to use a custom configuration, a password and a specific binds should be used to avoid security issues

# May be left at "" during dev if you don't have a redis server running, in production it should be set to the name of the redis container
REDIS_HOST="hyperion-redis"
# REDIS_HOST may be commented to disable Redis during development if you don't have a redis server running, in production it should be set to the name of the redis container
#REDIS_HOST="localhost"
REDIS_PORT=6379
# Should be commented during development to work with docker-compose-dev, and set in production
#REDIS_PASSWORD=""
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lintandformat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
uses: actions/[email protected]
with:
path: ~/.cache/uv
key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles('requirements-common.txt', 'requirements-dev.txt') }}
key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles('requirements.txt', 'requirements-dev.txt') }}

- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- 6379:6379
postgres:
# Docker Hub image
image: postgres
image: "postgres:15.1"
# Provide the password for postgres
env:
POSTGRES_PASSWORD: "somerealpassword"
Expand All @@ -57,14 +57,14 @@ jobs:
uses: actions/setup-python@v6
id: setup-python
with:
python-version: "3.11"
python-version: "3.12"

- name: Cache uv folder
id: cache-uv
uses: actions/[email protected]
with:
path: ~/.cache/uv
key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles('requirements-common.txt', 'requirements-dev.txt') }}
key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles('requirements.txt', 'requirements-dev.txt') }}

- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
Expand Down
31 changes: 14 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,39 +1,36 @@
# Cache folders
__pycache__
.mypy_cache
.pytest_cache
.ruff_cache

# Databases and data
sql_app.db
test.db
__pycache__/
.mypy_cache/
.pytest_cache/
.ruff_cache/

# Databases (PostgreSQL and SQLite)
hyperion-db/
*.db

# Persistent data as files
data/

# Dotenv file
# Configuration and secrets files
.env
config.yaml


# Firebase secrets
firebase.json

# macOS
.DS_Store

# Virtual environment
.venv
.python-version
.venv/

# Logs
logs/

# Pytest-cov
.coverage

# Jinja templates test output
# Jinja output templates and test output
tests/jinja_test_outputs/
node_modules/

# Local testing
scripts/

node_modules
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12.11
13 changes: 7 additions & 6 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"recommendations": [
"ms-python.python",
"ms-python.mypy-type-checker",
"charliermarsh.ruff",
]
}
"recommendations": [
"ms-python.python",
"ms-python.mypy-type-checker",
"charliermarsh.ruff",
"tamasfe.even-better-toml"
]
}
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"type": "debugpy",
"request": "launch",
"module": "fastapi_cli",
"args": ["dev", "app/main.py"],
"args": ["dev"],
"jinja": true,
"justMyCode": true
}
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ RUN groupadd --gid 1000 hyperion && \
WORKDIR /hyperion

# First copy only the requirements to leverage Docker cache
COPY requirements-common.txt .
COPY requirements.txt .

# Install dependencies using uv (way faster than pip)
RUN uv pip install --system --no-cache -r requirements-common.txt
RUN uv pip install --system --no-cache -r requirements.txt

# Then copy the rest of the application code
COPY alembic.ini .
Expand All @@ -43,4 +43,4 @@ EXPOSE 8000

# Use fastapi cli as the entrypoint
# Use sh -c to allow environment variable expansion
ENTRYPOINT ["sh", "-c", "fastapi run app/main.py --workers $WORKERS --host 0.0.0.0 --port 8000"]
ENTRYPOINT ["sh", "-c", "fastapi run --workers $WORKERS --host 0.0.0.0 --port 8000"]
Loading