{"id":22141535,"url":"https://github.com/bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","last_synced_at":"2026-05-10T02:05:36.294Z","repository":{"id":234057125,"uuid":"628464707","full_name":"bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","owner":"bearddan2000","description":"Simple web app that serves an api for a bottle project using basic auth.","archived":false,"fork":false,"pushed_at":"2023-04-16T02:54:51.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T11:24:23.540Z","etag":null,"topics":["allure-pytest","api","auth","basic","bottle","chained","mysql","pytest","python","response","simple","sql","sqlalchemy","tdd","testify","web"],"latest_commit_sha":null,"homepage":"https://github.com/bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bearddan2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-04-16T02:54:49.000Z","updated_at":"2023-04-16T02:54:54.000Z","dependencies_parsed_at":"2024-04-18T03:47:02.834Z","dependency_job_id":null,"html_url":"https://github.com/bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","commit_stats":null,"previous_names":["bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bearddan2000","download_url":"https://codeload.github.com/bearddan2000/python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262864132,"owners_count":23376455,"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","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":["allure-pytest","api","auth","basic","bottle","chained","mysql","pytest","python","response","simple","sql","sqlalchemy","tdd","testify","web"],"created_at":"2024-12-01T21:13:52.732Z","updated_at":"2026-05-10T02:05:36.240Z","avatar_url":"https://github.com/bearddan2000.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple\n\n## Description\nSimple web app that serves an api for a bottle project using basic auth.\nRequires basic authentication for endpoints.\n\n| username | password |\n| -------- | -------- |\n| *user* | *pass* |\n\nUses and replicate over 4 databases on the same server:\n- animal, the prod\n- test_api, for remotely testing api by *testify*\n- test_chained, tests strategy chained sql functions by *pytest*\n- test_raw, tests strategy raw sql by *pytest*\n*Note: test data should not be on same server as prod; only brevity made it necessary.*\n\nPytests are aggregated to a single folder, reports, and viewable with an allure server.\n\nUses sqlalchemy query a table `dog` using chained sql.\n\n## Tech stack\n- python\n  - bottle\n  - sqlalchemy\n  - pytest\n  - allure-pytest\n  - testify\n  - response\n- mysql\n\n## Docker stack\n- python:latest\n- mariadb\n\n## To run\n`sudo ./install.sh -u`\n- Get all dogs: http://localhost/dog\n  - Schema id, breed, and color\n- CRUD opperations\n  - Create: curl -i -X PUT localhost/dog/\u003cid\u003e -u 'user:pass'\n  - Read: http://localhost/dog/\u003cid\u003e -u 'user:pass'\n  - Update: curl -i -X POST localhost/dog/\u003cid\u003e/\u003cbreed\u003e/\u003ccolor\u003e -u 'user:pass'\n  - Delete: curl -i -X DELETE localhost/dog/\u003cid\u003e -u 'user:pass'\n\n## To stop\n`sudo ./install.sh -d`\n\n## For help\n`sudo ./install.sh -h`\n\n## Credit\n[Bottle sqlalchemy setup](https://github.com/iurisilvio/bottle-sqlalchemy/blob/master/examples/basic.py)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearddan2000%2Fpython-web-bottle-tdd-api-basic-auth-mysql-chained-sql-simple/lists"}