python-filen is an early-stage Python client for Filen focused on authentication and login flows.
The current codebase is intentionally small. It explores how to:
- fetch Filen auth metadata such as
authVersionandsalt - derive the login password hash expected by the API
- perform a login request, including a two-factor code
- Experimental and incomplete
- Not published to PyPI
- API coverage is currently limited to auth/login helpers
- Interface and package layout may change
The main working code lives in src/api/api.py and currently exposes:
get_auth_info(email)calculate_filen_password(raw_password, salt=None)filen_login(email, sent_password, two_factor_code, auth_version)get_logged_in()
Install dependencies with Poetry:
poetry installCreate src/config/.env with your Filen credentials:
email=you@example.com
password=your-password
two_factor_code=Run the included login flow:
python main.pyOr call the helpers directly:
from src.api.api import calculate_filen_password, get_auth_info
auth_info = get_auth_info("you@example.com")
master_key, sent_password = calculate_filen_password(
"your-password",
auth_info["salt"],
)- wrap more Filen endpoints behind a cleaner client surface
- replace one-off script flow with a proper package API
- add tests and examples for the supported auth workflow
- document request/response behavior more thoroughly
This repository stays public because it is independent library work, but it should be read as an experimental implementation note rather than a finished SDK.