Replace typer with cyclopts #48
Labels
No labels
bug
contribution welcome
duplicate
enhancement
good first issue
help wanted
invalid
question
upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
marvin8/fedinesia#48
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
typer has a larger dependency tree and does not support async natively, requiring a sync-shim wrapper. Replacing with cyclopts (already used in zaojun) eliminates the shim, reduces the dependency graph, and aligns the project with more modern typing conventions.
Approach: (1) swap pyproject.toml dependency, (2) update tests to reference the new async cli() function (these fail until step 3), (3) rewrite amnesia.py — remove typer_async_shim and typer.run(), add cyclopts App + @app.default async def cli(). main() is unchanged. All existing CLI flags keep the same names and defaults. Validation errors become sys.exit(1) with a stderr message.