Permission for Almasix
almasix-permission adds roles and permissions to Almasix.
Install as almasix.permission:
pip install almasix-permission# or from the framework extras:pip install "almasix[permission]"from almasix.permission import HasRoles, Permission, RoleMix HasRoles onto your user, create roles and permissions, then check with
has_permission_to / has_role — or with user.can(…) via Gate.before.
Framework authorization (Gates and
Policies) stays separate: this package plugs into that stack so existing
can checks, @can, and can middleware keep working.
Features
Section titled “Features”- Roles and permissions (direct or via roles), polymorphic assignment
Gate.beforesouser.can(…),@can, andcanmiddleware work- Multi-guard namespacing
- Teams (
permission.teams+set_permissions_team_id) - Wildcard permissions (
permission.enable_wildcard_permission) - Enum names (
enum.Enum/StrEnum) - Cache +
permission:cache-reset - Opt-in events (
permission.events_enabled) - UUID/ULID via
permission.key_typebefore migrate - Extending models through
permission.models.*
Continue with Installation, or jump to Roles, Permissions, Teams, Middleware and Prism, or Commands.