{"id":19874124,"url":"https://github.com/pythoninthegrass/qaas","last_synced_at":"2025-07-03T08:07:23.931Z","repository":{"id":218290410,"uuid":"746064974","full_name":"pythoninthegrass/qaas","owner":"pythoninthegrass","description":"Quotes as a Service (qaas) returns a random quote from a list of quotes.","archived":false,"fork":false,"pushed_at":"2025-02-07T22:48:13.000Z","size":816,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T05:03:48.437Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pythoninthegrass.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":["pythoninthegrass"]}},"created_at":"2024-01-21T00:25:06.000Z","updated_at":"2024-06-05T18:03:01.000Z","dependencies_parsed_at":"2024-01-21T01:28:04.342Z","dependency_job_id":"0e8d8ac9-6fa2-4f72-bbcd-1e559361c03b","html_url":"https://github.com/pythoninthegrass/qaas","commit_stats":null,"previous_names":["pythoninthegrass/qaas"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pythoninthegrass/qaas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fqaas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fqaas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fqaas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fqaas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pythoninthegrass","download_url":"https://codeload.github.com/pythoninthegrass/qaas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fqaas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263287849,"owners_count":23443084,"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":[],"created_at":"2024-11-12T16:21:52.509Z","updated_at":"2025-07-03T08:07:23.502Z","avatar_url":"https://github.com/pythoninthegrass.png","language":"Python","readme":"# qaas\n\nQuotes as a Service (qaas) returns a random quote from a list of quotes.\n\n## Minimum Requirements\n* [Python 3.11.6](https://www.python.org/downloads/release/python-3116/)\n* [Pip](https://pip.pypa.io/en/stable/installing/)\n\n## Recommended Requirements\n* [Poetry](https://python-poetry.org/docs/#installation)\n* [Docker](https://docs.docker.com/get-docker/)\n* [asdf](https://asdf-vm.com/#/core-manage-asdf-vm)\n    ```bash\n    # install python\n    asdf plugin add python\n    asdf install python 3.11.6\n\n    # install poetry\n    asdf plugin add poetry\n    asdf install poetry 1.7.1\n    ```\n\n## Quickstart\n* Python\n    ```bash\n    # create virtual environment\n    python -m venv .venv\n    source .venv/bin/activate\n\n    # install requirements\n    python -m pip install -r requirements.txt\n\n    # run the app\n    python app.py\n    ```\n* Python + Poetry\n    ```bash\n    # install requirements\n    poetry install\n\n    # run the app\n    poetry run python app.py\n    ```\n* Docker\n    ```bash\n    # build the image\n    docker build -t qaas .\n\n    # run the image\n    docker run -p 8000:8000 qaas       # stop via ctrl+c\n\n    # run the image in detached mode\n    docker run -d -p 8000:8000 qaas\n\n    # stop the container\n    docker stop \u003ccontainer_id\u003e\n    ```\n\n## TODO\n* [Issues](https://github.com/pythoninthegrass/qaas/issues)\n\n## Further Reading\n[Deploy a Flask App | Render Docs](https://render.com/docs/deploy-flask)\n","funding_links":["https://github.com/sponsors/pythoninthegrass"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythoninthegrass%2Fqaas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpythoninthegrass%2Fqaas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythoninthegrass%2Fqaas/lists"}