Andrew,

Thanks for the information on the history of the ipaddress module - the
background reading is very useful. With regards to using existing Pypi
modules, that does sounds like a very sensible approach if we can find
something suitable; I will research some of the modules you mentioned as
well as some others and see if they could be adapted.

I guess my main objective here is to see if there is sufficient interest
from others to warrant pursuing the idea.

Personally I have found that stdlib support for networking is strangely
patchy at the moment; with ipaddress being a great handy module for IP work
without requiring dependencies; but seemingly very little networking
support before or after that. The 'before' part is what my idea is
attempting to tackle. I am not recommending we start investigating further
layers of the networking stack post-IP, however I feel the logical step
forwards is to have some form of support for the most common form of layer
2 addressing.

Given what i have looked at from your recommendations so far, netaddr seems
to be the most fitting at the moment.
Of course an argument can be made that people should simply look to modules
like netaddr for their work, however given the point in the above paragraph
and that installing a third party module may feel overkill for certain
environments that would typically run code performing mac and ip address
inspection (e.g. scripts/small programs on a network switch), it is my
personal opinion that this would be well suited in the stdlib (which I
recognise would require a lot of work and scrutiny to get there).

I'm looking forward to hearing people's opinions on this.


On Sat, Apr 4, 2020 at 10:01 PM Andrew Barnert <[email protected]> wrote:

> On Apr 4, 2020, at 12:45, Pete Wicken <[email protected]> wrote:
> >
> > Agreed that this could be achieved by a third party library; and
> probably already is
>
> PS, I’ve needed something like this a few times in the past, so I can
> offer some vague memories of what’s available.
>
> I’ve mostly used netifaces, which is amazing and does all the low-level
> stuff you’d want and is more cross-platform than you’d believe possible.
> But its API isn’t very ipaddress-like; it’s mostly dicts of strings and
> enum ints, and most of what it does isn’t relevant here.
>
> There’s a library that I believe is called netaddr (and I think it’s the
> one with that name on PyPI), which took Google’s ipaddr and expanded it to
> add MAC/EUI and various other kinds of addresses. If the author is willing,
> and if it’s solid enough, I’d bet that stripping it down to just MAC and
> changing the API to parallel ipaddress instead of ipaddr would be a lot
> easier.
>
> I’ve also used QtNetwork in a GUI app. That obviously isn’t as amenable to
> borrowing, but if there are any design questions that come up, looking at
> how Qt does it (and whether they have a billion bug reports/feature
> requests complaining about it) can be helpful.
>
>
>
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/JHMOJ5LBDIV2D7KUZXUIXWFCKASWBL4Q/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to