Metadata-Version: 2.4
Name: tmautils-enrich-ip
Version: 0.2.0
Summary: IP enrichment utilities for tmautils
License-Expression: MPL-2.0
License-File: LICENSE
Author: Yejin Cho
Author-email: i3pivigui@icloud.com
Requires-Python: >=3.13,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: dev
Requires-Dist: numpy (>=2.0.0,<3.0.0)
Requires-Dist: pandas (>=2.3.0,<3.0.0)
Requires-Dist: pytest (>=9.0.0,<10.0.0) ; extra == "dev"
Requires-Dist: pytest-asyncio (>=1.0.0,<2.0.0) ; extra == "dev"
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: tmautils-core (>=0.2.0,<0.3.0)
Project-URL: Repository, https://github.com/sulyabtv/tmautils-enrich-ip
Description-Content-Type: text/markdown

# tmautils-enrich-ip
IP enrichment utilities for Internet measurement research. Part of the [tmautils](https://github.com/sulyabtv/tmautils) package family.

Installation:
```bash
pip install tmautils-enrich-ip
```

## API

| Utility / Function | What it does |
| --- | --- |
| `IPApiBatchUtil` | Interact with `ip-api.com`'s batch API |
| `IPInfoLiteUtil` | Interact with the IPinfo's Lite dataset |
| `IpInfoPrivacyUtil` | Privacy detection using IPinfo's database |
| `IpInfoCarrierUtil` | Mobile carrier lookup using IPinfo's database |
| `ChromePrefetchUtil` | Check if an IP address belongs to Chrome Prefetch Proxy |

## License
This project is licensed under [MPL-2.0](LICENSE) (Mozilla Public License 2.0).

What this means in practice:
- If you modify an existing file, your modifications must remain MPL-2.0.
- You can license new files however you want. (But I won't merge them unless they are MPL-2.0.)
- You can use this code alongside code under other licenses.

## Contributing
Contributions are highly welcome! See the [tmautils README](https://github.com/sulyabtv/tmautils/blob/main/README.md) for philosophy and design choices.

AI Policy: I don't consider AI tool usage any different from IDE usage. This also means that *you* are responsible for the code you write and *you* should inspect every line of code written by an LLM.

