{"package":"canaille","ecosystem":"pypi","latest_version":"0.2.7","description":"Lightweight identity and authorization management software","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/Canaille/","repository":"","downloads_weekly":894,"health":{"score":68,"risk":"moderate","breakdown":{"maintenance":25,"popularity":3,"security":25,"maturity":15,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.2.7","total_count":96,"recent":["0.0.78","0.0.79","0.0.80","0.0.81","0.0.82","0.0.83","0.0.84","0.0.85","0.0.86","0.0.87","0.0.88","0.1.0","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-04-14T09:11:02.212066Z","dependencies_count":59,"dependencies":["blinker>=1.9.0","click>=8.2.0","dramatiq-eager-broker>=0.1.0","dramatiq>=1.18.0","flask-caching>=2.3.0","flask-dramatiq>=0.6.0","flask-session>=0.8.0","flask-wtf>=1.2.1","flask>=3.0.0","httpx>=0.28.1","pydantic-settings>=2.8.0","wtforms>=3.1.1","captcha>=0.7.0; extra == \"captcha\"","webauthn>=2.7.0; extra == \"fido\"","email-validator>=2.0.0; extra == \"front\"","flask-babel>=4.0.0; extra == \"front\"","flask-talisman>=1.1.0; extra == \"front\"","flask-themer>=2.0.0; extra == \"front\"","isodate>=0.7.2; extra == \"front\"","pycountry>=23.12.7; extra == \"front\"","pytz>=2022.7; extra == \"front\"","tomlkit>=0.13.2; extra == \"front\"","zxcvbn-rs-py>=0.3.0; extra == \"front\"","ldappool>=3.0.0; extra == \"ldap\"","python-ldap>=3.4.4; extra == \"ldap\"","six>=1.17.0; extra == \"ldap\"","flask-alembic>=3.1.1; extra == \"mysql\"","passlib>=1.7.4; extra == \"mysql\"","sqlalchemy-json>=0.7.0; extra == \"mysql\"","sqlalchemy-utils>=0.41.1; extra == \"mysql\"","sqlalchemy[pymysql]>=2.0.23; extra == \"mysql\"","authlib>=1.6.6; extra == \"oidc\"","joserfc>=1.6.0; extra == \"oidc\"","otpauth>=2.2.1; extra == \"otp\"","pillow>=11.0.0; extra == \"otp\"","qrcode>=8.0; extra == \"otp\"","flask-alembic>=3.1.1; extra == \"postgresql\"","passlib>=1.7.4; extra == \"postgresql\"","sqlalchemy-json>=0.7.0; extra == \"postgresql\"","sqlalchemy-utils>=0.41.1; extra == \"postgresql\"","sqlalchemy[postgresql-psycopg2binary]>=2.0.23; extra == \"postgresql\"","dramatiq[rabbitmq]>=1.18.0; extra == \"rabbitmq\"","dramatiq[redis]>=1.18.0; extra == \"redis\"","authlib>=1.6.6; extra == \"scim\"","httpx>=0.28.1; extra == \"scim\"","scim2-client>=0.7.5; extra == \"scim\"","scim2-models>=0.6.7; extra == \"scim\"","sentry-sdk>=2.0.0; extra == \"sentry\"","asgiref>=3.9.2; extra == \"server\"","hypercorn>=0.17.3; extra == \"server\"","isodate>=0.7.2; extra == \"server\"","pydanclick>=0.5.0; extra == \"server\"","tomlkit>=0.13.2; extra == \"server\"","smpplib>=2.2.3; extra == \"sms\"","flask-alembic>=3.1.1; extra == \"sqlite\"","passlib>=1.7.4; extra == \"sqlite\"","sqlalchemy-json>=0.7.0; extra == \"sqlite\"","sqlalchemy-utils>=0.41.1; extra == \"sqlite\"","sqlalchemy>=2.0.23; extra == \"sqlite\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"0.2.7","version_hint":null,"summary":"canaille@0.2.7 is safe to use (health: 68/100)"},"version_scoped":null,"requested_version":null,"_cache":"miss","_response_ms":731,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":null,"last_release_days_ago":17,"avg_days_between_releases":null,"release_velocity":"active"}}