{"id":14985634,"url":"https://github.com/zahash/quaeso","last_synced_at":"2025-10-08T20:30:12.833Z","repository":{"id":179657288,"uuid":"424609817","full_name":"zahash/quaeso","owner":"zahash","description":"python cli program to send requests","archived":false,"fork":false,"pushed_at":"2023-10-23T15:26:02.000Z","size":38,"stargazers_count":107,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-29T17:54:38.149Z","etag":null,"topics":["cli","curl","http","https","python","python3","request","yaml","yml"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/quaeso/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zahash.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":"2021-11-04T13:41:18.000Z","updated_at":"2025-08-16T10:29:17.000Z","dependencies_parsed_at":"2025-01-29T10:45:46.818Z","dependency_job_id":null,"html_url":"https://github.com/zahash/quaeso","commit_stats":null,"previous_names":["zahash/yeet","zahash/quaeso"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zahash/quaeso","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahash%2Fquaeso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahash%2Fquaeso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahash%2Fquaeso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahash%2Fquaeso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zahash","download_url":"https://codeload.github.com/zahash/quaeso/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahash%2Fquaeso/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000652,"owners_count":26082817,"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-10-08T02:00:06.501Z","response_time":56,"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":["cli","curl","http","https","python","python3","request","yaml","yml"],"created_at":"2024-09-24T14:11:24.218Z","updated_at":"2025-10-08T20:30:12.815Z","avatar_url":"https://github.com/zahash.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cpre\u003e\n ██████╗ ██╗   ██╗ █████╗ ███████╗███████╗ ██████╗ \n██╔═══██╗██║   ██║██╔══██╗██╔════╝██╔════╝██╔═══██╗\n██║   ██║██║   ██║███████║█████╗  ███████╗██║   ██║\n██║▄▄ ██║██║   ██║██╔══██║██╔══╝  ╚════██║██║   ██║\n╚██████╔╝╚██████╔╝██║  ██║███████╗███████║╚██████╔╝\n ╚══▀▀═╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝ ╚═════╝ \n---------------------------------------------------\npython cli program to send requests\n\u003c/pre\u003e\n\n[![PyPI](https://img.shields.io/pypi/v/quaeso.svg)](https://pypi.org/project/quaeso/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\u003c/div\u003e\n\nIs it just me or is curl a little too complicated?\nWant something simpler in life? something made for humans? Try quaeso -- A Python program that reads a json/yml file for request data and sends the request\n\n## Installation\n\npip install this repo.\n(Note: Incompatible with Python 2.x)\n\n```sh\npip3 install quaeso\n```\n\n(or)\n\n```sh\npip install quaeso\n```\n\n## Usage example\n\n### To get help with commandline arguments\n\n```sh\nquaeso --help\n```\n\n### Using Command-line Arguments\n\n```sh\nquaeso -f \"some/folder/myrequest.yml\"\n```\n\n(or)\n\n```sh\nquaeso -f \"some/folder/myrequest.json\"\n```\n\n### Colorize Output\n\n```sh\nquaeso -f \"some/folder/myrequest.yml\" -c\n```\n\n### Disclaimer\n\nsometimes the quaeso command doesn't work in windows if the package is installed globally.\n\nto avoid this, install the package in a local virtual env\n\nfirst, create a env\n\n```sh\npython3 -m venv env_for_quaeso\n```\n\nactivate that env\n\n```sh\n.\\env_for_quaeso\\Scripts\\activate\n```\n\nand then pip install. But you will have to activate that env everytime you want to use quaeso.\n\n## IO Redirection\n\nthe response is written to stdout and headers/status are written to stderr so that users can take IO redirection to their advantage. This works on windows, linux and mac.\n\n```sh\nquaeso -f \"some/folder/myrequest.yml\" \u003e res.json 2\u003e res_headers.txt\n```\n\nboth stdout and stderr can be redirected to the same file\n\n```sh\nquaeso -f \"some/folder/myrequest.yml\" \u003e res.txt 2\u003e\u00261\n```\n\n## Sample request file (`myrequest.yml`)\n\n### GET\n\n```yaml\nurl: https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658\nmethod: get\nparams:\n  offset: 2\n  limit: 100\nheaders:\n  accept: text/xml\n  accept-language: en\ntimeout: 5000\n```\n\n#### File Download (`quaeso -f \"some/folder/myrequest.yml\" \u003e book.pdf`)\n\n```yaml\nurl: http://do1.dr-chuck.com/pythonlearn/EN_us/pythonlearn.pdf\nmethod: get\n```\n\n### POST\n\n```yaml\nurl: https://jsonplaceholder.typicode.com/todos/\nmethod: POST\nheaders:\n  Authorization: Basic bXl1c2VybmFtZTpteXBhc3N3b3Jk\n  content-type: application/json\ndata:\n  title: walk the dog\n  completed: false\ntimeout: 5000\n```\n\n### PUT\n\n```yaml\nurl: https://jsonplaceholder.typicode.com/todos/1\nmethod: PUT\nheaders:\n  content-type: application/json\ndata:\n  title: walk the dog\n  completed: true\ntimeout: 5000\n```\n\n### DELETE\n\n```yaml\nurl: https://jsonplaceholder.typicode.com/todos/1\nmethod: DELETE\n```\n\n## Complete request file with all available fields (`myrequest.yml`)\n\n```yaml\nmethod: XXX # (REQUIRED) GET, OPTIONS, HEAD, POST, PUT, PATCH, or DELETE\nurl: XXX # (REQUIRED) must be prefixed with http:// or https://\n\nparams: # url query parameters. have as many as you like\n  offset: 0\n  limit: 10\n\ndata: # data for POST\n  name: john\n  age: 22\n  hobbies:\n    - running\n    - eating\n    - sleeping\n\n# you can also type data in json format instead of yaml\ndata: |\n  {\n    \"name\": \"john\",\n    \"age\": 22,\n    \"hobbies\": [\"running\", \"eating\", \"sleeping\"]\n  }\n\nheaders: # have as many as you like\n  Content-Type: application/json\n  Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\n\n\ncookies: # have as many as you like\n  mycookie: cookievalue\n  myothercookie: othercookievalue\n\ntimeout: 3.14 # seconds\n\nallow_redirects: true # true or false\n\nproxies: # have as many as you like\n  http: http://10.10.1.10:3128\n  https: https://10.10.1.11:1080\n  ftp: ftp://10.10.1.10:3128\n\n# EITHER verify server's TLS certificate. true or false\nverify: true\n# OR path to a CA bundle to use\nverify: some/folder/cacert.crt\n\n# EITHER path to single ssl client cert file (*.pem)\ncert: some/folder/client.pem\n# OR (*.cert), (*.key) pair.\ncert:\n  - some/folder/client.cert\n  - some/folder/client.key\n\n```\n\n## Development setup\n\nClone this repo and install packages listed in requirements.txt\n\n```sh\npip3 install -r requirements.txt\n```\n\n## Meta\n\nM. Zahash – zahash.z@gmail.com\n\nDistributed under the MIT license. See `LICENSE` for more information.\n\n[https://github.com/zahash/](https://github.com/zahash/)\n\n## Contributing\n\n1. Fork it (\u003chttps://github.com/zahash/quaeso/fork\u003e)\n2. Create your feature branch (`git checkout -b feature/fooBar`)\n3. Commit your changes (`git commit -am 'Add some fooBar'`)\n4. Push to the branch (`git push origin feature/fooBar`)\n5. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzahash%2Fquaeso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzahash%2Fquaeso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzahash%2Fquaeso/lists"}