# cached-ipaddress
<p align="center">
<a href="https://github.com/bdraco/cached-ipaddress/actions/workflows/ci.yml?query=branch%3Amain">
<img src="https://img.shields.io/github/actions/workflow/status/bdraco/cached-ipaddress/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
</a>
<a href="https://codecov.io/gh/bdraco/cached-ipaddress">
<img src="https://img.shields.io/codecov/c/github/bdraco/cached-ipaddress.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
</a>
</p>
<p align="center">
<a href="https://python-poetry.org/">
<img src="https://img.shields.io/badge/packaging-poetry-299bd7?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAASCAYAAABrXO8xAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJJSURBVHgBfZLPa1NBEMe/s7tNXoxW1KJQKaUHkXhQvHgW6UHQQ09CBS/6V3hKc/AP8CqCrUcpmop3Cx48eDB4yEECjVQrlZb80CRN8t6OM/teagVxYZi38+Yz853dJbzoMV3MM8cJUcLMSUKIE8AzQ2PieZzFxEJOHMOgMQQ+dUgSAckNXhapU/NMhDSWLs1B24A8sO1xrN4NECkcAC9ASkiIJc6k5TRiUDPhnyMMdhKc+Zx19l6SgyeW76BEONY9exVQMzKExGKwwPsCzza7KGSSWRWEQhyEaDXp6ZHEr416ygbiKYOd7TEWvvcQIeusHYMJGhTwF9y7sGnSwaWyFAiyoxzqW0PM/RjghPxF2pWReAowTEXnDh0xgcLs8l2YQmOrj3N7ByiqEoH0cARs4u78WgAVkoEDIDoOi3AkcLOHU60RIg5wC4ZuTC7FaHKQm8Hq1fQuSOBvX/sodmNJSB5geaF5CPIkUeecdMxieoRO5jz9bheL6/tXjrwCyX/UYBUcjCaWHljx1xiX6z9xEjkYAzbGVnB8pvLmyXm9ep+W8CmsSHQQY77Zx1zboxAV0w7ybMhQmfqdmmw3nEp1I0Z+FGO6M8LZdoyZnuzzBdjISicKRnpxzI9fPb+0oYXsNdyi+d3h9bm9MWYHFtPeIZfLwzmFDKy1ai3p+PDls1Llz4yyFpferxjnyjJDSEy9CaCx5m2cJPerq6Xm34eTrZt3PqxYO1XOwDYZrFlH1fWnpU38Y9HRze3lj0vOujZcXKuuXm3jP+s3KbZVra7y2EAAAAAASUVORK5CYII=" alt="Poetry">
</a>
<a href="https://github.com/ambv/black">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square" alt="black">
</a>
<a href="https://github.com/pre-commit/pre-commit">
<img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
</a>
</p>
<p align="center">
<a href="https://pypi.org/project/cached-ipaddress/">
<img src="https://img.shields.io/pypi/v/cached-ipaddress.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
</a>
<img src="https://img.shields.io/pypi/pyversions/cached-ipaddress.svg?style=flat-square&logo=python&logoColor=fff" alt="Supported Python versions">
<img src="https://img.shields.io/pypi/l/cached-ipaddress.svg?style=flat-square" alt="License">
</p>
---
**Source Code**: <a href="https://github.com/bdraco/cached-ipaddress" target="_blank">https://github.com/bdraco/cached-ipaddress </a>
---
Cache construction of ipaddress objects
## Design
This module keeps a cache of IPAddress objects and caches the properties on them.
It it useful when you frequently see the same ip addresses over and over and
do not want to pay the overhead of constructing IPAddress objects over and over
or checking their properties.
## Installation
Install this via pip (or your favourite package manager):
`pip install cached-ipaddress`
## Usage
```python
from cached_ipaddress import cached_ip_addresses
ip = cached_ip_addresses("127.0.0.1")
assert ip.is_loopback is False
invalid = cached_ip_addresses("invalid")
assert invalid is None
```
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- prettier-ignore-start -->
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- markdownlint-disable -->
<!-- markdownlint-enable -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-end -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## Credits
This package was created with
[Copier](https://copier.readthedocs.io/) and the
[browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
project template.
Raw data
{
"_id": null,
"home_page": "https://github.com/bdraco/cached-ipaddress",
"name": "cached-ipaddress",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "J. Nick Koston",
"author_email": "nick@koston.org",
"download_url": "https://files.pythonhosted.org/packages/82/42/a020daf196226cbdb21428ee92fe570401cb085351a474c701625d99b08c/cached_ipaddress-0.8.0.tar.gz",
"platform": null,
"description": "# cached-ipaddress\n\n<p align=\"center\">\n <a href=\"https://github.com/bdraco/cached-ipaddress/actions/workflows/ci.yml?query=branch%3Amain\">\n <img src=\"https://img.shields.io/github/actions/workflow/status/bdraco/cached-ipaddress/ci.yml?branch=main&label=CI&logo=github&style=flat-square\" alt=\"CI Status\" >\n </a>\n <a href=\"https://codecov.io/gh/bdraco/cached-ipaddress\">\n <img src=\"https://img.shields.io/codecov/c/github/bdraco/cached-ipaddress.svg?logo=codecov&logoColor=fff&style=flat-square\" alt=\"Test coverage percentage\">\n </a>\n</p>\n<p align=\"center\">\n <a href=\"https://python-poetry.org/\">\n <img src=\"https://img.shields.io/badge/packaging-poetry-299bd7?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAASCAYAAABrXO8xAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJJSURBVHgBfZLPa1NBEMe/s7tNXoxW1KJQKaUHkXhQvHgW6UHQQ09CBS/6V3hKc/AP8CqCrUcpmop3Cx48eDB4yEECjVQrlZb80CRN8t6OM/teagVxYZi38+Yz853dJbzoMV3MM8cJUcLMSUKIE8AzQ2PieZzFxEJOHMOgMQQ+dUgSAckNXhapU/NMhDSWLs1B24A8sO1xrN4NECkcAC9ASkiIJc6k5TRiUDPhnyMMdhKc+Zx19l6SgyeW76BEONY9exVQMzKExGKwwPsCzza7KGSSWRWEQhyEaDXp6ZHEr416ygbiKYOd7TEWvvcQIeusHYMJGhTwF9y7sGnSwaWyFAiyoxzqW0PM/RjghPxF2pWReAowTEXnDh0xgcLs8l2YQmOrj3N7ByiqEoH0cARs4u78WgAVkoEDIDoOi3AkcLOHU60RIg5wC4ZuTC7FaHKQm8Hq1fQuSOBvX/sodmNJSB5geaF5CPIkUeecdMxieoRO5jz9bheL6/tXjrwCyX/UYBUcjCaWHljx1xiX6z9xEjkYAzbGVnB8pvLmyXm9ep+W8CmsSHQQY77Zx1zboxAV0w7ybMhQmfqdmmw3nEp1I0Z+FGO6M8LZdoyZnuzzBdjISicKRnpxzI9fPb+0oYXsNdyi+d3h9bm9MWYHFtPeIZfLwzmFDKy1ai3p+PDls1Llz4yyFpferxjnyjJDSEy9CaCx5m2cJPerq6Xm34eTrZt3PqxYO1XOwDYZrFlH1fWnpU38Y9HRze3lj0vOujZcXKuuXm3jP+s3KbZVra7y2EAAAAAASUVORK5CYII=\" alt=\"Poetry\">\n </a>\n <a href=\"https://github.com/ambv/black\">\n <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square\" alt=\"black\">\n </a>\n <a href=\"https://github.com/pre-commit/pre-commit\">\n <img src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square\" alt=\"pre-commit\">\n </a>\n</p>\n<p align=\"center\">\n <a href=\"https://pypi.org/project/cached-ipaddress/\">\n <img src=\"https://img.shields.io/pypi/v/cached-ipaddress.svg?logo=python&logoColor=fff&style=flat-square\" alt=\"PyPI Version\">\n </a>\n <img src=\"https://img.shields.io/pypi/pyversions/cached-ipaddress.svg?style=flat-square&logo=python&logoColor=fff\" alt=\"Supported Python versions\">\n <img src=\"https://img.shields.io/pypi/l/cached-ipaddress.svg?style=flat-square\" alt=\"License\">\n</p>\n\n---\n\n**Source Code**: <a href=\"https://github.com/bdraco/cached-ipaddress\" target=\"_blank\">https://github.com/bdraco/cached-ipaddress </a>\n\n---\n\nCache construction of ipaddress objects\n\n## Design\n\nThis module keeps a cache of IPAddress objects and caches the properties on them.\n\nIt it useful when you frequently see the same ip addresses over and over and\ndo not want to pay the overhead of constructing IPAddress objects over and over\nor checking their properties.\n\n## Installation\n\nInstall this via pip (or your favourite package manager):\n\n`pip install cached-ipaddress`\n\n## Usage\n\n```python\nfrom cached_ipaddress import cached_ip_addresses\n\nip = cached_ip_addresses(\"127.0.0.1\")\nassert ip.is_loopback is False\n\ninvalid = cached_ip_addresses(\"invalid\")\nassert invalid is None\n```\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- prettier-ignore-start -->\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- markdownlint-disable -->\n<!-- markdownlint-enable -->\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n<!-- prettier-ignore-end -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## Credits\n\nThis package was created with\n[Copier](https://copier.readthedocs.io/) and the\n[browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)\nproject template.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Cache construction of ipaddress objects",
"version": "0.8.0",
"project_urls": {
"Bug Tracker": "https://github.com/bdraco/cached-ipaddress/issues",
"Changelog": "https://github.com/bdraco/cached-ipaddress/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/bdraco/cached-ipaddress",
"Repository": "https://github.com/bdraco/cached-ipaddress"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "77328b41b5116e85cfacfd88d16c375685d0abfb0a702dab35bfa3409004c957",
"md5": "32863c81dee6538bf24328b6c5452326",
"sha256": "186bb29ad7be66ac05d327f00feec7885ca22b9a963e6c2dcc36882c315462d6"
},
"downloads": -1,
"filename": "cached_ipaddress-0.8.0-cp310-cp310-manylinux_2_31_x86_64.whl",
"has_sig": false,
"md5_digest": "32863c81dee6538bf24328b6c5452326",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.8",
"size": 234678,
"upload_time": "2024-10-06T01:35:00",
"upload_time_iso_8601": "2024-10-06T01:35:00.399747Z",
"url": "https://files.pythonhosted.org/packages/77/32/8b41b5116e85cfacfd88d16c375685d0abfb0a702dab35bfa3409004c957/cached_ipaddress-0.8.0-cp310-cp310-manylinux_2_31_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8242a020daf196226cbdb21428ee92fe570401cb085351a474c701625d99b08c",
"md5": "0874f47cf5df21af3173242cf1334686",
"sha256": "65037b86959f20fd6505b8ecdbd9cb79c79fb0abc8d3a65c59125aa8d68e9c9b"
},
"downloads": -1,
"filename": "cached_ipaddress-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "0874f47cf5df21af3173242cf1334686",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 6882,
"upload_time": "2024-10-06T01:35:01",
"upload_time_iso_8601": "2024-10-06T01:35:01.694301Z",
"url": "https://files.pythonhosted.org/packages/82/42/a020daf196226cbdb21428ee92fe570401cb085351a474c701625d99b08c/cached_ipaddress-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-06 01:35:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bdraco",
"github_project": "cached-ipaddress",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cached-ipaddress"
}