# idna vs requests

| Attribute | idna | requests |
|---|---|---|
| **Vioscale score** | 84.2 (40% (low)) | 80 (41% (low)) |
| activity.commits_last_30d | 58 | 5 |
| adoption.dependent_repos | 408,607 | 679,836 |
| adoption.github_stars | 291 | 54,248 |
| adoption.package_downloads_weekly | 442,973,541 | 396,572,056 |
| content.faq | `[{"answer":"idna is a Python library for processing and validating internationalized domain names—domain names containing characters from multiple languages and writing systems. It's used in applications to reliably handle encoding, decoding, and validation of these domain names.","source":"https://pypi.org/project/idna/","question":"What is idna used for?","confidence":0.95},{"answer":"idna supersedes Python's standard library IDNA implementation by offering broader script coverage and including security vulnerability filtering. This makes it a more comprehensive option for applications requiring robust international domain name handling.","source":"https://pypi.org/project/idna/","question":"How does idna compare to Python's standard library?","confidence":0.9},{"answer":"Yes, idna is open source software with no licensing fees or usage charges. You can use it freely in any Python project.","source":"https://pypi.org/project/idna/","question":"Is idna free to use?","confidence":0.95},{"answer":"An internationalized domain name (IDN) is a web address containing characters from non-Latin writing systems—such as Chinese, Arabic, Cyrillic, Greek, or other scripts—allowing users to register and access domains in their native languages.","source":"https://pypi.org/project/idna/","question":"What is an internationalized domain name?","confidence":0.85},{"answer":"Yes, idna includes security vulnerability filtering as part of its domain name processing. This helps protect applications from security issues that can arise from improper handling of Unicode and international domain names.","source":"https://pypi.org/project/idna/","question":"Does idna include security features?","confidence":0.8},{"answer":"idna is a Python library distributed via the Python Package Index (PyPI). It integrates into Python projects on any platform that supports Python.","source":"https://pypi.org/project/idna/","question":"What platforms does idna support?","confidence":0.9},{"answer":"Developers building Python applications that work with international domain names should consider idna. It is particularly relevant for services with global audiences or those managing domain operations across multiple languages and regions.","source":"https://pypi.org/project/idna/","question":"Who should use idna?","confidence":0.75}]` | `[{"answer":"Requests is a Python library designed for making HTTP requests. It emphasizes simplicity and accessibility for developers working with HTTP operations.","source":"https://requests.readthedocs.io","question":"What is requests?","confidence":0.95},{"answer":"Yes, requests is built specifically for Python developers.","source":"https://requests.readthedocs.io","question":"Is requests designed for Python?","confidence":1},{"answer":"The tagline 'Python HTTP for Humans' indicates that the library prioritizes accessibility and straightforward design over unnecessary complexity.","source":"https://requests.readthedocs.io","question":"Is requests easy to learn and use?","confidence":0.95},{"answer":"Requests has official documentation available at https://requests.readthedocs.io.","source":"https://requests.readthedocs.io","question":"Where can I find documentation and help?","confidence":1},{"answer":"Requests is intended for Python developers who need HTTP functionality. Its emphasis on human-friendly design suggests it suits developers at various experience levels.","source":"https://requests.readthedocs.io","question":"Who should use requests?","confidence":0.9},{"answer":"Requests is classified as a utility, providing focused HTTP functionality for Python applications rather than attempting to be a comprehensive framework.","source":"https://requests.readthedocs.io","question":"What type of tool is requests?","confidence":0.85}]` |
| description.long | A Python package implementing the IDNA specification for handling internationalized domain names in applications. It converts Unicode domain names to ASCII-compatible format and back, with support for Unicode normalization and validation that exceeds the standard library. | An open-source HTTP library for Python that handles HTTP/1.1 requests with automatic connection pooling, cookie management, multiple authentication methods, and comprehensive support for proxies, streaming, and content negotiation. |
| language.primary | Python | Python |
| license.spdx | BSD-3-Clause | Apache-2.0 |
| market.availability | - | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true}` | - |
| pricing | `{"type":"open_source","freeTier":true,"sourceUrl":"https://pypi.org/project/idna/","retrievedAt":"2026-08-14T11:09:14.342Z"}` | `{"type":"open_source","summary":"Completely free and open source","freeTier":true,"sourceUrl":"https://requests.readthedocs.io","retrievedAt":"2026-08-14T11:06:02.562Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | commercial |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | 14 | 19 |
| release.history | `[{"url":"https://github.com/kjd/idna/releases/tag/v3.19","date":"2026-08-18T05:14:47Z","type":"stable","version":"v3.19"},{"url":"https://github.com/kjd/idna/releases/tag/v3.18","date":"2026-06-02T14:34:28Z","type":"stable","version":"v3.18"},{"url":"https://github.com/kjd/idna/releases/tag/v3.17","date":"2026-05-28T14:33:03Z","type":"stable","version":"v3.17"},{"url":"https://github.com/kjd/idna/releases/tag/v3.16","date":"2026-05-22T00:16:45Z","type":"stable","version":"v3.16"},{"url":"https://github.com/kjd/idna/releases/tag/v3.15","date":"2026-05-12T22:46:21Z","type":"stable","version":"v3.15"},{"url":"https://github.com/kjd/idna/releases/tag/v3.14","date":"2026-05-10T20:32:37Z","type":"stable","version":"v3.14"},{"url":"https://github.com/kjd/idna/releases/tag/v3.13","date":"2026-04-22T16:43:03Z","type":"stable","version":"v3.13"},{"url":"https://github.com/kjd/idna/releases/tag/v3.12","date":"2026-04-21T13:33:14Z","type":"stable","version":"v3.12"},{"url":"https://github.com/kjd/idna/releases/tag/v3.11","date":"2025-10-12T14:55:53Z","type":"stable","version":"v3.11"},{"url":"https://github.com/kjd/idna/releases/tag/v3.10","date":"2024-09-15T18:08:06Z","type":"stable","version":"v3.10"},{"url":"https://github.com/kjd/idna/releases/tag/v3.9","date":"2024-09-14T02:58:56Z","type":"stable","version":"v3.9"},{"url":"https://github.com/kjd/idna/releases/tag/v3.8","date":"2024-08-23T16:05:35Z","type":"stable","version":"v3.8"},{"url":"https://github.com/kjd/idna/releases/tag/v3.7","date":"2024-04-11T03:45:28Z","type":"stable","version":"v3.7"}]` | `[{"url":"https://github.com/psf/requests/releases/tag/v2.34.2","date":"2026-05-14T19:27:15Z","type":"stable","version":"v2.34.2"},{"url":"https://github.com/psf/requests/releases/tag/v2.34.1","date":"2026-05-13T19:23:51Z","type":"stable","version":"v2.34.1"},{"url":"https://github.com/psf/requests/releases/tag/v2.34.0","date":"2026-05-11T19:40:27Z","type":"stable","version":"v2.34.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.33.1","date":"2026-03-30T16:12:09Z","type":"stable","version":"v2.33.1"},{"url":"https://github.com/psf/requests/releases/tag/v2.33.0","date":"2026-03-25T16:38:25Z","type":"stable","version":"v2.33.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.5","date":"2025-08-18T20:33:27Z","type":"stable","version":"v2.32.5"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.4","date":"2025-06-09T18:22:07Z","type":"stable","version":"v2.32.4"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.3","date":"2024-05-29T15:39:40Z","type":"stable","version":"v2.32.3"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.2","date":"2024-05-21T18:53:48Z","type":"stable","version":"v2.32.2"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.1","date":"2024-05-21T18:53:03Z","type":"stable","version":"v2.32.1"},{"url":"https://github.com/psf/requests/releases/tag/v2.32.0","date":"2024-05-20T16:19:14Z","type":"stable","version":"v2.32.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.31.0","date":"2023-05-22T15:26:23Z","type":"stable","version":"v2.31.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.30.0","date":"2023-05-04T14:39:22Z","type":"stable","version":"v2.30.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.29.0","date":"2023-04-26T15:26:24Z","type":"stable","version":"v2.29.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.28.2","date":"2023-01-12T16:34:32Z","type":"stable","version":"v2.28.2"},{"url":"https://github.com/psf/requests/releases/tag/v2.28.1","date":"2022-06-29T15:15:43Z","type":"stable","version":"v2.28.1"},{"url":"https://github.com/psf/requests/releases/tag/v2.28.0","date":"2022-06-09T14:47:15Z","type":"stable","version":"v2.28.0"},{"url":"https://github.com/psf/requests/releases/tag/v2.27.1","date":"2022-01-06T17:49:01Z","type":"stable","version":"v2.27.1"},{"url":"https://github.com/psf/requests/releases/tag/v2.27.0","date":"2022-01-06T17:46:50Z","type":"stable","version":"v2.27.0"}]` |
| security.disclosure_policy | yes | - |
| security.scorecard | 8.8 | 8.1 |
| security.vulnerabilities | - | `{"count":8,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=requests&per_page=100","last_12m":1,"max_severity":"HIGH"}` |

*Source: Vioscale. Generated 2026-09-01T15:12:58.466Z. "-" = undocumented, not absent.*
