Six

Please add support for callable

Bug #600139 reported by David Moss
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Six
Fix Released
Undecided
Unassigned

Bug Description

See attached patch file for my first stab at this addition. Hopefully I've put it in the write place. Unit tests included.

Revision history for this message
David Moss (drkjam) wrote :
Revision history for this message
Benjamin Peterson (benjaminp) wrote :

Added support in revision 9.

Changed in python-six:
status: New → Fix Committed
Changed in python-six:
status: Fix Committed → Fix Released
Revision history for this message
David Moss (drkjam) wrote : Re: [Bug 600139] Re: Please add support for callable

Hi Benjamin,

Firstly, Thanks for the release and the quick turnaround!

I wanted to get a feel from you as to the minimum supported version of
Python 2.x that six is aiming to support. For my own purposes I have
set a minimum benchmark in my library of 2.4.x. Would it be worth
putting explicit exceptions/warnings if users attempt to use six under
unsupported versions? In my day job, I still have to use 2.3.x for
various things on a daily basis!

Is the usage of pytest a strict requirement for six going forward or
would we be able to remove this dependency in favour of stdlib's
unittest? My thinking is that users of six would like to keep
additional dependencies outside of their own work to a minimum. I am a
bit of a minimalist when it comes to this sort of thing and it makes
packagers for various Linux/BSD distros happier too when they come to
packaging a library ;-)

What is your feel about dealing with BIFs (e.g. range, zip) and
methods on various types that all return iterators instead of lists in
3.x? Would six be looking to take a stance on this front or would it
leave this issue to individual developers to handle through the use of
list() and iter() calls? My only (possibly minimal) concern about
these is that on 2.x or 3.x you might end up passing through one or
other of these needlessly in one context but not the other.

For example, let's assume a user wants an actual list of ints. To
create code that is compatible :-

Under 2.x

foo = list(range(10)) # double wrapping as range already returns a list

Under 3.x

foo = list(range(10)) # required as range returns a listiterator

I realise this is a somewhat contrived scenario and would not matter
on either 2.x or 3.x if used in say a for loop but hopefully it
illustrates my point.

What are your thoughts on these various topics?

Dave M.

On 1 Jul 2010, at 02:50, Benjamin Peterson <email address hidden> wrote:

> ** Changed in: python-six
> Status: Fix Committed => Fix Released
>
> --
> Please add support for callable
> https://bugs.launchpad.net/bugs/600139
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Six - Python 2 and 3 compatibility: Fix Released
>
> Bug description:
> See attached patch file for my first stab at this addition.
> Hopefully I've put it in the write place. Unit tests included.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/python-six/+bug/600139/+subscribe

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.