{"id":19680416,"url":"https://github.com/datasette/datasette-insecure-users","last_synced_at":"2025-11-22T10:03:21.646Z","repository":{"id":237416423,"uuid":"696514321","full_name":"datasette/datasette-insecure-users","owner":"datasette","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-21T20:48:37.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-21T22:26:30.923Z","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-25T22:40:46.000Z","updated_at":"2025-10-21T20:48:41.000Z","dependencies_parsed_at":"2024-05-01T15:21:36.155Z","dependency_job_id":"7aae323d-d6fb-4655-a86e-04ee0ed7ddb1","html_url":"https://github.com/datasette/datasette-insecure-users","commit_stats":null,"previous_names":["datasette/datasette-insecure-users"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/datasette/datasette-insecure-users","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-insecure-users","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-insecure-users/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-insecure-users/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-insecure-users/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datasette","download_url":"https://codeload.github.com/datasette/datasette-insecure-users/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasette%2Fdatasette-insecure-users/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285770174,"owners_count":27228659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"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:03.444Z","updated_at":"2025-11-22T10:03:21.617Z","avatar_url":"https://github.com/datasette.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# datasette-insecure-users\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-insecure-users.svg)](https://pypi.org/project/datasette-insecure-users/)\n[![Changelog](https://img.shields.io/github/v/release/datasette/datasette-insecure-users?include_prereleases\u0026label=changelog)](https://github.com/datasette/datasette-insecure-users/releases)\n[![Tests](https://github.com/datasette/datasette-insecure-users/workflows/Test/badge.svg)](https://github.com/datasette/datasette-insecure-users/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/datasette/datasette-insecure-users/blob/main/LICENSE)\n\nA username/password Datasette authentication plugin, where passwords are optional. Meant for debugging and private trusted instances!\n\n## Installation\n\nThis plugin requires an alpha version of Datasette 1.0.\n\n    pip install datasette==1.0a6\n\nThen you can nstall this plugin in the same environment as Datasette.\n\n    datasette install datasette-insecure-users\n\n## Usage\n\nOnce installed, there will be a new \"Log in\" option in the upper-right hand menu. Users can then either login with a username/password, or with just a username.\n\nIf a password is provided, then future logins will require that same password. If no password is provided when logging in for the first time, then no password is needed in future login attempts.\n\nPasswords are salted + hashed and stored in the new [Datasette internal database](https://docs.datasette.io/en/latest/internals.html#datasette-s-internal-database). By default this is an in-memory database that will disappear when Datasette exists, so to persist login information for all users, pass in a SQLite database with `--internal` like so:\n\n    datasette --internal internal.db my_data.db\n\nIn this case, usernames/hashed passwords will be stored in `internal.db`, and `my_data.db` will be left untouched.\n\n## Internals\n\n## Development\n\nTo set up this plugin locally, first checkout the code. Then create a new virtual environment:\n\n    cd datasette-insecure-users\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-insecure-users","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatasette%2Fdatasette-insecure-users","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatasette%2Fdatasette-insecure-users/lists"}