{ "info": { "author": "Aaron Hicks", "author_email": "aethylred@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pyfreeipa\n\nPython module for accessing the FreeIPA/Red Hat Identity Manager API (a.k.a IPA)\n\nThis module does not do any exception handling, it wants your code to handle exceptions.\n\n# Usage\n\nThe following sample sets up a IPA API object with minimal configuration.\n\n```python\nfrom pyfreeipa.Api import Api\n\nipaapi = Api(\n host=\"ipa.example.org\",\n username=\"ipauser\",\n password=\"somethingsecret\"\n)\n\nresponse = ipaapi.ping()\n\nif response.ok:\n result = response.json()['result']\n print('Good: %s' & result['summary'])\nelse:\n print('Bad: %s' % response.status_code)\n```\n\nIncluded is a `configuration` method that can read all the required configuration options from a yaml file.\n\n# Examples\n\nThe `pyfreeipa` module itself can be executed as a wrapper script around `pyfreeipa.Api`\n\nThere are also some test scripts that demonstrate it's capabilites in the `test` directory, they have their own [documentation](tests/README.md).\n\n# FreeIPA API Methods\n\nThe `Api` object supports both implemented and unimplemented methods\n\n## Unimplemented Methods\n\nUnimplemented methods are supported via the `Api.request()` method:\n\n```python\nfrom pyfreeipa.Api import Api\n\nipaapi = Api(\n host=\"ipa.example.org\",\n username=\"ipauser\",\n password=\"somethingsecret\"\n)\n\nipaapi.request(\n method='group_add_member',\n args=['groupname'],\n parameters={\n 'users': [\n 'anne',\n 'bob',\n 'claire'\n ]\n }\n)\n```\n\n\n## Implemented Methods\n\n# Other Methods\n\nThe `Api` object has a some methods that do not directly relate to requests to the IPA API\n\n## `login()`\n\nThe IPA API login process that isn't standard HTTPS authentication, this method initiates the login and should be sufficient to maintain login througout a session.\n\n## `get()`\n\nA passthrough function that sends a `GET` request to the IPA API session. Returns a `requests.response` object.\n\n## `post()`\n\nA passthrough function that sends a `POST` request to the IPA API session. Returns a `requests.response` object.\n\n## `put()`\n\nA passthrough function that sends a `PUT` request to the IPA API session. Returns a `requests.response` object.\n\n## `request()`\n\nThis function checks and verifies it's argments and converts regular string, dictionary, and list objects and converts them into the required data types to submit as a request, executes the request and returns a `requests.Response` object.\n\n### Parameters\n\n* `method` A the IPA API method to be called\n* `args` A list of arguments for the method\n* `params` A dictionary of parameters for the method\n\n## `preprequest()`\n\nThis function checks and verifies it's argments and converts regular string, dictionary, and list objects and converts them into the required data types to submit as a request, executes the request and returns a `requests.PreparedRequest` object.\n\n### Parameters\n\n* `method` A the IPA API method to be called\n* `args` A list of arguments for the method\n* `params` A dictionary of parameters for the method\n\n## `warnings`\n\nEmits a list of warnings that have occured.\n\n## `clearwarnings()`\n\nClears the warnings list.\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": "", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "PyFreeIPA", "package_url": "https://pypi.org/project/PyFreeIPA/", "platform": "", "project_url": "https://pypi.org/project/PyFreeIPA/", "project_urls": null, "release_url": "https://pypi.org/project/PyFreeIPA/0.1.0/", "requires_dist": [ "certifi", "chardet", "idna", "PyYAML", "requests", "typing", "urllib3" ], "requires_python": "", "summary": "Python FreeIPA API interface", "version": "0.1.0" }, "last_serial": 4951877, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5186311dc43fa5fd1591e31e64252915", "sha256": "8b39b92d5d9f2a75fc0152a7fa0139f6b2016e27664616398da325759b1b3d1a" }, "downloads": -1, "filename": "PyFreeIPA-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5186311dc43fa5fd1591e31e64252915", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14259, "upload_time": "2019-03-18T01:37:11", "url": "https://files.pythonhosted.org/packages/55/fd/f0809534a91263f66227515ad2e90e54769fddcf2923c81222bee9f19086/PyFreeIPA-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aba4c8bd3628655b4cc92016fdea8a73", "sha256": "4c46ca45c4c64658e056da2035944ac7cb9d211be555453c2b28ff3e15661007" }, "downloads": -1, "filename": "PyFreeIPA-0.1.0.tar.gz", "has_sig": false, "md5_digest": "aba4c8bd3628655b4cc92016fdea8a73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10660, "upload_time": "2019-03-18T01:37:14", "url": "https://files.pythonhosted.org/packages/8b/55/2c73c9f25ea9a8c67c30bedc612dbaef9ea1a1424074e310816ddd6974cb/PyFreeIPA-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5186311dc43fa5fd1591e31e64252915", "sha256": "8b39b92d5d9f2a75fc0152a7fa0139f6b2016e27664616398da325759b1b3d1a" }, "downloads": -1, "filename": "PyFreeIPA-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5186311dc43fa5fd1591e31e64252915", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14259, "upload_time": "2019-03-18T01:37:11", "url": "https://files.pythonhosted.org/packages/55/fd/f0809534a91263f66227515ad2e90e54769fddcf2923c81222bee9f19086/PyFreeIPA-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aba4c8bd3628655b4cc92016fdea8a73", "sha256": "4c46ca45c4c64658e056da2035944ac7cb9d211be555453c2b28ff3e15661007" }, "downloads": -1, "filename": "PyFreeIPA-0.1.0.tar.gz", "has_sig": false, "md5_digest": "aba4c8bd3628655b4cc92016fdea8a73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10660, "upload_time": "2019-03-18T01:37:14", "url": "https://files.pythonhosted.org/packages/8b/55/2c73c9f25ea9a8c67c30bedc612dbaef9ea1a1424074e310816ddd6974cb/PyFreeIPA-0.1.0.tar.gz" } ] }