{ "info": { "author": "Artur Barseghyan", "author_email": "artur.barseghyan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet" ], "description": "===\npif\n===\nDiscovers your public IP address using pre-defined checkers (external services).\n\nPrerequisites\n=============\n- Python 2.7, 3.4, 3.5, PyPy\n\nInstallation\n============\nInstall with latest stable version from PyPI:\n\n.. code-block:: sh\n\n pip install pif\n\nor install the latest stable version from source:\n\n.. code-block:: sh\n\n pip install https://bitbucket.org/barseghyanartur/pif/get/stable.tar.gz\n\nor install into python path:\n\n.. code-block:: sh\n\n python setup.py install\n\nThat's all. See the `Usage and examples`_ section for more.\n\nUsage and examples\n==================\nBasic usage\n-----------\nGet public IP:\n\n.. code-block:: python\n\n from pif import get_public_ip\n get_public_ip()\n\nGet public IP using preferred checker:\n\n.. code-block:: python\n\n get_public_ip('v4.ident.me')\n\nList available checkers:\n\n.. code-block:: python\n\n from pif.utils import list_checkers\n list_checkers()\n\nRegistering a custom IP checker\n-------------------------------\n`pif` ships with a number of pre-defined public IP checkers. But you may extend\nit by defining your own ones as follows.\n\n.. code-block:: python\n\n from pif.base import BaseIPChecker, registry\n\n class MyPublicIPChecker(BaseIPChecker):\n\n uid = 'mypublicipchecker' # UID of the checker\n\n def get_public_ip(self):\n # TODO: Implement your logic\n\n\n # Register the checker\n registry.register(MyPublicIPChecker)\n\n # Get public IP using the preferred checker\n get_public_ip('mypublicipchecker')\n\nCommand line usage\n------------------\nIt's possible to get your public IP address from command line using the\n`pif.commands.get_public_ip` module.\n\n.. code-block:: text\n\n optional arguments:\n -h, --help show this help message and exit\n -c PREFERRED_CHECKER, --checker PREFERRED_CHECKER\n `preferred_checker` value\n -v VERBOSE, --verbose VERBOSE\n `verbose` value\n\n:Example: (simple)\n\n.. code-block:: sh\n\n get-public-ip\n\n:Example: (with preferred checked and verbose output)\n\n.. code-block:: sh\n\n get-public-ip -c v4.ident.me -v 1\n\nTesting\n=======\nSimply type:\n\n.. code-block:: sh\n\n ./runtests.py\n\nor use tox:\n\n.. code-block:: sh\n\n tox\n\nor use tox to check specific env:\n\n.. code-block:: sh\n\n tox -e py35\n\nLicense\n=======\nGPL 2.0/LGPL 2.1\n\nSupport\n=======\nFor any issues contact me at the e-mail given in the `Author` section.\n\nAuthor\n======\nArtur Barseghyan ", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/barseghyanartur/pif", "keywords": "public ip checker,ip", "license": "GPL 2.0/LGPL 2.1", "maintainer": null, "maintainer_email": null, "name": "pif", "package_url": "https://pypi.org/project/pif/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pif/", "project_urls": { "Homepage": "https://github.com/barseghyanartur/pif" }, "release_url": "https://pypi.org/project/pif/0.8.2/", "requires_dist": null, "requires_python": null, "summary": "Public IP address checker.", "version": "0.8.2" }, "last_serial": 3472154, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "126ee86d25765888ce8220b45846d15d", "sha256": "2375e2bfd19dc1deba6956b27357497f60e9055fc64cdbe1225ab9c075ee2084" }, "downloads": -1, "filename": "pif-0.3.tar.gz", "has_sig": false, "md5_digest": "126ee86d25765888ce8220b45846d15d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4752, "upload_time": "2013-08-31T09:47:24", "url": "https://files.pythonhosted.org/packages/14/62/ecd7301ba81487dc3436414dd63ed8854cc1f503efaade4f5790dc6e850b/pif-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a763385be864abffcd18cdeda67832b6", "sha256": "0acf7d30bcdf41085f0c172a599cbbc404e56124bde71720cb54721defccd99b" }, "downloads": -1, "filename": "pif-0.4.tar.gz", "has_sig": false, "md5_digest": "a763385be864abffcd18cdeda67832b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5222, "upload_time": "2013-08-31T10:18:39", "url": "https://files.pythonhosted.org/packages/7c/35/471ac2512371ea9a7aec80c59d8026ee5d300e01c724af52b14b2ec54d7f/pif-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "f9bedd49d74a744fa1baa2436ef9e004", "sha256": "a627b569aeb6a0ea73261d288c9ebb279fd5c52920ee9aac0cd9f07041ff03a7" }, "downloads": -1, "filename": "pif-0.5.tar.gz", "has_sig": false, "md5_digest": "f9bedd49d74a744fa1baa2436ef9e004", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5488, "upload_time": "2013-09-06T20:30:31", "url": "https://files.pythonhosted.org/packages/13/c4/9fcc4ee113da8d599ca32bbb80dbc4160dde59b07b9987a8665883b2b8cf/pif-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "87b34e7da8b6d0924f60e0886fe43960", "sha256": "d048dad1ce6933b8817ee801436f1bd2ee10acd300651aa3ac052f14018d14fa" }, "downloads": -1, "filename": "pif-0.6.tar.gz", "has_sig": false, "md5_digest": "87b34e7da8b6d0924f60e0886fe43960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6370, "upload_time": "2014-01-20T13:34:31", "url": "https://files.pythonhosted.org/packages/21/b6/a25630803bf189a83b830057d0382b689eb8855a8842e59565fb60023b24/pif-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "23b47e84f70275021234b4d0b0c85b31", "sha256": "161d3c2f1390aa2cc14da56aecc84cd43b62faf0d60e02e75d2f370d109276e3" }, "downloads": -1, "filename": "pif-0.7.tar.gz", "has_sig": false, "md5_digest": "23b47e84f70275021234b4d0b0c85b31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23274, "upload_time": "2014-05-09T21:55:27", "url": "https://files.pythonhosted.org/packages/f7/17/4078b90b26f9f89761c5ddce8020f68129f2bb1424390ac602c10ef9bbad/pif-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "b63a5aa7cd231a7dcea42da3cac8d625", "sha256": "353191326f099cd40ddfa90864f65382ddb20101768f74649eba32c8d13156c4" }, "downloads": -1, "filename": "pif-0.7.1.tar.gz", "has_sig": false, "md5_digest": "b63a5aa7cd231a7dcea42da3cac8d625", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19881, "upload_time": "2014-10-09T06:54:17", "url": "https://files.pythonhosted.org/packages/c2/97/c772dc8aa20d01b041c446e484d66f07deb9d71265952c22ce16d64d8a87/pif-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "3d10b9001e81dd8cb60825d5e43f84c3", "sha256": "4b5ec2b4a1efab77a4f32df8da138dc600fefb17f728cce51967c8ffd7e59a86" }, "downloads": -1, "filename": "pif-0.7.2-none-py2-any.whl", "has_sig": false, "md5_digest": "3d10b9001e81dd8cb60825d5e43f84c3", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 14947, "upload_time": "2016-01-05T02:11:47", "url": "https://files.pythonhosted.org/packages/2e/b3/ea97893bc641bf44fe98220049df428eb17d2662c106528ba813e7121ba5/pif-0.7.2-none-py2-any.whl" }, { "comment_text": "", "digests": { "md5": "774886cf85843c15a6358ce1d4008b70", "sha256": "19cb066d8ffdf6aac57133aa2cd1a8ab6bb75c7188c6b0cd9440815b4c7c2e76" }, "downloads": -1, "filename": "pif-0.7.2-py2-none-any.tar.gz", "has_sig": false, "md5_digest": "774886cf85843c15a6358ce1d4008b70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23124, "upload_time": "2016-01-05T02:11:13", "url": "https://files.pythonhosted.org/packages/19/9c/88305ea76719568312b252a0ccfb03bf6b1b0c4216219a18202511922eb9/pif-0.7.2-py2-none-any.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "eac28f143831dbdbb732df75feeface1", "sha256": "7accc975cfcd929a8d4e84384017b55676a020da12f47c6a7b5afeb27368dc6d" }, "downloads": -1, "filename": "pif-0.7.3-py2-none-any.whl", "has_sig": false, "md5_digest": "eac28f143831dbdbb732df75feeface1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15699, "upload_time": "2016-01-23T22:19:20", "url": "https://files.pythonhosted.org/packages/68/13/be378f812e0d2f44ccd9f539cd761e5f84d1c8d1975218a84da18df8d8ee/pif-0.7.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "583cd925b9d215bfb4e0d995fab9081c", "sha256": "e6a792a6d06e9ec852a0bde4c999b5e58c571a5c0b7b06234c5c103a6b405a77" }, "downloads": -1, "filename": "pif-0.7.3.tar.gz", "has_sig": false, "md5_digest": "583cd925b9d215bfb4e0d995fab9081c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23303, "upload_time": "2016-01-23T22:19:13", "url": "https://files.pythonhosted.org/packages/a2/59/0ba13175ee2f12b23d12ff99a0b2f380b76fa655d1456f123478242e617e/pif-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "7169ee1a602847e8107a6084eaee7856", "sha256": "56cbbb335ebf297555b91e3a9e9a724fe92770f11c90f92067d43530b476f0c1" }, "downloads": -1, "filename": "pif-0.7.4-py2-none-any.whl", "has_sig": false, "md5_digest": "7169ee1a602847e8107a6084eaee7856", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19815, "upload_time": "2016-11-19T01:33:44", "url": "https://files.pythonhosted.org/packages/32/5a/38cf7d21ff1abbd06b059949295b08bc0a9635783bc8c1d96e7b07b656a2/pif-0.7.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d185ebced3b84ce9e789526e779047fc", "sha256": "e8815ea2e404d2e12e210a99e9501f4ee3edd5c5c19aedd8df146220df6b0282" }, "downloads": -1, "filename": "pif-0.7.4.tar.gz", "has_sig": false, "md5_digest": "d185ebced3b84ce9e789526e779047fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24406, "upload_time": "2016-11-19T01:33:40", "url": "https://files.pythonhosted.org/packages/69/95/dbb6ccb704da6815c6cd30eeff820e633cc7a743bd82ea44ba409034f4a8/pif-0.7.4.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "c53541fa7d68e864329406e8fd6bd5a7", "sha256": "a8ffe499259c095bdace3cd8fa4987fa4b2eceaf26458af672e810ac52bcf891" }, "downloads": -1, "filename": "pif-0.8-py2-none-any.whl", "has_sig": false, "md5_digest": "c53541fa7d68e864329406e8fd6bd5a7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19733, "upload_time": "2016-11-20T21:29:34", "url": "https://files.pythonhosted.org/packages/21/de/cb47b615b3874b9493ec46fd35c528b6a8185bdf89f7e9c0008706538783/pif-0.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4251c69e4a843ae6fbb508307241fd8b", "sha256": "f8fdf69f8b3d47a02a399a872598f11239e466c39dc26a1b7722c16de7fb464c" }, "downloads": -1, "filename": "pif-0.8.tar.gz", "has_sig": false, "md5_digest": "4251c69e4a843ae6fbb508307241fd8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24577, "upload_time": "2016-11-20T21:29:31", "url": "https://files.pythonhosted.org/packages/22/86/9865de3dc271310d1b570ec7d0dcc30c509f9c4411fc25e8a8734f07939b/pif-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "0ec130ae63b123b7b8f98364bdd135b7", "sha256": "dde15f3a564d0aa4c280bcfd2fa5708bc4dd9eccb3b0600288f414d9c403bfd7" }, "downloads": -1, "filename": "pif-0.8.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0ec130ae63b123b7b8f98364bdd135b7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19763, "upload_time": "2016-11-24T22:46:37", "url": "https://files.pythonhosted.org/packages/02/31/e567d6d0c98b5a36a994709c42d453dec0e1b3ae13a24f55922fa3b84b36/pif-0.8.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5e903cd8662a3a81cf7c4d11449e845", "sha256": "67af4cc90fd9d5b5eb3d1a01cb2fd5d7caacef2191590854583b6ddac4d7a0de" }, "downloads": -1, "filename": "pif-0.8.1.tar.gz", "has_sig": false, "md5_digest": "f5e903cd8662a3a81cf7c4d11449e845", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24582, "upload_time": "2016-11-24T22:46:34", "url": "https://files.pythonhosted.org/packages/f8/bc/f5e2f7de40eab812eaa3127691d30c1941edbfbd1e7fbf7ed3e479288f02/pif-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "e4f3a34146f032f313992228fdbffdd7", "sha256": "dbd3a5032ed8417780d3632e226ea67438751939adbb95e90f471a4565fe95fb" }, "downloads": -1, "filename": "pif-0.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4f3a34146f032f313992228fdbffdd7", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 19838, "upload_time": "2016-12-22T15:28:50", "url": "https://files.pythonhosted.org/packages/20/42/11a03f86acb097f2a1ec329524eecae806cc76ed9fe496bd127e198d895a/pif-0.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7349c994f8601ab3796d26900fd845dc", "sha256": "5ee4a13a52a6facefb510c4740a28bc33f16ae7fe3b2cc523080102dfddf5bbb" }, "downloads": -1, "filename": "pif-0.8.2.tar.gz", "has_sig": false, "md5_digest": "7349c994f8601ab3796d26900fd845dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21052, "upload_time": "2016-12-22T15:28:35", "url": "https://files.pythonhosted.org/packages/be/92/77fec5e8eded1e3c53d43e36a0a8c5463cdaa4af991c65e4dc6cc14a2fb4/pif-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e4f3a34146f032f313992228fdbffdd7", "sha256": "dbd3a5032ed8417780d3632e226ea67438751939adbb95e90f471a4565fe95fb" }, "downloads": -1, "filename": "pif-0.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4f3a34146f032f313992228fdbffdd7", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 19838, "upload_time": "2016-12-22T15:28:50", "url": "https://files.pythonhosted.org/packages/20/42/11a03f86acb097f2a1ec329524eecae806cc76ed9fe496bd127e198d895a/pif-0.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7349c994f8601ab3796d26900fd845dc", "sha256": "5ee4a13a52a6facefb510c4740a28bc33f16ae7fe3b2cc523080102dfddf5bbb" }, "downloads": -1, "filename": "pif-0.8.2.tar.gz", "has_sig": false, "md5_digest": "7349c994f8601ab3796d26900fd845dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21052, "upload_time": "2016-12-22T15:28:35", "url": "https://files.pythonhosted.org/packages/be/92/77fec5e8eded1e3c53d43e36a0a8c5463cdaa4af991c65e4dc6cc14a2fb4/pif-0.8.2.tar.gz" } ] }