CalypSSO
Node project build as a Python module for Hyperion. CalypSSO is composed of:
- A small and static Next.js frontend for Hyperion
Next.js development
You can set Hyperion base url in a dotenv /web/.env
yarn install
yarn dev:web
Pages
The base url of this project is /calypsso.
You will find:
- http://localhost:3000/calypsso/register
- http://localhost:3000/calypsso/activate?activation_token=12345
- http://localhost:3000/calypsso/activate?activation_token=12345&external=true
- http://localhost:3000/calypsso/recover
- http://localhost:3000/calypsso/reset-password?reset_token=12345
- http://localhost:3000/calypsso/login?client_id=Titan&response_type=code&scope=API&redirect_uri=https://localhost:8000/static.html&code_challenge=3sMJwwv1xfZK6yay-HkpseTGMUrmwWx5B9zVAxGfrb0=&code_challenge_method=S256
- http://localhost:3000/calypsso/change-password/?email=prenom.nom%40etu.ec-lyon.fr
- http://localhost:3000/calypsso/asset/?path=mypayment_terms_of_service
Maizzle emails template
Email templates are build using Maizzle.
To preview mails during development use:
yarn install
yarn dev:mail
Email contains escaped template strings:@{{ variable_name }} will be rendered by Maizzle as {{ variable_name }}. Then the Python module will process these expressions using Jinja2
Emails, layout and components are based on maizzle base template repository and design.
You can set the frontmatter preheader of a mail to customize the text preview of the email. See preview-text
Variable starting with an underscore (ex: _logo_url) will be set globally by CalypSSO Python module.
Build Python module
First you need to compile the Next.js project
yarn install
yarn build
The build pages will be located in the /out directory. The small Python package sources are located in /python.
You can install it locally in an other python project using
pip install "path/to/calypsso"
To use it, you need to mount CalypSSO at the subpath /calypsso
For exemple with FastAPI, you could do:
from fastapi import FastAPI
# Define your app
app = FastAPI(
title="MyFastAPIApp",
)
# ...
# Mount CalypSSO app at the subpath /calypsso
calypsso = get_calypsso_app()
app.mount("/calypsso", calypsso)
Make a release on Pypi
You need to edit CalypSSO version in python/calypsso/__about__.py.
Then make a release on GitHub and add a tag. The tag should match v*.*.*.
Metadata
Release files for CalypSSO 2.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| calypsso-2.7.1.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| calypsso-2.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.7 MB
Release files / calypsso-2.7.1.tar.gz
| Download URL | calypsso-2.7.1.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eddff8d2cbd04e88bcc76a9e06dc4869250b6ae68b8291d4c717d6b5c8a56ec5
|
|
BLAKE2b-256 checksum How to use checksums |
81d9bba60a194b16c36aa43bfdfc89a0deb699a42c51f81bb0fe02b056712adb
|
| 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 Aug 31, 2026.
Transparency logRelease files / calypsso-2.7.1-py3-none-any.whl
| Download URL | calypsso-2.7.1-py3-none-any.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b532cd7df27ee030d153509864a93fa571222e8cd7725216cc68321672584e0f
|
|
BLAKE2b-256 checksum How to use checksums |
0b1dd64b2fbfb2e3636d6710c55ee8926b04c5cad939781c693c3ef970f088e5
|
| 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 Aug 31, 2026.
Transparency log