{ "info": { "author": "Kirill Sulim", "author_email": "kirillsulim@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "# desman\nDesman is console HTTP API requests tool. Desman uses .yml files to save request information. You can use enviroment files wich are also .yml files, to substitute variables to request.\n\n## Installation\n### Pip\n```sh\npip install desman\n```\n\n### Docker on Unix-like\nDesman can be installed as .sh script running docker image:\n```\nsudo curl -L --fail https://raw.githubusercontent.com/kirillsulim/desman/master/scripts/run/run.sh -o /usr/local/bin/desman\nsudo chmod +x /usr/local/bin/desman\n```\n\nDefault tag in script is latest. If you want to fix specific version, change corresponding variable in script.\n\n### Docken on Windows\nDesman can be installed as .ps1 script running docker image. \n[Download script](https://raw.githubusercontent.com/kirillsulim/desman/master/scripts/run/run.ps1) and set required permissions.\nDefault tag in script is latest. If you want to fix specific version, change corresponding variable in script.\n\n## How to use\n### Simple request\nCreate .yml file with request description:\n```yml\nmethod: get\nurl: http://host.com/\n```\n\nthen pass file path to desman\n```sh\ndesman path/to/file.yml\n```\n\nand desman prints the body of response to console.\n\n### Request with parameters\nQuery parameters can be passed in url\n```yml\nmethod: get\nurl: http://host.com/?param=value\n```\nor be passed separately\n```yml\nmethod: get\nurl: http://host.com/\nparams:\n param: value\n```\n\n### Headers\nHeaders can be passed in headers field\n```yml\nmethod: get\nurl: http://host.com/\nheaders:\n Authorization: Bearer some-auth-token\nparams:\n param: value\n```\n\n### Body\nBody content can be passed in body field in request file\n```yml\nmethod: post\nurl: http://host.com/post\nheaders:\n Authorization: Bearer some-auth-token\nbody: |\n {\n \"stringField\": \"JSON value\",\n \"nestedObject\": {\n \"nestedField\": [1, 2, 3]\n }\n }\n```\n\n## Output parameters\nThe output of HTTP response is controlled by these optional paramters:\n- `-s` print status of response\n- `-H` print heafers of response\n- `-b` print body of response\n\nIf none of these parameters are passed desman prints only body of response.\n\n## Using environments\nAll request files are [Jinja2](http://jinja.pocoo.org/) templates.\n\n```yml\n# request.yml\nmethod: post\nurl: http://{{server.host}}:{{server.port}}/post\nheaders:\n Authorization: Bearer {{my-token}}\nbody: |\n {\n \"stringField\": \"JSON value\",\n \"nestedObject\": {\n \"nestedField\": [1, 2, 3]\n }\n }\n```\n\nVariables are substituted from enviroment .yml files\n\n```yml\n# env.yml\nserver:\n host: host.com\n port: 8080\nmy-token: \"some-auth-token\"\n```\n\nwhich are passed in optional parameter `-e`\n\n```sh\ndesman -e env.yml request.yml\n```\n\nYou can use many enviroment files. If they have similar fields desman will use the last occurence of value.\n\nWith many enviroment files\n\n```yml\n# env.yml\nserver:\n host: host.com\n port: 8080\nmy-token: \"some-auth-token\"\n```\n\n```yml\n# new-token.yml\nmy-token: \"new-token\"\n```\n\nif both passed as\n\n```sh\ndesman -e env.yml -e new-token.yml request.yml\n```\n\nrequest will be performed with `Authorization: Bearer new-token` header.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kirillsulim/desman", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "desman", "package_url": "https://pypi.org/project/desman/", "platform": "", "project_url": "https://pypi.org/project/desman/", "project_urls": { "Homepage": "https://github.com/kirillsulim/desman" }, "release_url": "https://pypi.org/project/desman/1.0.5/", "requires_dist": [ "requests (>=2.19.1)", "pyyaml (>=3.13)", "Jinja2 (>=2.10)" ], "requires_python": "", "summary": "Console HTTP API tool", "version": "1.0.5" }, "last_serial": 5292558, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e772f1bfb77b90508cf72a44ac4d0bbd", "sha256": "4aa733e0ee06e1f528032d05131df7df20634e9fcc5313719e98fc23aa8adc42" }, "downloads": -1, "filename": "desman-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e772f1bfb77b90508cf72a44ac4d0bbd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2232, "upload_time": "2018-08-29T18:56:44", "url": "https://files.pythonhosted.org/packages/f2/d8/1447c6c57fc2db403c09e3d3401fc8930d7e3fb56cebcfbe0629b39f0b0b/desman-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdc756df8754e6e2a281f92f50aa9ac9", "sha256": "8d8cfee40fc637f74222b0ffda80532e272ea7a9821565e83f764c09a9badf24" }, "downloads": -1, "filename": "desman-0.1.0.tar.gz", "has_sig": false, "md5_digest": "cdc756df8754e6e2a281f92f50aa9ac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1606, "upload_time": "2018-08-29T18:56:45", "url": "https://files.pythonhosted.org/packages/2d/7a/6c9ef5985ffc58a49fe3dead0557f8fe20883c3b31654d48db8961a90bf1/desman-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "962a510cce4de7b837c7baa5f2354498", "sha256": "ac4745407ebfb84db9259c27121420eeb3b2f5239ea0e669137ea0ceae129b8a" }, "downloads": -1, "filename": "desman-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "962a510cce4de7b837c7baa5f2354498", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2297, "upload_time": "2018-08-31T17:19:52", "url": "https://files.pythonhosted.org/packages/b5/97/1d87ce20accf0754318a677c31e52ef9075e962040f38bda99f2429173ed/desman-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "859a63419fdd41beabcad7187bc3ee4c", "sha256": "adf39ce6c707d6f690011aa20df1be42c2afa6c1ff872858ecac26effa8e1e06" }, "downloads": -1, "filename": "desman-0.1.1.tar.gz", "has_sig": false, "md5_digest": "859a63419fdd41beabcad7187bc3ee4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1699, "upload_time": "2018-08-31T17:19:53", "url": "https://files.pythonhosted.org/packages/06/66/32ed10a77da0760b6c603e43df820e96dc0a3e62740fb125fbae4b950e5b/desman-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d3da41abfe6486f0b50ede7943cc3cc8", "sha256": "063594ddc9df8ae6693f349907f7e595448e5a2a5971f91d14d0e6e9dd69c5ef" }, "downloads": -1, "filename": "desman-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d3da41abfe6486f0b50ede7943cc3cc8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2550, "upload_time": "2018-09-03T18:08:43", "url": "https://files.pythonhosted.org/packages/89/a4/147bf6fa4f5e8738712c9bc08f05ee576f77a34f6224907c112ee38a3ee1/desman-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c6980cf3fae5de17b222283a480d831", "sha256": "b4c52575c8156020d78298dbb82915dedf0dc75fb0f978b36a6fc8a93871f1f7" }, "downloads": -1, "filename": "desman-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3c6980cf3fae5de17b222283a480d831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1951, "upload_time": "2018-09-03T18:08:44", "url": "https://files.pythonhosted.org/packages/ef/3c/38f9ef5f9aaaab93df0ae37bb3c553216e322656d32f15084b14aa6e6613/desman-0.1.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9a3bb5f57037a147b6e29eb299cd8f91", "sha256": "84a08c9d1ed9cb0a923a7686bcaae9db283aad6a0748a49e9a61468a06c7fbc9" }, "downloads": -1, "filename": "desman-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9a3bb5f57037a147b6e29eb299cd8f91", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3396, "upload_time": "2018-09-08T06:47:46", "url": "https://files.pythonhosted.org/packages/b5/d8/28255b5e44c0d86c964c1ad96c0ae3a784db98618e7460bd575fc490547b/desman-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e17fa229dbdc0a1e2cb26e1eb3ac0b14", "sha256": "168b11563362c968c4a7984ffb298ab8d77c6462a1919363e279b88a12df1907" }, "downloads": -1, "filename": "desman-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e17fa229dbdc0a1e2cb26e1eb3ac0b14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3237, "upload_time": "2018-09-08T06:47:47", "url": "https://files.pythonhosted.org/packages/fd/5c/acfe0f7e3a145845a3671da7ce5b7d6c5723fab25ef09ac621a58f1057b6/desman-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "017bd4f7c833a155fed6e22c8fc854a7", "sha256": "173ac67799984e2fba14b00f1a60bb6a66e1236e5c88413f97f6b0783cc7f863" }, "downloads": -1, "filename": "desman-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "017bd4f7c833a155fed6e22c8fc854a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3413, "upload_time": "2018-09-08T18:13:25", "url": "https://files.pythonhosted.org/packages/74/8b/9c83a7fc8cd866ce7f0485602195e88f2f439afbe63e9d53c680b09b1602/desman-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7a466a32780b3ae76ddaf50b2df9b28", "sha256": "90b71e47dcaccca28b01481bdc515314cc63ad0e092f7d800d4cbad312c647a1" }, "downloads": -1, "filename": "desman-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f7a466a32780b3ae76ddaf50b2df9b28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3315, "upload_time": "2018-09-08T18:13:27", "url": "https://files.pythonhosted.org/packages/b5/ea/460305e9652fc5c97a3c2c0d870d7db5c7e2b70fa3fb9ffcb843d8a56d49/desman-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3bae54252481d38707a74819f0e7afb0", "sha256": "2026855615134164b368347548ddd4b44944824a7731d2310b739ef96aca8a1e" }, "downloads": -1, "filename": "desman-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3bae54252481d38707a74819f0e7afb0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4468, "upload_time": "2018-12-12T07:03:22", "url": "https://files.pythonhosted.org/packages/4a/27/f5c9e970cffd077bd0e5541b18d55fff7abc9318e695ecaa5d6e69852a5e/desman-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf0730ca4a031bf8b223267f30eafb67", "sha256": "be57f681427283224e70c2a9a508d66d1a30841122fc974c45eceb38d6b5811d" }, "downloads": -1, "filename": "desman-1.0.2.tar.gz", "has_sig": false, "md5_digest": "bf0730ca4a031bf8b223267f30eafb67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3621, "upload_time": "2018-12-12T07:03:24", "url": "https://files.pythonhosted.org/packages/51/db/8eb02198ba1652cddd47e11f67bdef9909f01c9b0bdaae2d0ab580e041f6/desman-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "f11a67dd2b9a695c3d4e762070d16640", "sha256": "1ff906562d0d1339ab73ee91074a3a887be4ba9ce8da046c0738b5ca1b8d99f9" }, "downloads": -1, "filename": "desman-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f11a67dd2b9a695c3d4e762070d16640", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4478, "upload_time": "2019-05-07T08:40:47", "url": "https://files.pythonhosted.org/packages/49/46/9167233acc7a3ed35ff7e28a8ae46835b23ec2a26a6446a2250d0918e66c/desman-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ac5d0946a25ac535098b3876f3ce3c5", "sha256": "a765982081916dcddff1c0be6c765861b4fd87d8114772b41ec3d9fb4cbde496" }, "downloads": -1, "filename": "desman-1.0.3.tar.gz", "has_sig": false, "md5_digest": "8ac5d0946a25ac535098b3876f3ce3c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3632, "upload_time": "2019-05-07T08:40:48", "url": "https://files.pythonhosted.org/packages/d2/c3/4e657024f03bc4d7d7e9412ed0fd754763f145ca25ae5d45c824653e26ac/desman-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "e768cbab6daef4e78c609af409ad8f67", "sha256": "5335281622357f5555ad098d643ea36a9d5c0ff4ea69c82d085670d0177943a9" }, "downloads": -1, "filename": "desman-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e768cbab6daef4e78c609af409ad8f67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4493, "upload_time": "2019-05-06T16:25:51", "url": "https://files.pythonhosted.org/packages/a5/23/80a65393960c0b397b7c9a6b99e46d4e878f874e0826d0009a43a6ecf167/desman-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dabd23879b2cd72c74bab6623bf6b0a4", "sha256": "07fb259a090a003bd93cd6767a13ed2e63b4dbd79c2d0ce15edc68ae01dc5b37" }, "downloads": -1, "filename": "desman-1.0.4.tar.gz", "has_sig": false, "md5_digest": "dabd23879b2cd72c74bab6623bf6b0a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3650, "upload_time": "2019-05-06T16:25:53", "url": "https://files.pythonhosted.org/packages/a0/2a/1f607b6e88c80c63d4d0d4bfeb00a234f67460b7e74ffe96a4ea3e17c045/desman-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "94e880d5e88c3891dfdd6171fe81ba1f", "sha256": "a9c0070424a7b1a2702f9fda58aea5a71f1fd3719ce32340ff384378771caf89" }, "downloads": -1, "filename": "desman-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "94e880d5e88c3891dfdd6171fe81ba1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4516, "upload_time": "2019-05-20T14:10:39", "url": "https://files.pythonhosted.org/packages/ce/45/68a1db5174f66c202ff40041fc0734e236b96948fab524df5961e75b8b42/desman-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01d14f678d97b3864c97728f22f27a1d", "sha256": "1400a0154db569420576d1e0c9bd78c66ebf78751f7b1a56ac25c20fbb8cc561" }, "downloads": -1, "filename": "desman-1.0.5.tar.gz", "has_sig": false, "md5_digest": "01d14f678d97b3864c97728f22f27a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3667, "upload_time": "2019-05-20T14:10:41", "url": "https://files.pythonhosted.org/packages/b4/51/916c8fb2d1edbecfcfcc7c5fe4e0141b58e75eaf8a9285745bd5464408c8/desman-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "94e880d5e88c3891dfdd6171fe81ba1f", "sha256": "a9c0070424a7b1a2702f9fda58aea5a71f1fd3719ce32340ff384378771caf89" }, "downloads": -1, "filename": "desman-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "94e880d5e88c3891dfdd6171fe81ba1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4516, "upload_time": "2019-05-20T14:10:39", "url": "https://files.pythonhosted.org/packages/ce/45/68a1db5174f66c202ff40041fc0734e236b96948fab524df5961e75b8b42/desman-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01d14f678d97b3864c97728f22f27a1d", "sha256": "1400a0154db569420576d1e0c9bd78c66ebf78751f7b1a56ac25c20fbb8cc561" }, "downloads": -1, "filename": "desman-1.0.5.tar.gz", "has_sig": false, "md5_digest": "01d14f678d97b3864c97728f22f27a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3667, "upload_time": "2019-05-20T14:10:41", "url": "https://files.pythonhosted.org/packages/b4/51/916c8fb2d1edbecfcfcc7c5fe4e0141b58e75eaf8a9285745bd5464408c8/desman-1.0.5.tar.gz" } ] }