This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: `address` arg can be `bytes` for `ip_*` functions in `ipaddress` module
Type: behavior Stage: patch review
Components: Documentation Versions: Python 3.11, Python 3.10, Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, eric.araujo, pmoody, sobolevn
Priority: normal Keywords: patch

Created on 2022-02-05 07:05 by sobolevn, last changed 2022-04-11 14:59 by admin.

Pull Requests
URL Status Linked Edit
PR 31139 open sobolevn, 2022-02-05 07:27
Messages (2)
msg412562 - (view) Author: Nikita Sobolev (sobolevn) * (Python triager) Date: 2022-02-05 07:05
Right now the docs say:

> ipaddress.ip_interface(address)
> Return an IPv4Interface or IPv6Interface object depending on the IP address passed as argument. **address is a string or integer** representing the IP address. Either IPv4 or IPv6 addresses may be supplied; integers less than 2**32 will be considered to be IPv4 by default. A ValueError is raised if address does not represent a valid IPv4 or IPv6 address.

Note the `address is a string or integer` part.

But, this is not true. Counter example:

```
>>> import ipaddress
>>> ipaddress.ip_interface(b'0000')
IPv4Interface('48.48.48.48/32')
>>> ipaddress.ip_interface(b'1111')
IPv4Interface('49.49.49.49/32')
```

So, packed version that accepts `bytes`, should be also mentioned.

For `ip_address` types are not mentioned:

> ipaddress.ip_address(address)
> Return an IPv4Address or IPv6Address object depending on the IP address passed as argument. Either IPv4 or IPv6 addresses may be supplied; integers less than 2**32 will be considered to be IPv4 by default. A ValueError is raised if address does not represent a valid IPv4 or IPv6 address.

I will send a PR with proposed changes.
msg413125 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2022-02-12 12:17
Can you dig more to find if the problem is in the code or in the doc?
The PEP to add ipaddress should specify this.
History
Date User Action Args
2022-04-11 14:59:55adminsetgithub: 90804
2022-02-12 12:17:20eric.araujosetnosy: + pmoody, eric.araujo
messages: + msg413125
2022-02-05 07:27:33sobolevnsetkeywords: + patch
stage: patch review
pull_requests: + pull_request29317
2022-02-05 07:05:52sobolevncreate