{"id":23601,"library":"django-session-timeout","title":"Django Session Timeout","description":"Middleware for Django that automatically expires user sessions after a configurable period of inactivity. Version 0.1.0 is the latest, with an unpredictable release cadence.","status":"active","version":"0.1.0","language":"python","source_language":"en","source_url":"https://github.com/LabD/django-session-timeout","tags":["django","session","timeout","middleware"],"install":[{"cmd":"pip install django-session-timeout","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core framework requirement","package":"django","optional":false}],"imports":[{"wrong":"from django_session_timeout import SessionTimeoutMiddleware","symbol":"SessionTimeoutMiddleware","correct":"from django_session_timeout import SessionTimeoutMiddleware"}],"quickstart":{"code":"from django_session_timeout import SessionTimeoutMiddleware\n\nMIDDLEWARE = [\n    # ...\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django_session_timeout.middleware.SessionTimeoutMiddleware',\n    # ...\n]\n\n# settings.py\nSESSION_EXPIRE_SECONDS = 3600  # 1 hour\nSESSION_TIMEOUT_REDIRECT = '/login/'  # optional, default '/accounts/login/'","lang":"python","description":"Add SessionTimeoutMiddleware after AuthenticationMiddleware and set SESSION_EXPIRE_SECONDS in settings."},"warnings":[{"fix":"Ensure your MIDDLEWARE list has 'django_session_timeout.middleware.SessionTimeoutMiddleware' after 'django.contrib.sessions.middleware.SessionMiddleware' and 'django.contrib.auth.middleware.AuthenticationMiddleware'.","message":"order of middleware matters: SessionTimeoutMiddleware must be placed after AuthenticationMiddleware and SessionMiddleware.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Explicitly set SESSION_EXPIRE_SECONDS in your Django settings, e.g., SESSION_EXPIRE_SECONDS = 1800.","message":"SESSION_EXPIRE_SECONDS is required, but no default is provided. If not set, all sessions may expire immediately or cause unexpected behavior.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"If you want consistent session timeout, set both SESSION_COOKIE_AGE and SESSION_EXPIRE_SECONDS to the same value.","message":"The middleware does not respect Django's SESSION_COOKIE_AGE; it uses its own setting SESSION_EXPIRE_SECONDS.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'0.1.0':19 'automat':8 'cadenc':27 'configur':14 'django':1,6,28 'expir':9 'inact':17 'latest':22 'middlewar':4,31 'period':15 'releas':26 'session':2,11,29 'timeout':3,30 'unpredict':25 'user':10 'version':18","created_at":"2026-05-01T08:08:37.809121+00:00","updated_at":"2026-05-01T08:08:37.809121+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'SessionTimeoutMiddleware' from 'django_session_timeout' (/tmp/tmpzw2afknm/venv/lib/python3.12/site-packages/django_session_timeout/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.1.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/LabD/django-session-timeout","docs":null,"changelog":null,"pypi":"https://pypi.org/project/django-session-timeout/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework","auth-security"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}