{"id":15195431,"url":"https://github.com/ozlerhakan/jest","last_synced_at":"2025-10-27T23:31:51.622Z","repository":{"id":62581129,"uuid":"451096784","full_name":"ozlerhakan/jest","owner":"ozlerhakan","description":"💍 ipython magic tool to make smooth HTTP calls","archived":false,"fork":false,"pushed_at":"2022-01-30T14:08:48.000Z","size":12,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T09:22:23.199Z","etag":null,"topics":["http","ipython","ipython-notebook","jupyter","jupyterlab","magic","python","python3","requests"],"latest_commit_sha":null,"homepage":"","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/ozlerhakan.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}},"created_at":"2022-01-23T12:26:29.000Z","updated_at":"2023-07-08T19:47:58.000Z","dependencies_parsed_at":"2022-11-03T21:21:07.860Z","dependency_job_id":null,"html_url":"https://github.com/ozlerhakan/jest","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozlerhakan%2Fjest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozlerhakan%2Fjest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozlerhakan%2Fjest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozlerhakan%2Fjest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozlerhakan","download_url":"https://codeload.github.com/ozlerhakan/jest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238574643,"owners_count":19494723,"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":["http","ipython","ipython-notebook","jupyter","jupyterlab","magic","python","python3","requests"],"created_at":"2024-09-27T23:23:34.312Z","updated_at":"2025-10-27T23:31:51.334Z","avatar_url":"https://github.com/ozlerhakan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jest\n\nJest is a IPython magic tool to make us one or more HTTP request(s) in a cell.\n\n## How it works\n\n```\n$ pip install pyjest\n```\n\n## Examples\n\nPlease take a look at the `examples` folder about how Jest can be used in a Jupyter notebook in more detail. The snippets below represent a sequence of three cells each of which shows how we can construct a jest call along with required fields for two HTTP calls in one run.   \n\n```\n[1] %load_ext jest\n\n[2] consumes = [\n    dict(original_keyword='iphone'),\n    dict(original_keyword='phone')\n]\n```\n\nThe `consumes` variable holds a list of dictionary. Two different items will be used while jesting a request with a request body.  \n\n```\n[3] %%jest --var responses --params consumes \n\n{\n    \"url\": \"http://localhost:8080/path\",\n    \"request\": \"post\",\n    \"body\": {\n      \"field\": \"@original_keyword\",\n      \"field\": 1\n    },\n    \"headers\": {\n        \"Content-Type\": \"application/json\", \n        \"Authorization\": \"Bearer ASDASADAS\",\n        \"Cookie\": \"auth_cookie=ASDADASDA\"\n    }\n}\n```\n\nJest saves the response in to the `responses` field. We use `--params` to add that Jest will use it to load data from. The request body references a field name with suffix `@`. So that Jest understands that the referenced field must be in each item of `consumes`. \n\n```\nlen(responses) # 2 for each item of `consumes`\n```\n\nAfter having a successful request, we can react the result via `responses`.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozlerhakan%2Fjest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozlerhakan%2Fjest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozlerhakan%2Fjest/lists"}