{ "info": { "author": "Yuriy Zemskov", "author_email": "zemskyura@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: Name Service (DNS)" ], "description": "# pythonwhois-alt\n\nThis is a fork of powerful \n[Sven Slootweg's pythonwhois](https://github.com/joepie91/python-whois) \nlibrary which unfortunately seems abandoned. My changelog is \n[here](https://github.com/kilgoretrout1985/pythonwhois-py3/blob/master/CHANGELOG).\n\nInstall it with:\n\n```\npip install pythonwhois-alt\n```\n\nOriginal description goes under.\n\n___\n\npythonwhois\n===========\n\nA WHOIS retrieval and parsing library for Python.\n\n## Dependencies\n\nNone! All you need is the Python standard library.\n\n## Instructions\n\nThe manual (including install instructions) can be found in the doc/ directory. A HTML version is also viewable [here](http://cryto.net/pythonwhois).\n\n## Goals\n\n* 100% coverage of WHOIS formats.\n* Accurate and complete data.\n* Consistently functional parsing; constant tests to ensure the parser isn't accidentally broken.\n\n## Features\n\n* WHOIS data retrieval\n\t* Able to follow WHOIS server redirects\n\t* Won't get stuck on multiple-result responses from verisign-grs\n* WHOIS data parsing\n\t* Base information (registrar, etc.)\n\t* Dates/times (registration, expiry, ...)\n\t* Full registrant information (!)\n\t* Nameservers\n* Optional WHOIS data normalization\n\t* Attempts to intelligently reformat WHOIS data for better (human) readability\n\t* Converts various abbreviation types to full locality names\n\t\t* Airport codes\n\t\t* Country names (2- and 3-letter ISO codes)\n\t\t* US states and territories\n\t\t* Canadian states and territories\n\t\t* Australian states\n* `pwhois`, a simple WHOIS tool using pythonwhois\n\t* Easily readable output format\n\t* Can also output raw WHOIS data\n\t* ... and JSON.\n* Automated testing suite\n\t* Will detect and warn about any changes in parsed data compared to previous runs\n\t* Guarantees that previously working WHOIS parsing doesn't unintentionally break when changing code\n\n## IP range WHOIS\n\n`pythonwhois` does not yet support WHOIS lookups on IP ranges (including single IPs), although this will be added at some point in the future. In the meantime, consider using [`ipwhois`](https://github.com/secynic/ipwhois) - it offers functionality and an API similar to `pythonwhois`, but for IPs. It also supports delegated RWhois.\n\nDo note that `ipwhois` does not offer a normalization feature, and does not (yet) come with a command-line tool. Additionally, `ipwhois` is maintained by Philip Hane and not by me; please make sure to file bugs relating to it in the `ipwhois` repository, not in that of `pythonwhois`.\n\n## Important update notes\n\n*2.4.0 and up*: A lot of changes were made to the normalization, and the performance under Python 2.x was significantly improved. The average parsing time under Python 2.7 has dropped by 94% (!), and on my system averages out at 18ms. Performance under Python 3.x is [unchanged](https://github.com/joepie91/python-whois/issues/27). `pythonwhois` will now expand a lot of abbreviations in normalized mode, such as airport codes, ISO country codes, and US/CA/AU state abbreviations. The consequence of this is that the library is now bigger (as it ships a list of these abbreviations). Also note that there *may* be licensing consequences, in particular regarding the airport code database. More information about that can be found below.\n\n*2.3.0 and up*: Python 3 support was fixed. Creation date parsing for contacts was fixed; correct timestamps will now be returned, rather than unformatted ones - if your application relies on the broken variant, you'll need to change your code. Some additional parameters were added to the `net` and `parse` methods to facilitate NIC handle lookups; the defaults are backwards-compatible, and these changes should not have any consequences for your code. Thai WHOIS parsing was implemented, but is a little spotty - data may occasionally be incorrectly split up. Please submit a bug report if you run across any issues.\n\n*2.2.0 and up*: The internal workings of `get_whois_raw` have been changed, to better facilitate parsing of WHOIS data from registries that may return multiple partial matches for a query, such as `whois.verisign-grs.com`. This change means that, by default, `get_whois_raw` will now strip out the part of such a response that does not pertain directly to the requested domain. If your application requires an unmodified raw WHOIS response and is calling `get_whois_raw` directly, you should use the new `never_cut` parameter to keep pythonwhois from doing this post-processing. As this is a potentially breaking behaviour change, the minor version has been bumped.\n\n## It doesn't work!\n\n* It doesn't work at all?\n* It doesn't parse the data for a particular domain?\n* There's an inaccuracy in parsing the data for a domain, even just a small one?\n\nIf any of those apply, don't hesitate to file an issue! The goal is 100% coverage, and we need your feedback to reach that goal.\n\n## License\n\nThis library may be used under the WTFPL - or, if you take issue with that, consider it to be under the CC0.\n\n## Data sources\n\nThis library uses a number of third-party datasets for normalization:\n\n* `airports.dat`: [OpenFlights Airports Database](http://openflights.org/data.html) ([Open Database License 1.0](http://opendatacommons.org/licenses/odbl/1.0/), [Database Contents License 1.0](http://opendatacommons.org/licenses/dbcl/1.0/))\n* `countries.dat`: [Country List](https://github.com/umpirsky/country-list) (MIT license)\n* `countries3.dat`: [ISO countries list](https://gist.github.com/eparreno/205900) (license unspecified)\n* `states_au.dat`: Part of `pythonwhois` (WTFPL/CC0)\n* `states_us.dat`: [State Table](http://statetable.com/) (license unspecified, free reuse encouraged)\n* `states_ca.dat`: [State Table](http://statetable.com/) (license unspecified, free reuse encouraged)\n\nBe aware that the OpenFlights database in particular has potential licensing consequences; if you do not wish to be bound by these potential consequences, you may simply delete the `airports.dat` file from your distribution. `pythonwhois` will assume there is no database available, and will not perform airport code conversion (but still function correctly otherwise). This also applies to other included datasets.\n\n## Contributing\n\nFeel free to fork and submit pull requests (to the `develop` branch)! If you change any parsing or normalization logic, ensure to run the full test suite before opening a pull request. Instructions for that are below.\n\nPlease note that this project uses tabs for indentation.\n\nAll commands are relative to the root directory of the repository.\n\n**Pull requests that do _not_ include output from test.py will be rejected!**\n\n### Adding new WHOIS data to the testing set\n\n\tpwhois --raw thedomain.com > test/data/thedomain.com\n\t\n### Checking the currently parsed data (while editing the parser)\n\n\t./pwhois -f test/data/thedomain.com/ .\n\t\n(don't forget the dot at the end!)\n\t\n### Marking the current parsed data as correct for a domain\n\nMake sure to verify (using `pwhois` or otherwise) that the WHOIS data for the domain is being parsed correctly, before marking it as correct!\n\n\t./test.py update thedomain.com\n\t\n### Running all tests\n\n\t./test.py run all\n\t\n### Testing a specific domain\n\n\t./test.py run thedomain.com\n\n### Running the full test suite including support for multiple python versions\n\n tox\n\n### Generating documentation\n\nYou need [ZippyDoc](http://cryto.net/zippydoc) (which can be installed through `pip install zippydoc`).\n\n\tzpy2html doc/*.zpy", "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/kilgoretrout1985/pythonwhois-alt", "keywords": "whois nic domain", "license": "WTFPL", "maintainer": "", "maintainer_email": "", "name": "pythonwhois-alt", "package_url": "https://pypi.org/project/pythonwhois-alt/", "platform": "", "project_url": "https://pypi.org/project/pythonwhois-alt/", "project_urls": { "Homepage": "https://github.com/kilgoretrout1985/pythonwhois-alt" }, "release_url": "https://pypi.org/project/pythonwhois-alt/2.4.4/", "requires_dist": null, "requires_python": "", "summary": "Module for retrieving and parsing the WHOIS data for a domain. Supports most domains. No dependencies.", "version": "2.4.4" }, "last_serial": 5238077, "releases": { "2.4.4": [ { "comment_text": "", "digests": { "md5": "f9107eb948f881cb206f7ef6110ae676", "sha256": "26fc8099a51596ec65384811c10285db9a3c5e56c86c73891ee9c49403729cf5" }, "downloads": -1, "filename": "pythonwhois-alt-2.4.4.tar.gz", "has_sig": false, "md5_digest": "f9107eb948f881cb206f7ef6110ae676", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301125, "upload_time": "2019-05-07T12:57:03", "url": "https://files.pythonhosted.org/packages/93/d0/87868eccc6ae1ef6dfde93df899824e303358806dd8d943521fef83cbbe9/pythonwhois-alt-2.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f9107eb948f881cb206f7ef6110ae676", "sha256": "26fc8099a51596ec65384811c10285db9a3c5e56c86c73891ee9c49403729cf5" }, "downloads": -1, "filename": "pythonwhois-alt-2.4.4.tar.gz", "has_sig": false, "md5_digest": "f9107eb948f881cb206f7ef6110ae676", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301125, "upload_time": "2019-05-07T12:57:03", "url": "https://files.pythonhosted.org/packages/93/d0/87868eccc6ae1ef6dfde93df899824e303358806dd8d943521fef83cbbe9/pythonwhois-alt-2.4.4.tar.gz" } ] }