{"id":22570830,"url":"https://github.com/happer64bit/hyperscript","last_synced_at":"2025-04-10T13:40:57.339Z","repository":{"id":251185714,"uuid":"836661142","full_name":"happer64bit/hyperscript","owner":"happer64bit","description":"Powerful HTTP Request Tester ⌚","archived":false,"fork":false,"pushed_at":"2024-09-13T03:19:00.000Z","size":42,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T12:21:29.371Z","etag":null,"topics":["api","http","http-client","python","python3","test","testing","web","webdev"],"latest_commit_sha":null,"homepage":"https://happer64bit.github.io/hyperscript-docs/","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/happer64bit.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":"2024-08-01T09:45:54.000Z","updated_at":"2024-09-13T03:19:03.000Z","dependencies_parsed_at":"2024-09-13T14:20:12.706Z","dependency_job_id":"6c6e3a60-70fa-4b0c-9221-46e20822e8ce","html_url":"https://github.com/happer64bit/hyperscript","commit_stats":null,"previous_names":["happer64bit/hyperscript"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happer64bit%2Fhyperscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happer64bit%2Fhyperscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happer64bit%2Fhyperscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happer64bit%2Fhyperscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/happer64bit","download_url":"https://codeload.github.com/happer64bit/hyperscript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225969,"owners_count":21068091,"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":["api","http","http-client","python","python3","test","testing","web","webdev"],"created_at":"2024-12-08T01:13:32.374Z","updated_at":"2025-04-10T13:40:57.320Z","avatar_url":"https://github.com/happer64bit.png","language":"Python","readme":"# Hyperscript\n\n**Hyperscript** is a tool for testing HTTP requests with flexible configuration and validation.\n\n\u003ca href=\"https://www.producthunt.com/posts/hyperscript?embed=true\u0026utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-hyperscript\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=476454\u0026theme=light\" alt=\"HyperScript - Powerful\u0026#0032;HTTP\u0026#0032;Request\u0026#0032;Tester\u0026#0032;⌚ | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\n## Features\n\n- **HTTP Methods**: Test GET, POST, PUT, and DELETE requests.\n- **Validation**: Check status codes, content types, and body content.\n- **Conditions**: Validate if responses contain specific values, match exact values, or if numeric fields meet criteria (less than, greater than, equal to).\n- **Concurrency**: Run tests in parallel to improve efficiency.\n- **Reporting**: Detailed success and failure messages, with optional verbose output.\n\n## Installation\n\nInstall with pip:\n\n```bash\npip install hyperscript-cli\n```\n\n## Configuration\n\nCreate a YAML file (`config.yaml`) for your tests. Example:\n\n```yaml\nglobal:\n  url: https://freetestapi.com\n\nrun:\n  - name: Get All Cars\n    path: /api/v1/cars\n    expect:\n      contentType: application/json\n      status: 200\n\n  - name: Get Single Car\n    path: /api/v1/cars/1\n    expect:\n      contentType: application/json\n      status:\n        - value: 200\n        - value: 201\n      contains:\n        id: 1\n      equalTo:\n        make: Toyota\n        model: Corolla\n      lessThan:\n        price: 30000\n      greaterThan:\n        year: 2010\n      body:\n        make: Toyota\n        model: Corolla\n        color: Silver\n```\n\n### Environment Variables\n\nYou can use environment variables in your configuration. For example, use `{{VARIABLE_NAME}}` syntax to reference environment variables.\n\nSet environment variables before running your tests:\n\n```bash\nexport BASE_URL=https://freetestapi.com\nexport CAR_ID=1\n```\n\nUpdate `config.yaml` to use these variables:\n\n```yaml\nglobal:\n  url: \"{{BASE_URL}}\"\n\nrun:\n  - name: Get Single Car\n    path: /api/v1/cars/{{CAR_ID}}\n    expect:\n      contentType: application/json\n      status:\n        - value: 200\n        - value: 201\n```\n\n## Usage\n\nRun tests with the `hyperscript` command:\n\n```bash\nhyperscript path/to/config.yaml\n```\n\n### Command-Line Arguments\n\n- `config_file`: Path to the YAML configuration file. Default is `hypertest.yml`.\n\n  Example:\n  ```bash\n  hyperscript path/to/config.yaml\n  ```\n\n- `--skip-error`: Continue with the next test on error.\n\n  Example:\n  ```bash\n  hyperscript path/to/config.yaml --skip-error\n  ```\n\n- `--verbose`: Enable detailed logging for more comprehensive output.\n\n  Example:\n  ```bash\n  hyperscript path/to/config.yaml --verbose\n  ```\n\n- `--concurrency`: Set the number of concurrent tests to run. If not specified, tests will run sequentially.\n\n  Example:\n  ```bash\n  hyperscript path/to/config.yaml --concurrency 5\n  ```\n\n## Contributing\n\nFork the repository and submit a pull request with your changes.\n\n## License\n\nMIT License. See the [LICENSE](LICENSE) file.\n\n## Contact\n\nFor questions, email [happer64bit@gmail.com](mailto:happer64bit@gmail.com).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapper64bit%2Fhyperscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhapper64bit%2Fhyperscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapper64bit%2Fhyperscript/lists"}