{"id":19680429,"url":"https://github.com/datasette/datasette-sqlite-debug-authorizer","last_synced_at":"2026-06-10T18:31:03.089Z","repository":{"id":195917821,"uuid":"693955290","full_name":"datasette/datasette-sqlite-debug-authorizer","owner":"datasette","description":"Debug SQLite authorizer calls","archived":false,"fork":false,"pushed_at":"2024-03-05T00:43:50.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T06:49:08.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datasette.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-20T03:30:17.000Z","updated_at":"2023-09-20T03:31:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"1fd7ad1e-d1b9-4be4-b2db-318fcc9142c8","html_url":"https://github.com/datasette/datasette-sqlite-debug-authorizer","commit_stats":null,"previous_names":["datasette/datasette-sqlite-debug-authorizer"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/datasette/datasette-sqlite-debug-authorizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-sqlite-debug-authorizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-sqlite-debug-authorizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-sqlite-debug-authorizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-sqlite-debug-authorizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datasette","download_url":"https://codeload.github.com/datasette/datasette-sqlite-debug-authorizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-sqlite-debug-authorizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34165482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T18:05:06.844Z","updated_at":"2026-06-10T18:31:03.069Z","avatar_url":"https://github.com/datasette.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# datasette-sqlite-debug-authorizer\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-sqlite-debug-authorizer.svg)](https://pypi.org/project/datasette-sqlite-debug-authorizer/)\n[![Changelog](https://img.shields.io/github/v/release/datasette/datasette-sqlite-debug-authorizer?include_prereleases\u0026label=changelog)](https://github.com/datasette/datasette-sqlite-debug-authorizer/releases)\n[![Tests](https://github.com/datasette/datasette-sqlite-debug-authorizer/workflows/Test/badge.svg)](https://github.com/datasette/datasette-sqlite-debug-authorizer/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/datasette/datasette-sqlite-debug-authorizer/blob/main/LICENSE)\n\nDebug SQLite authorizer calls\n\n## Installation\n\nInstall this plugin in the same environment as Datasette.\n\n    datasette install datasette-sqlite-debug-authorizer\n\n## Usage\n\nOnce installed, every SQLite permission check using the `conn.set_authorizer()` API will be logged to standard error.\n\nThis is useful for if you want to use that authorizer API to implement your own custom permissions, and need to see what calls are being made to the authorizer.\n\nExample output (it's generally a lot noisier than this) for `select * from sqlite_master`:\n\n```\nSQLITE_SELECT: \nSQLITE_READ:  table=\"sqlite_master\" column=\"type\" db_name=main\nSQLITE_READ:  table=\"sqlite_master\" column=\"name\" db_name=main\nSQLITE_READ:  table=\"sqlite_master\" column=\"tbl_name\" db_name=main\nSQLITE_READ:  table=\"sqlite_master\" column=\"rootpage\" db_name=main\nSQLITE_READ:  table=\"sqlite_master\" column=\"sql\" db_name=main\n```\nSee [sqlite-authorizer-examples](https://github.com/simonw/sqlite-authorizer-examples) for more detailed documentation on what to expect from these calls.\n\n## Development\n\nTo set up this plugin locally, first checkout the code. Then create a new virtual environment:\n\n    cd datasette-sqlite-debug-authorizer\n    python3 -m venv venv\n    source venv/bin/activate\n\nNow install the dependencies and test dependencies:\n\n    pip install -e '.[test]'\n\nTo run the tests:\n\n    pytest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatasette%2Fdatasette-sqlite-debug-authorizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatasette%2Fdatasette-sqlite-debug-authorizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatasette%2Fdatasette-sqlite-debug-authorizer/lists"}