# whoisdomain
* A Python package for retrieving WHOIS information of DOMAIN'S ONLY.
* Python 2.x IS NOT supported.
* Currently no additional python packages need to be installed.
---
## Notes
* This package will not support querying ip CIDR ranges or AS information
* This was a copy of the original DanyCork 'whois'.
* Significantly refactored in 2023.
* The output is still compatible with DanyCork 'whois'
## Versioning
* I will start versioning at 1.x.x
* the second item will be YYYYMMDD,
* the third item will start from 1 and be only used if more than one update will have to be done in one day.
Versions `1.x.x` will keep the output compatible with Danny Cork until 2024-02-03 (February 2024)
## Releases
* Releases are avalable at: [Pypi](https://pypi.org/project/whoisdomain/)
Pypi releases can be installed with:
* `pip install whoisdomain`
## Features
* See: [Features](docs/Features.md)
## Dependencies
* please install also the command line "whois" of your distribution as this library parses the output of the "whois" cli command of your operating system
### Notes for Mac users
* it has been observed that the default cli whois on Mac is showing each forward step in its output, this makes parsing the result very unreliable.
* using a brew install whois will give in general better results.
## Docker release
* See [Docker](docs/Docker.md)
## Usage example
* See [Usage](docs/Usage.md)
## whoisdomain
* the cli `whoisdomain` is documented in [whoisdomain-cli](docs/whoisdomain-cli.md)
## ccTLD & TLD support
Most `tld's` are now autodetected via IANA root db, see the Analizer directory
and `make suggest`.
* see the file: [tld_regexpr](./whoisdomain/tldDb/tld_regexpr.py)
* for python use: `whoisdomain.validTlds()`
* for cli use `whoisdomain -S`
---
## Support
* Python 3.x is supported for x >= 9
* Python 2.x IS NOT supported.
## Author's
* See: [Authors](docs/Authors.md)
---
## Updates
* see [Updates](docs/Updates.md) for a full history of changes.
* Only the latest update is mentioned here
### 1.20230906.1
* introduce parsing based on functions
* allow contextual search in splitted data and plain data
* allow contextual search based on earlier result
* fix a few tld to return the proper registrant string (not nic handle)
### 1.20230913.1
* if you have installed `tld` (pip install tld) you can enable withPublicSuffix=True to process untill you reach the pseudo tld.
* the public_suffix info is added if available (and if requested)
* example case is: ./test2.py -d www.dublin.airport.aero --withPublicSuffix
### 1.20230913.3
* fix re.NOFLAGS, it is not compatible with 3.9, it appears in 3.11
## 1.20230917.1
* prepare work on pylint
* switch to logging: all verbose is currently log.debug(); to show set LOGLEVEL=DEBUG before calling, see Makefile: make test
* experimental: add extractServers: bool default False; when true we will try to extract the "redirect info chain" on rcf1036/whois and jwhois for linux/darwin
* add missing option to query(), test in production environment done
## 1.20231102.1
* fix from kazet for .pl tld.
## 1.20231115.1
New tld's and removal of a few tlds no longer supported at iana
* abb, bw, bn, crown, crs, fj (does not work), gp (does not work), weir, realtor, post, mw, pf (a strange one), iq (gives timout), mm, int, hm (does not work)
---
## in progress
Raw data
{
"_id": null,
"home_page": "",
"name": "whoisdomain",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "Maarten Boot <130295084+mboot-github@users.noreply.github.com>",
"keywords": "Python,cctld,domain,expiration,registrar,tld,whois",
"author": "mboot-github",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/a1/81/938044a4cba32cc35fca06d745103775b81a4557f45def35ea84697de3c3/whoisdomain-1.20231115.1.tar.gz",
"platform": null,
"description": "# whoisdomain\n\n * A Python package for retrieving WHOIS information of DOMAIN'S ONLY.\n * Python 2.x IS NOT supported.\n * Currently no additional python packages need to be installed.\n\n---\n\n## Notes\n\n * This package will not support querying ip CIDR ranges or AS information\n * This was a copy of the original DanyCork 'whois'.\n * Significantly refactored in 2023.\n * The output is still compatible with DanyCork 'whois'\n\n## Versioning\n\n * I will start versioning at 1.x.x\n * the second item will be YYYYMMDD,\n * the third item will start from 1 and be only used if more than one update will have to be done in one day.\n\nVersions `1.x.x` will keep the output compatible with Danny Cork until 2024-02-03 (February 2024)\n\n## Releases\n\n * Releases are avalable at: [Pypi](https://pypi.org/project/whoisdomain/)\n\nPypi releases can be installed with:\n\n * `pip install whoisdomain`\n\n## Features\n * See: [Features](docs/Features.md)\n\n## Dependencies\n * please install also the command line \"whois\" of your distribution as this library parses the output of the \"whois\" cli command of your operating system\n\n### Notes for Mac users\n * it has been observed that the default cli whois on Mac is showing each forward step in its output, this makes parsing the result very unreliable.\n * using a brew install whois will give in general better results.\n\n## Docker release\n * See [Docker](docs/Docker.md)\n\n## Usage example\n * See [Usage](docs/Usage.md)\n\n## whoisdomain\n * the cli `whoisdomain` is documented in [whoisdomain-cli](docs/whoisdomain-cli.md)\n\n## ccTLD & TLD support\n\nMost `tld's` are now autodetected via IANA root db, see the Analizer directory\nand `make suggest`.\n\n * see the file: [tld_regexpr](./whoisdomain/tldDb/tld_regexpr.py)\n * for python use: `whoisdomain.validTlds()`\n * for cli use `whoisdomain -S`\n\n---\n\n## Support\n * Python 3.x is supported for x >= 9\n * Python 2.x IS NOT supported.\n\n## Author's\n * See: [Authors](docs/Authors.md)\n\n---\n\n## Updates\n * see [Updates](docs/Updates.md) for a full history of changes.\n * Only the latest update is mentioned here\n\n### 1.20230906.1\n * introduce parsing based on functions\n * allow contextual search in splitted data and plain data\n * allow contextual search based on earlier result\n * fix a few tld to return the proper registrant string (not nic handle)\n\n### 1.20230913.1\n * if you have installed `tld` (pip install tld) you can enable withPublicSuffix=True to process untill you reach the pseudo tld.\n * the public_suffix info is added if available (and if requested)\n * example case is: ./test2.py -d www.dublin.airport.aero --withPublicSuffix\n\n### 1.20230913.3\n * fix re.NOFLAGS, it is not compatible with 3.9, it appears in 3.11\n\n## 1.20230917.1\n * prepare work on pylint\n * switch to logging: all verbose is currently log.debug(); to show set LOGLEVEL=DEBUG before calling, see Makefile: make test\n * experimental: add extractServers: bool default False; when true we will try to extract the \"redirect info chain\" on rcf1036/whois and jwhois for linux/darwin\n * add missing option to query(), test in production environment done\n\n## 1.20231102.1\n * fix from kazet for .pl tld.\n\n## 1.20231115.1\n New tld's and removal of a few tlds no longer supported at iana\n\n * abb, bw, bn, crown, crs, fj (does not work), gp (does not work), weir, realtor, post, mw, pf (a strange one), iq (gives timout), mm, int, hm (does not work)\n\n---\n\n## in progress\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Python package for retrieving WHOIS information of domains.",
"version": "1.20231115.1",
"project_urls": {
"Bug Tracker": "https://github.com/mboot-github/WhoisDomain/issues",
"Home Page": "https://github.com/mboot-github/WhoisDomain/",
"Repository": "https://github.com/mboot-github/WhoisDomain/"
},
"split_keywords": [
"python",
"cctld",
"domain",
"expiration",
"registrar",
"tld",
"whois"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d6bcb05641e37b51fb81c7b7b04285ba5c317bb9390fac1ceec17a89b9f02da5",
"md5": "625a4dbdd4bda08d328037edd863e019",
"sha256": "69b71b80b8dcaf9799594a49aaaeabe264de0095f8ec70496e034c2d2e4b09ea"
},
"downloads": -1,
"filename": "whoisdomain-1.20231115.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "625a4dbdd4bda08d328037edd863e019",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 64592,
"upload_time": "2023-11-15T10:38:29",
"upload_time_iso_8601": "2023-11-15T10:38:29.328949Z",
"url": "https://files.pythonhosted.org/packages/d6/bc/b05641e37b51fb81c7b7b04285ba5c317bb9390fac1ceec17a89b9f02da5/whoisdomain-1.20231115.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a181938044a4cba32cc35fca06d745103775b81a4557f45def35ea84697de3c3",
"md5": "05339c0b5da4ad2fa2a7c1f8c42749ae",
"sha256": "9d39c90645343da7cf0b9bc13a8b0f3e230f3b7be392b2737471d2d1114dc200"
},
"downloads": -1,
"filename": "whoisdomain-1.20231115.1.tar.gz",
"has_sig": false,
"md5_digest": "05339c0b5da4ad2fa2a7c1f8c42749ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 51257,
"upload_time": "2023-11-15T10:38:31",
"upload_time_iso_8601": "2023-11-15T10:38:31.350748Z",
"url": "https://files.pythonhosted.org/packages/a1/81/938044a4cba32cc35fca06d745103775b81a4557f45def35ea84697de3c3/whoisdomain-1.20231115.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-15 10:38:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mboot-github",
"github_project": "WhoisDomain",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "whoisdomain"
}