Name | gk6 JSON |
Version |
2.0.12
JSON |
| download |
home_page | None |
Summary | Postman to k6 converter |
upload_time | 2025-08-03 13:52:17 |
maintainer | None |
docs_url | None |
author | Gopi Krishna |
requires_python | <4.0,>=3.9 |
license | MIT |
keywords |
postman
k6
converter
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# โก gk6 โ Generate k6 Load Tests from Postman Collections
[](/LICENSE)
[](https://www.python.org/)
[](https://gopikrishna4595.github.io/gk6/)
**gk6** is a Python CLI tool that converts Postman collections into dynamic [k6](https://k6.io) performance testing scripts โ with support for chaining variables, environment parsing, automated metrics, and HTML reporting. Built to automate what you shouldnโt have to hand-code.
---
## ๐ฏ Why gk6?
If you use Postman for API testing and k6 for performance testing, this tool connects the dots:
- โ
No need to rewrite each request manually
- ๐ It respects your chaining logic (`pm.environment.set`)
- ๐ Supports environments and headers out of the box
- ๐ Visibility with built-in checks and trend metrics
---
## โ
Features
- โ
Converts any Postman Collection to a runnable k6 script
- โ
Supports `GET`, `POST`, `PUT`, `DELETE` methods
- ๐ Recognizes and converts environment variables (`{{var}}`)
- ๐ Detects request chaining via `pm.environment.set()`
- ๐ Auto-generates `Trend` metrics and `check()` assertions
- ๐ฅ CLI-friendly with `argparse`
- ๐ Optional `.env` and HTML summary output with `k6-reporter`
---
## ๐งฑ Limitations
* โ Currently supports only `pm.environment.set()` for chaining โ `pm.variables.set()` is not yet handled.
* โ ๏ธ Does not parse pre-request scripts or tests written in advanced Postman JavaScript.
* ๐ Sensitive auth flows (e.g., OAuth2 with token rotation) require manual setup.
* ๐ HTML reporting requires `k6-reporter` installed and configured separately.
* ๐ฆ Limited to JSON-based Postman collections (v2.1+).
---
## ๐ Quick Start
### 1. Install
No extra packages needed โ just Python 3.8+ and [k6](https://k6.io/docs/getting-started/installation)
```bash
pip install poetry
poetry install
```
### 2. Run the CLI
```bash
poetry run gk6 --help
```
Convert a Postman collection and environment:
```bash
poetry run gk6 convert --collection postman.json --env environment.json
```
---
## ๐ Development
### Local Dev Commands
```bash
make test # Run unit tests
make lint # Run all linters
make format # Apply black, isort formatting
make release # Bump version and tag release
```
### GitHub Actions
Includes CI for:
* โ
Linting (black, ruff)
* โ
Type checking (mypy)
* โ
Security scan (bandit, detect-secrets)
* โ
Version bump & release tagging
---
## ๐ Links
* ๐ [Live Docs on GitHub Pages](https://gopikrishna4595.github.io/gk6/)
* ๐ [Project Repo](https://github.com/gopikrishna4595/gk6)
* โ๏ธ [k6 Docs](https://k6.io/docs/)
* ๐งช [Postman Docs](https://learning.postman.com/docs/)
---
## ๐ License
MIT License โ see the [LICENSE](LICENSE) file for full text.
Raw data
{
"_id": null,
"home_page": null,
"name": "gk6",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "postman, k6, converter",
"author": "Gopi Krishna",
"author_email": "gopikrishna4595@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9a/ba/b6e576142b17c29f14397443be50a33974b93bc99d80dbdb4b880a94cace/gk6-2.0.12.tar.gz",
"platform": null,
"description": "# \u26a1 gk6 \u2013 Generate k6 Load Tests from Postman Collections\n\n[](/LICENSE)\n[](https://www.python.org/)\n[](https://gopikrishna4595.github.io/gk6/)\n\n**gk6** is a Python CLI tool that converts Postman collections into dynamic [k6](https://k6.io) performance testing scripts \u2014 with support for chaining variables, environment parsing, automated metrics, and HTML reporting. Built to automate what you shouldn\u2019t have to hand-code.\n\n---\n\n## \ud83c\udfaf Why gk6?\n\nIf you use Postman for API testing and k6 for performance testing, this tool connects the dots:\n\n- \u2705 No need to rewrite each request manually\n- \ud83d\udd01 It respects your chaining logic (`pm.environment.set`)\n- \ud83c\udf10 Supports environments and headers out of the box\n- \ud83d\udcca Visibility with built-in checks and trend metrics\n\n---\n\n## \u2705 Features\n\n- \u2705 Converts any Postman Collection to a runnable k6 script\n- \u2705 Supports `GET`, `POST`, `PUT`, `DELETE` methods\n- \ud83d\udd04 Recognizes and converts environment variables (`{{var}}`)\n- \ud83d\udd01 Detects request chaining via `pm.environment.set()`\n- \ud83d\udcca Auto-generates `Trend` metrics and `check()` assertions\n- \ud83d\udda5 CLI-friendly with `argparse`\n- \ud83d\udcc4 Optional `.env` and HTML summary output with `k6-reporter`\n\n---\n\n## \ud83e\uddf1 Limitations\n\n* \u2757 Currently supports only `pm.environment.set()` for chaining \u2014 `pm.variables.set()` is not yet handled.\n* \u26a0\ufe0f Does not parse pre-request scripts or tests written in advanced Postman JavaScript.\n* \ud83d\udd12 Sensitive auth flows (e.g., OAuth2 with token rotation) require manual setup.\n* \ud83d\udcc4 HTML reporting requires `k6-reporter` installed and configured separately.\n* \ud83d\udce6 Limited to JSON-based Postman collections (v2.1+).\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### 1. Install\n\nNo extra packages needed \u2014 just Python 3.8+ and [k6](https://k6.io/docs/getting-started/installation)\n\n```bash\npip install poetry\npoetry install\n```\n\n### 2. Run the CLI\n\n```bash\npoetry run gk6 --help\n```\n\nConvert a Postman collection and environment:\n\n```bash\npoetry run gk6 convert --collection postman.json --env environment.json\n```\n\n---\n\n## \ud83d\udee0 Development\n\n### Local Dev Commands\n\n```bash\nmake test # Run unit tests\nmake lint # Run all linters\nmake format # Apply black, isort formatting\nmake release # Bump version and tag release\n```\n\n### GitHub Actions\n\nIncludes CI for:\n\n* \u2705 Linting (black, ruff)\n* \u2705 Type checking (mypy)\n* \u2705 Security scan (bandit, detect-secrets)\n* \u2705 Version bump & release tagging\n\n\n---\n\n## \ud83d\udd17 Links\n\n* \ud83d\udcc4 [Live Docs on GitHub Pages](https://gopikrishna4595.github.io/gk6/)\n* \ud83d\udc19 [Project Repo](https://github.com/gopikrishna4595/gk6)\n* \u2699\ufe0f [k6 Docs](https://k6.io/docs/)\n* \ud83e\uddea [Postman Docs](https://learning.postman.com/docs/)\n\n---\n\n## \ud83d\udcc4 License\n\nMIT License \u2014 see the [LICENSE](LICENSE) file for full text.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Postman to k6 converter",
"version": "2.0.12",
"project_urls": {
"Documentation": "https://gopikrishna4595.github.io/gk6/",
"Homepage": "https://github.com/gopikrishna4595/gk6",
"Repository": "https://github.com/gopikrishna4595/gk6"
},
"split_keywords": [
"postman",
" k6",
" converter"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b53f1c9ebc01dd9bb84e68348bf132af9758c2a4e7d9c420ab6381996e6c8e06",
"md5": "3a4e59610d8440bef43c5ca93e2afd61",
"sha256": "a41db0ee67df261de526f639615f464b9f5a9029b1d10d0f0ac1010a9a483cdf"
},
"downloads": -1,
"filename": "gk6-2.0.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3a4e59610d8440bef43c5ca93e2afd61",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 8206,
"upload_time": "2025-08-03T13:52:16",
"upload_time_iso_8601": "2025-08-03T13:52:16.980681Z",
"url": "https://files.pythonhosted.org/packages/b5/3f/1c9ebc01dd9bb84e68348bf132af9758c2a4e7d9c420ab6381996e6c8e06/gk6-2.0.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9abab6e576142b17c29f14397443be50a33974b93bc99d80dbdb4b880a94cace",
"md5": "c8a74492fdf8d00a1cccfebbff3e34c9",
"sha256": "55a54abbfff437ec8d0d2ad0a212c1b9a99ed17956647ec91d06bc12ef32f5e2"
},
"downloads": -1,
"filename": "gk6-2.0.12.tar.gz",
"has_sig": false,
"md5_digest": "c8a74492fdf8d00a1cccfebbff3e34c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 7234,
"upload_time": "2025-08-03T13:52:17",
"upload_time_iso_8601": "2025-08-03T13:52:17.777576Z",
"url": "https://files.pythonhosted.org/packages/9a/ba/b6e576142b17c29f14397443be50a33974b93bc99d80dbdb4b880a94cace/gk6-2.0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 13:52:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gopikrishna4595",
"github_project": "gk6",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gk6"
}