Re: [Python-Dev] Multiline with statement line continuation

2014-08-12 Thread Ian Cordasco
On Tue, Aug 12, 2014 at 7:15 AM, Steven D'Aprano  wrote:
> On Tue, Aug 12, 2014 at 10:28:14AM +1000, Nick Coghlan wrote:
>> On 12 Aug 2014 09:09, "Allen Li"  wrote:
>> >
>> > This is a problem I sometimes run into when working with a lot of files
>> > simultaneously, where I need three or more `with` statements:
>> >
>> > with open('foo') as foo:
>> > with open('bar') as bar:
>> > with open('baz') as baz:
>> > pass
>> >
>> > Thankfully, support for multiple items was added in 3.1:
>> >
>> > with open('foo') as foo, open('bar') as bar, open('baz') as baz:
>> > pass
>> >
>> > However, this begs the need for a multiline form, especially when
>> > working with three or more items:
>> >
>> > with open('foo') as foo, \
>> >  open('bar') as bar, \
>> >  open('baz') as baz, \
>> >  open('spam') as spam \
>> >  open('eggs') as eggs:
>> > pass
>>
>> I generally see this kind of construct as a sign that refactoring is
>> needed. For example, contextlib.ExitStack offers a number of ways to manage
>> multiple context managers dynamically rather than statically.
>
> I don't think that ExitStack is the right solution for when you have a
> small number of context managers known at edit-time. The extra effort of
> writing your code, and reading it, in a dynamic manner is not justified.
> Compare the natural way of writing this:
>
> with open("spam") as spam, open("eggs", "w") as eggs, frobulate("cheese") as 
> cheese:
> # do stuff with spam, eggs, cheese
>
> versus the dynamic way:
>
> with ExitStack() as stack:
> spam, eggs = [stack.enter_context(open(fname), mode) for fname, mode in
>   zip(("spam", "eggs"), ("r", "w")]
> cheese = stack.enter_context(frobulate("cheese"))
> # do stuff with spam, eggs, cheese
>
> I prefer the first, even with the long line.


I agree with Steven for *small* numbers of context managers. Once they
become too long though, either refactoring is severely needed or the
user should ExitStack.

To quote Ben Hoyt:

> Is it meaningful to use "with" with a tuple, though? Because a tuple
> isn't a context manager with __enter__ and __exit__ methods. For
> example:
>
> >>> with (1,2,3): pass
> ...
> Traceback (most recent call last):
>   File "", line 1, in 
> AttributeError: __exit__
>
> So -- although I'm not arguing for it here -- you'd be turning an code
> (a runtime AttributeError) into valid syntax.

I think by introducing parentheses we are going to risk seriously
confusing users who may then try to write an assignment like

a = (open('spam') as spam, open('eggs') as eggs)

Because it looks like a tuple but isn't and I think the extra
complexity this would add to the language would not be worth the
benefit. If we simply look at Ruby for what happens when you have an
overloaded syntax that means two different things, you can see why I'm
against modifying this syntax. In Ruby, parentheses for method calls
are optional and curly braces (i.e, {}) are used for blocks and hash
literals. With a method on class that takes a parameter and a block,
you get some confusing errors, take for example:

class Spam
  def eggs(ham)
puts ham
yield if block_present?
  end
end

s = Spam.new
s.eggs {monty: 'python'}
SyntaxError: ...

But

s.eggs({monty: 'python'})

Will print out the hash. The interpreter isn't intelligent enough to
know if you're attempting to pass a hash as a parameter or a block to
be executed. This may seem like a stretch to apply to Python, but the
concept of muddling the meaning of something already very well defined
seems like a bad idea.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Fwd: PEP 467: Minor API improvements for bytes & bytearray

2014-08-17 Thread Ian Cordasco
On Aug 17, 2014 12:17 PM, "Donald Stufft"  wrote:
>> On Aug 17, 2014, at 1:07 PM, Raymond Hettinger  
>> wrote:
>>
>>
>> On Aug 17, 2014, at 1:41 AM, Nick Coghlan  wrote:
>>
>>> If I see "bytearray(10)" there is nothing there that suggests "this
>>> creates an array of length 10 and initialises it to zero" to me. I'd
>>> be more inclined to guess it would be equivalent to "bytearray([10])".
>>>
>>> "bytearray.zeros(10)", on the other hand, is relatively clear,
>>> independently of user expectations.
>>
>>
>> Zeros would have been great but that should have been done originally.
>> The time to get API design right is at inception.
>> Now, you're just breaking code and invalidating any published examples.
>>

 Another thought is that the core devs should be very reluctant to deprecate
 anything we don't have to while the 2 to 3 transition is still in progress.
 Every new deprecation of APIs that existed in Python 2.7 just adds another
 obstacle to converting code.  Individually, the differences are trivial.
 Collectively, they present a good reason to never migrate code to Python 3.
>>>
>>>
>>> This is actually one of the inconsistencies between the Python 2 and 3
>>> binary APIs:
>>
>>
>> However, bytearray(n) is the same in both Python 2 and Python 3.
>> Changing it in Python 3 increases the gulf between the two.
>>
>> The further we let Python 3 diverge from Python 2, the less likely that
>> people will convert their code and the harder you make it to write code
>> that runs under both.
>>
>> FWIW, I've been teaching Python full time for three years.  I cover the
>> use of bytearray(n) in my classes and not a single person out of 3000+
>> engineers have had a problem with it.   I seriously question the PEP's
>> assertion that there is a real problem to be solved (i.e. that people
>> are baffled by bytearray(bufsiz)) and that the problem is sufficiently
>> painful to warrant the headaches that go along with API changes.
>>
>> The other proposal to add bytearray.byte(3) should probably be named
>> bytearray.from_byte(3) for clarity.  That said, I question whether there is
>> actually a use case for this.   I have never seen seen code that has a
>> need to create a byte array of length one from a single integer.
>> For the most part, the API will be easiest to learn if it matches what
>> we do for lists and for array.array.
>>
>> Sorry Nick, but I think you're making the API worse instead of better.
>> This API isn't perfect but it isn't flat-out broken either.   There is some
>> unfortunate asymmetry between bytes() and bytearray() in Python 2,
>> but that ship has sailed.  The current API for Python 3 is pretty good
>> (though there is still a tension between wanting to be like lists and like
>> strings both at the same time).
>>
>>
>> Raymond
>>
>>
>> P.S.  The most important problem in the Python world now is getting
>> Python 2 users to adopt Python 3.  The core devs need to develop
>> a strong distaste for anything that makes that problem harder.
>>
>
> For the record I’ve had all of the problems that Nick states and I’m
> +1 on this change.

I've run into these problems as well, but I'm swayed by Raymond's
argument regarding bytearray's constructor. I wouldn't be adverse to
adding zeroes (for some parity between bytes and bytearray) to that
but I'm not sure deprecating te behaviour of bytearray's constructor
is necessary.

(Whilst on my phone I only replied to Donald, so I'm forwarding this
to the list.)
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 467: Minor API improvements for bytes & bytearray

2014-08-17 Thread Ian Cordasco
On Sun, Aug 17, 2014 at 8:52 PM, Ethan Furman  wrote:
> On 08/17/2014 04:08 PM, Nick Coghlan wrote:
>>
>>
>> I'm fine with postponing the deprecation elements indefinitely (or just
>> deprecating bytes(int) and leaving
>> bytearray(int) alone).
>
>
> +1 on both pieces.

Perhaps postpone the deprecation to Python 4000 ;)
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] https:bugs.python.org -- Untrusted Connection (Firefox)

2014-08-18 Thread Ian Cordasco
On Mon, Aug 18, 2014 at 3:22 PM, Benjamin Peterson  wrote:
> It uses a CACert certificate, which your system probably doesn't trust.
>
> On Mon, Aug 18, 2014, at 13:12, Terry Reedy wrote:
>> Firefox does not want to connect to https:bugs.python.org. Plain
>> bugs.python.org works fine. Has the certificate expired?
>>
>> --
>> Terry Jan Reedy
>>
>> ___
>> Python-Dev mailing list
>> Python-Dev@python.org
>> https://mail.python.org/mailman/listinfo/python-dev
>> Unsubscribe:
>> https://mail.python.org/mailman/options/python-dev/benjamin%40python.org

Benjamin that looks accurate. I see the same thing as Terry (on
Firefox 31) and the reason is:

bugs.python.org uses an invalid security certificate. The certificate
is not trusted because no issuer chain was provided. (Error code:
sec_error_unknown_issuer)
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] pip enhancement

2014-08-27 Thread Ian Cordasco
On Wed, Aug 27, 2014 at 8:24 AM, Paul Moore  wrote:
> On 27 August 2014 13:58, Neal Becker  wrote:
>> At least, pip should have the ability to alert the user to potential updates,
>>
>> pip update
>>
>> could list which packages need updating, and offer to perform the update.  I
>> think this would go a long way to helping with this problem.
>
> Do you mean something like "pip list --outdated"?
> Paul

Also, isn't this discussion better suited for Distutils-SIG?
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Adding numbering to PEP 20, the Zen of Python

2014-09-18 Thread Ian Cordasco
On Thu, Sep 18, 2014 at 8:30 PM, Ben Hoyt  wrote:
> I was emailing someone today about implementing something (for PEP
> 471, as it happens) and wanted to link to the Zen of Python [1] and
> note a particular clause (in this case "If the implementation is hard
> to explain, it's a bad idea."). However, there are no clause numbers,
> so you can't refer to specific phrases.
>
> I know it's a short enough document that it probably doesn't matter.
> And maybe numbering them would make it less Zen. Would be handy in
> code reviews and the like, for example: "Not very Pythonic. See PEP 20
> point 5." Is it just my pedantic self, or have others wanted to do
> this too?
>
> [1] http://legacy.python.org/dev/peps/pep-0020/
>
> -Ben
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com

It's just you I think. Also, isn't this better suited for python-ideas?
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 481 - Migrate Some Supporting Repositories to Git and Github

2014-11-30 Thread Ian Cordasco
On Sun, Nov 30, 2014 at 7:01 AM, Antoine Pitrou  wrote:
> On Sun, 30 Nov 2014 16:23:08 +1100
> Chris Angelico  wrote:
>>
>> Yes, GitHub is proprietary. But all of your actual code is stored in
>> git, which is free, and it's easy to push that to a new host somewhere
>> else, or create your own host. This proposal is for repositories that
>> don't need much in the way of issue trackers etc, so shifting away
>> from GitHub shouldn't demand anything beyond moving the repos
>> themselves.
>
> I hope we're not proposing to move the issue trackers to github,
> otherwise I'm -1 on this PEP.
>
> Regards
>
> Antoine.

So I usually choose not to weigh in on discussions like these but
there seems to be a lot of misdirection in some of these arguments.

To start, I'm generally neutral about this proposal or Nick's proposal
that spurred this one. I've found the most frustrating part of
contributing to anything involving CPython to be the lack of reviewer
time. I have had very small (2-line) patches take months (close to a
year in reality) to get through in spite of periodically pinging the
appropriate people. Moving to git/GitHub will not alleviate this at
all.

To be clear, the main reasoning behind Nick's was being able to submit
changes without ever having to have a local copy of the repository in
question on your machine. Having a complete web workflow for editing
and contributing makes the barrier to entry far lower than switching
VCS or anything else. BitBucket (apparently, although I've never used
this) and GitHub both have this capability and *both* are
free-as-in-beer systems.

No one as I understand it is proposing that we use the per-distro
proprietary interface to these websites.

All data can be removed from GitHub using it's API and can generally
be converted to another platform. The same goes for BitBucket although
it's arguably easier to retrieve issue data from BitBucket than
GitHub. That said, *the issue tracker is not covered by these
proposals* so this is a moot point. Drop it already.

If we're seriously considering moving to git as a DVCS, we should
consider the real free-as-in-freedom alternatives that come very close
to GitHub and can be improved by us (even though they're not written
in Python). One of those is GitLab. We can self-host a GitLab instance
easily or we can rely on gitlab.com. GitLab aims to provide a very
similar user experience to GitHub and it's slowly approaching feature
parity and experience parity. GitLab is also what a lot of people
chose to switch to after the incident Steven mentioned, which I don't
think is something we should dismiss or ignore.

We should refocus the discussion with the following in mind:

- Migrating "data" from GitHub is easy. There are free-as-in-freedom
tools to do it and the only cost is the time it would take to monitor
the process

- GitHub has a toxic company culture that we should be aware of before
moving to it. They have a couple blog posts about attempting to change
it but employees became eerily silent after the incident and have
remained so from what I've personally seen.

- GitHub may be popular but there are popular FOSS solutions that
exist that we can also self-host at something like forge.python.org

- bugs.python.org is not covered by any of these proposals

- The main benefit this proposal (and the proposal to move to
BitBucket) are seeking to achieve is an online editing experience
allowing for *anyone with a browser and an account* to contribute.
This to me is the only reason I would be +1 for either of these
proposals (if we can reach consensus).
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 481 - Migrate Some Supporting Repositories to Git and Github

2014-11-30 Thread Ian Cordasco
On Nov 30, 2014 11:09 AM, "Donald Stufft"  wrote:
>
>
> > On Nov 30, 2014, at 11:55 AM, Barry Warsaw  wrote:
> >
> > On Nov 30, 2014, at 09:54 AM, Ian Cordasco wrote:
> >
> >> - Migrating "data" from GitHub is easy. There are free-as-in-freedom
> >> tools to do it and the only cost is the time it would take to monitor
> >> the process
> >
> > *Extracting* data may be easy, but migrating it is a different story.
As the
> > Mailman project has seen in trying to migrate from Confluence to Moin,
there
> > is a ton of very difficult work involved after extracting the data.
Parsing
> > the data, ensuring that you have all the bits you need, fitting it into
the
> > new system's schema, working out the edge cases, adapting to semantic
> > differences and gaps, ensuring that all the old links are redirected,
and so
> > on, were all exceedingly difficult[*].
> >
> > Even converting between two FLOSS tools is an amazing amount of work.
Look at
> > what Eric Raymond did with reposurgeon to convert from Bazaar to git.
>
> I fail to see how this is a reasonable argument to make at all since, as
you
> mentioned, converting between two FLOSS tools can be an amazing amount of
work.
> Realistically the amount of work is going to be predicated on whether or
not
> there is a tool that already handles the conversion for you. Assuming of
course
> that the data is available to you at all.
>
> As a particularly relevant example, switching from Mercurial to Git is as
easy
> as installing hg-git, creating a bookmark for master that tracks default,
and
> then pushing to a git repository.
>
> >
> > It's a good thing that your data isn't locked behind a proprietary
door, for
> > now.  That's only part of the story.  But also, because github is a
closed
> > system, there's no guarantee that today's data-freeing APIs will still
exist,
> > continue to be functional for practical purposes, remain complete, or
stay at
> > parity with new features.
>
> This feels like Chicken Little-ing. If Github closed it’s APIs then you
could
> still get at that data by scraping the web interface. However why would
Github
> do that? That would piss off the vast majority of OSS projects who are
currently
> hosted there and is likely to cause a pretty big migration off of Github
for
> fear that Github is going to attempt to lock people onto Github. The
popularity
> of Github *is* Github’s killer feature and doing something that is going
to
> send the vast bulk of your users running for the hills sounds like
something that
> they would have to be particularly stupid to do.
>
> >
> > Cheers,
> > -Barry
> >
> > [*] And our huge gratitude goes to Paul Boddie for his amazing amount
of work
> > on the project.
> > ___
> > Python-Dev mailing list
> > Python-Dev@python.org
> > https://mail.python.org/mailman/listinfo/python-dev
> > Unsubscribe:
https://mail.python.org/mailman/options/python-dev/donald%40stufft.io
>
> ---
> Donald Stufft
> PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

I tend to agree with Donald that it's highly unlikely for GitHub to close
off their APIs but Barry is right that it isn't impossible. That can be
mitigated by regularly scheduling a back-up of that data using the tools we
have now so that the sky doesn't appear to be falling if the worst case
does occur.

I also tend to disagree with Barry that it will be extraordinarily
difficult because I have migrated issues and pull requests off of GitHub
and was able to automate the entirety of it reliably with python.
Admittedly, I'm very familiar with GitHub's API as the author of github3.py
so for me this is a trivial task. I would also be willing to help set up
migrations and back ups if we decide to use GitHub.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 481 - Migrate Some Supporting Repositories to Git and Github

2014-11-30 Thread Ian Cordasco
Can this discussion be split off into a separate discussion. It's
tangential to the PEP and clearly not actively progressing so it
doesn't seem productive. I don't care where it's taken, but I don't
think this belongs here. Speculation on the actions of the msysgit
project are not fair talk for this PEP.

On Sun, Nov 30, 2014 at 12:14 PM, Paul Moore  wrote:
> On 30 November 2014 at 16:08, Donald Stufft  wrote:
>>> On Nov 30, 2014, at 7:31 AM, Paul Moore  wrote:
>>>
>>> On 29 November 2014 at 23:27, Donald Stufft  wrote:
 In previous years there was concern about how well supported git was on 
 Windows
 in comparison to Mercurial. However git has grown to support Windows as a 
 first
 class citizen. In addition to that, for Windows users who are not well 
 aquanted
 with the Windows command line there are GUI options as well.
>>>
>>> I have little opinion on the PEP as a whole, but is the above
>>> statement true? From the git website, version 2.2.0 is current, and
>>> yet the downloadable Windows version is still 1.9.4. That's a fairly
>>> significant version lag for a "first class citizen".
>>>
>>> I like git, and it has a number of windows-specific extensions that
>>> are really useful (more than Mercurial, AFAIK), but I wouldn't say
>>> that the core product supported Windows on an equal footing to Linux.
>>>
>>> Paul
>>
>> I think so yes. I may be wrong, however while 1.9.4 may be the latest
>> downloadable version of git for Windows, there is no downloadable
>> version of the Linux clients at all, they just tell you to go use
>> your package manager which for instance is version 1.7 on Debian. On
>> OS X the latest version is 2.0.1.
>
> OTOH, presumably you can build your own copy of git from source on
> Linux/OSX. I haven't tried this on Windows but it looks pretty
> difficult (you start by downloading the msysgit development
> environment and go from there). Also, if it's easy to produce binaries
> for 2.2.0 on Windows, why haven't the msysgit project (still an
> external project, to an extent, AFAICT) done so?
>
> Paul
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] My thinking about the development process

2014-12-05 Thread Ian Cordasco
On Dec 5, 2014 4:18 PM, "Eric Snow"  wrote:
>
> Very nice, Brett.
>
> On Fri, Dec 5, 2014 at 1:04 PM, Brett Cannon  wrote:
> > And we can't forget the people who help keep all of this running as
well.
> > There are those that manage the SSH keys, the issue tracker, the review
> > tool, hg.python.org, and the email system that let's use know when stuff
> > happens on any of these other systems. The impact on them needs to also
be
> > considered.
>
> It sounds like Guido would rather as much of this was done by a
> provider rather than relying on volunteers.  That makes sense though
> there are concerns about control of certain assents.  However, that
> applies only to some, like hg.python.org.
>
> >
> > ## Contributors
> > I see two scenarios for contributors to optimize for. There's the simple
> > spelling mistake patches and then there's the code change patches. The
> > former is the kind of thing that you can do in a browser without much
effort
> > and should be a no-brainer commit/reject decision for a core developer.
This
> > is what the GitHub/Bitbucket camps have been promoting their solution
for
> > solving while leaving the cpython repo alone. Unfortunately the bulk of
our
> > documentation is in the Doc/ directory of cpython. While it's nice to
think
> > about moving the devguide, peps, and even breaking out the tutorial to
repos
> > hosting on Bitbucket/GitHub, everything else is in Doc/ (language
reference,
> > howtos, stdlib, C API, etc.). So unless we want to completely break all
of
> > Doc/ out of the cpython repo and have core developers willing to edit
two
> > separate repos when making changes that impact code **and** docs, moving
> > only a subset of docs feels like a band-aid solution that ignores the
big,
> > white elephant in the room: the cpython repo, where a bulk of patches
are
> > targeting.
>
> With your ideal scenario this would be a moot point, right?  There
> would be no need to split out doc-related repos.
>
> >
> > For the code change patches, contributors need an easy way to get a
hold of
> > the code and get their changes to the core developers. After that it's
> > things like letting contributors knowing that their patch doesn't apply
> > cleanly, doesn't pass tests, etc.
>
> This is probably more work than it seems at first.
>
> > As of right now getting the patch into the
> > issue tracker is a bit manual but nothing crazy. The real issue in this
> > scenario is core developer response time.
> >
> > ## Core developers
> > There is a finite amount of time that core developers get to contribute
to
> > Python and it fluctuates greatly. This means that if a process can be
found
> > which allows core developers to spend less time doing mechanical work
and
> > more time doing things that can't be automated -- namely code reviews --
> > then the throughput of patches being accepted/rejected will increase.
This
> > also impacts any increased patch submission rate that comes from
improving
> > the situation for contributors because if the throughput doesn't change
then
> > there will simply be more patches sitting in the issue tracker and that
> > doesn't benefit anyone.
>
> This is the key concern I have with only addressing the contributor
> side of things.  I'm all for increasing contributions, but not if they
> are just going to rot on the tracker and we end up with disillusioned
> contributors.
>
> >
> > # My ideal scenario
> > If I had an infinite amount of resources (money, volunteers, time,
etc.),
> > this would be my ideal scenario:
> >
> > 1. Contributor gets code from wherever; easiest to just say "fork on
GitHub
> > or Bitbucket" as they would be official mirrors of hg.python.org and are
> > updated after every commit, but could clone hg.python.org/cpython if
they
> > wanted
> > 2. Contributor makes edits; if they cloned on Bitbucket or GitHub then
they
> > have browser edit access already
> > 3. Contributor creates an account at bugs.python.org and signs the CLA
>
> There's no real way around this, is there?  I suppose account creation
> *could* be automated relative to a github or bitbucket user, though it
> probably isn't worth the effort.  However, the CLA part is pretty
> unavoidable.
>
> > 3. The contributor creates an issue at bugs.python.org (probably the one
> > piece of infrastructure we all agree is better than the other options,
> > although its workflow could use an update)
>
> I wonder if issue creation from a PR (where no issue # is in the
> message) could be automated too without a lot of extra work.
>
> > 4. If the contributor used Bitbucket or GitHub, they send a pull request
> > with the issue # in the PR message
> > 5. bugs.python.org notices the PR, grabs a patch for it, and puts it on
> > bugs.python.org for code review
> > 6. CI runs on the patch based on what Python versions are specified in
the
> > issue tracker, letting everyone know if it applied cleanly, passed
tests on
> > the OSs that would be affected, and also got a test coverage report

Re: [Python-Dev] Python 2.x and 3.x use survey, 2014 edition

2014-12-10 Thread Ian Cordasco
On Wed, Dec 10, 2014 at 11:10 AM, Donald Stufft  wrote:
>
> On Dec 10, 2014, at 11:59 AM, Bruno Cauet  wrote:
>
> Hi all,
> Last year a survey was conducted on python 2 and 3 usage.
> Here is the 2014 edition, slightly updated (from 9 to 11 questions).
> It should not take you more than 1 minute to fill. I would be pleased if you
> took that time.
>
> Here's the url: http://goo.gl/forms/tDTcm8UzB3
> I'll publish the results around the end of the year.
>
> Last year results: https://wiki.python.org/moin/2.x-vs-3.x-survey
>
>
> Just going to say http://d.stufft.io/image/0z1841112o0C is a hard question
> to answer, since most code I write is both.
>

The same holds for me.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Overriding stdlib http package

2015-01-14 Thread Ian Cordasco
I think this belongs on python-list, not python-dev.

On Wed, Jan 14, 2015 at 10:32 AM, Demian Brecht  wrote:
> Hi all,
>
> As part of the work I'm doing on httplib3 (now that I've actually gotten
> a bit of time), one of the things I'm trying to get done is injection of
> httplib3 over http in order to not have to modify all import paths in
> modules and such. Here's the gist of what I have so far:
> https://gist.github.com/demianbrecht/bc6530a40718e4fcbf90.
>
> It's greatly simplified over importlib2's inject mechanism, but I'm
> assuming that's largely due to requirements of that package (i.e. Python
> 2) in contrast to this one.
>
> My questions are: Does this look sane? Is there anything that I might be
> not accounting for? It /does/ seem to work as expected when running
> tests, but I'm curious if there's anything that I might be missing that
> might jump out at someone more intimately familiar with the mechanics of
> importlib.
>
> Thanks,
> Demian
>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [PyPI] Why are some packages on pypi.python.org/simple, but have no page?

2015-01-18 Thread Ian Cordasco
Taking one of your examples: https://pypi.python.org/simple/acid/ 404s
(I didn't bother checkin the other three). So there are links on
/simple but no content for them. So I think your question is better
asked, why are there links on /simple that lead to 404s.

On Sun, Jan 18, 2015 at 9:08 AM, Martin Thoma  wrote:
> Hello Python developers,
>
> Could anybody please answer the following question?
> (I have asked it on http://stackoverflow.com/q/28010799/562769, but Steve
> Barnes thinks I should ask it here)
>
> I am currently analyzing packages on PyPI. I use
> https://pypi.python.org/simple/ to get all package names and
> https://pypi.python.org/pypi/numpy/json and similar to get the metadata.
>
> However, there are 514 packages (e.g. abu.rpc, acid, about-pandoc,
> about-numtest, ...) which do not have the https://pypi.python.org/pypi/
> site, but are on https://pypi.python.org/simple/.
>
> Why is that the case?
>
> Best regards,
> Martin
>
>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Fwd: str(IntEnum)

2015-02-20 Thread Ian Cordasco
On Fri, Feb 20, 2015 at 12:36 PM, Florian Bruhin  wrote:
> * Demian Brecht  [2015-02-20 10:24:53 -0800]:
>> These and other implementations return a string representation of the 
>> instance’s value, not a string representation of the object itself. Whereas 
>> elsewhere in the standard library:
>>
>> >>> str(ProtocolError('url', 42, 'msg', ''))
>> '’
>> >>> str(URLError('reason'))
>> '’
>> >>> str(Cookie(0, '', '', '4', '', '', '', '', '', '', '', 0, '', '', '', 
>> >>> ''))
>> ''
>>
>> The specific problem that I encountered was when swapping an IntEnum 
>> implementation for ints in http.client, which caused a change in logging 
>> output (from int.__str__ to Enum.__str__) , which was a bit of a surprise, 
>> especially given the value is a builtin type.
>>
>> I think that a decent rule around the usage of __str__ is that it should be 
>> a string representation of the value, not of the object. Failing the ability 
>> to logically coerce the value to a string, it should simply fall back to 
>> repr(obj).
>>
>> Of course, I realize that the chances of this change being made to such a 
>> fundamental (and largely inconsequential) feature are likely nil, but I 
>> thought I’d share my thoughts anyways.
>
> >>> foo = object()
> >>> str(foo)
> ''
> >>> repr(foo)
> ''
>
> This is exactly what you see above. ;)
>
> Florian
>
> --
> http://www.the-compiler.org | m...@the-compiler.org (Mail/XMPP)
>GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
>  I love long mails! | http://email.is-not-s.ms/

There's a semantic difference between an int and an IntEnum (or
subclass thereof). MyEnum.FOO is a MyEnum type. IntEnums just happen
to behave like an int under certain circumstances. That doesn't mean
it needs to act like it in all. Further, it can be turned into an int
if you want to represent it as an int, e.g., str(int(MyEnum.FOO)) ==
str(1). I hope this helps.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Prefixes and namespaces

2015-02-21 Thread Ian Cordasco
On Sat, Feb 21, 2015 at 1:28 PM, Serhiy Storchaka  wrote:
> /* Namespaces are one honking great idea -- let's do more of those! */
>
> There are two ways to avoid name conflicts: prefixes and namespaces.
> Programming languages that lacks namespaces (such as C) need to use
> prefixes. For example: PROTOCOL_SSLv2, PROTOCOL_SSLv3, PROTOCOL_SSLv23.
> Python used the same prefixed names when reflect C constants to module level
> Python globals. But when convert integer constants to IntEnum, is it needed
> to preserve common prefix? Or may be we can drop it, because enum class name
> plays its role?
>
> class Protocol(IntEnum):
> PROTOCOL_SSLv2 = ...
> PROTOCOL_SSLv3 = ...
> PROTOCOL_SSLv23 = ...
>
> or
>
> class Protocol(IntEnum):
> SSLv2 = ...
> SSLv3 = ...
> SSLv23 = ...
>
> ? Protocol.PROTOCOL_SSLv2 or Protocol.SSLv2?

So I like the latter (Protocol.SSLv2) but would qualify that with the
request that ssl.PROTOCOL_SSLv2 continue to work until Python 2 is
dead and libraries like requests, urllib3, httplib2, etc. no longer
need to support those versions.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Aprender Pythton

2015-04-14 Thread Ian Cordasco
On Tue, Apr 14, 2015 at 7:54 PM, Andrew Svetlov 
wrote:

> Python-dev is for development OF Python, not for development WITH Python
> or Python LEARNING, BTW.
>
> On Tue, Apr 14, 2015 at 8:46 PM, Raúl Cumplido 
> wrote:
>
>> Hi Andrew,
>>
>> Is someone asking where to find resources to learn Python. We have
>> redirected him to the python lists both in english and spanish.
>>
>> We should have replied in English if it would have been something related
>> to python-dev, but we have responded in Spanish as maybe the user doesn't
>> understand English.
>>
>> Kind Regards,
>> Raúl
>>
>> 2015-04-14 20:41 GMT-04:00 Andrew Svetlov :
>>
>>> I'm sorry. Please use English in the mailing list.
>>>
>>> People may not understand your chatting.
>>>
>>> 2015-04-14 20:36 GMT-04:00 Erik Rivera :
>>>
 Baldomero,

 Veo que perteneces al estado de Puebla, México, existe la lista de
 Python México https://mail.python.org/mailman/listinfo/python-mx,
 habemos varios de Puebla que te podemos apoyar.

 Saludos.

 El 14 de abril de 2015, 19:50, Baldomero Perez martinez <
 bpma...@yahoo.com.dmarc.invalid.mx> escribió:

> Quiero aprender python quiero empezar agradezco si me pueden ayudar
>
> L.I. Baldomero Pérez Martínez
> Enc. Proy. Informatica
> Fideicomiso Ingenio Atencingo 80326
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/erik.river%40gmail.com
>
>

 ___
 Python-Dev mailing list
 Python-Dev@python.org
 https://mail.python.org/mailman/listinfo/python-dev
 Unsubscribe:
 https://mail.python.org/mailman/options/python-dev/andrew.svetlov%40gmail.com


>>>
>>>
>>> --
>>> Thanks,
>>> Andrew Svetlov
>>>
>>> ___
>>> Python-Dev mailing list
>>> Python-Dev@python.org
>>> https://mail.python.org/mailman/listinfo/python-dev
>>> Unsubscribe:
>>> https://mail.python.org/mailman/options/python-dev/raulcumplido%40gmail.com
>>>
>>>
>>
>
>
> --
> Thanks,
> Andrew Svetlov
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
>
Andrew if you translate the text that was sent to Baldomero, you'll see
that's exactly what they said. Please don't be so rude (or lazy) to people
helping someone learn Python, regardless of whether they mistakenly posted
to the wrong list.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Type hints -- a mediocre programmer's reaction

2015-04-20 Thread Ian Cordasco
On Mon, Apr 20, 2015 at 4:00 PM, Harry Percival 
wrote:

> @Lukasz:
>
> Of course you're right, ugly is a matter of perspective, and I'm sure I
> could grow to love them, and they might evolve into a more polished
> direction
>
> > "they start to read more transparently after a while."
>
> But I'm still worried about beginners, and I'm even worried about me.  I
> like to be able to scan through some code and see the essence of it.   I
> learned Java at school, and I got it figured out, but i'm glad I left it
> behind. Every so often I read a TDD book and the examples are all in java
> and it just feels like obfuscation -- public void static private String[]
> class blabla... so many keywords and types getting in the way of *what the
> code is actually doing*.  That's what's so appealing about Python, it
> strips it down to just the basics.  And, to me, type hints are always going
> to be some unnecessary chaff that gets in the way of my understanding --
> not useless, not that they don't have a purpose or that we should remove
> them completely.  But if there was a way of just hiding them, so that I
> don't have to think about them, as a beginner, or as a normal programmer,
> most of the time, in the 90% of cases where I don't need to see them, I
> shouldn't have to...  that's why i'm so keen on this stub files idea.
>
> One thing I don't understand is this "local variable inference" thing --
> can that not be made to work in stub files?
>
>
>
> On 20 April 2015 at 21:50, Harry Percival 
> wrote:
>
>> > stub files are only used to type-check *users* of a module. If you want
>> a module itself to be type-checked you have to use inline type hints
>>
>> is this a fundamental limitation, or just the current state of tooling?
>>
>> On 20 April 2015 at 21:48, Harry Percival 
>> wrote:
>>
>>> > "I hate stub files. [...] in my opinion, [it] just about guarantees a
>>> maintenance burden that will fall by the side of the road.
>>>
>>> I'm not so pessimistic.  It's not like documentation or docstrings or
>>> comments -- the whole point is that it should be very easy to have an
>>> automated check for whether your stubs are in sync with your source,
>>> because both are in code.  Unlike docs or comments which can easily become
>>> out of date, because there's no automated process to tell you they need
>>> updating...  I'm thinking of it as a thing your editor will warn you of.
>>> Like pyflakes warnings about unused variables & co, I'm never happy until
>>> I've silenced them all in a file, and similarly, your editor will keep
>>> bugging you until you've got your stubs inline with your code...
>>>
>>>
>>> On 20 April 2015 at 20:37, Isaac Morland  wrote:
>>>
 On Mon, 20 Apr 2015, Paul Moore wrote:

  On 20 April 2015 at 19:41, Barry Warsaw  wrote:
>
>> tldr; type hints in python source are scary. Would reserving them for
>>> stub
>>> files be better?
>>>
>>
>> I think so.  I think PEP 8 should require stub files for stdlib
>> modules and
>> strongly encourage them for 3rd party code.
>>
>
> Agreed. I have many of the same concerns as Harry, but I wouldn't have
> expressed them quite as well. I'm not too worried about actually
> removing annotations from the core language, but I agree that we
> should create a strong culture of "type hints go in stub files" to
> keep source files readable and clean.
>
> On that note, I'm not sure "stub" files is a particularly good name.
> Maybe "type files" would be better? Something that emphasises that
> they are the correct place to put type hints, not a workaround.
>

 How about "header" files?

 (ducks...)

 Isaac Morland   CSCF Web Guru
 DC 2619, x36650 WWW Software Specialist

 ___
 Python-Dev mailing list
 Python-Dev@python.org
 https://mail.python.org/mailman/listinfo/python-dev
 Unsubscribe:
 https://mail.python.org/mailman/options/python-dev/hjwp2%40cantab.net

>>>
>>>
So I've generally stayed out of this but I feel there is some context that
people are missing in general.

First, allow me to provide some context: I maintain a /lot/ of Python
code[1] and nearly all of it is designed to be compatible with Pythons 2.6,
2.7, 3.2, 3.3, 3.4 (and eventually 3.5) and sometimes 2.5 (depending on the
project). If I want to improve a developer's experience with some of that
code using Type Hints I will essentially have no way to do that unless I
write the code with the annotations and ship versions with annotations
stripped and other versions with annotations? That's a lot more overhead.
If I could provide the annotations in stubs that means that only the people
who care about using them will have to use them.

Is it more overhead to manage twice the number of files? Yes. Do I feel it
would be worth it to not overly complicate how these packages are released?
Yes.

Furth

Re: [Python-Dev] typeshed for 3rd party packages

2015-04-22 Thread Ian Cordasco
On Wed, Apr 22, 2015 at 11:12 AM, Skip Montanaro 
wrote:

>
> On Wed, Apr 22, 2015 at 10:43 AM, Guido van Rossum 
> wrote:
>
>> For Requests, it looks like it may be better not to have stubs at all.
>
>
> Can you expand on this? Why would Requests be any different than any other
> module/package?
>
>
On a separate thread Cory provided an example of what the hints would look
like for *part* of one function in the requests public functional API.
While our API is outwardly simple, the values we accept in certain cases
are actually non-trivially represented. Getting the hints *exactly* correct
would be extraordinarily difficult.


> As for versioning, I think stub files would absolutely have to declare the
> appropriate version(s) to which they apply (probably via embedded
> directives), so type checkers can ignore them when necessary. That also
> means that type checkers must be able to figure out the version of the
> package used by the application being analyzed.
>
> Not sure I'm being too clear, so I will provide an example. I have app
> "myapp" which imports module "yourmod" v 1.2.7. The yourmod author hasn't
> yet provided type annotations, so someone else contributed a stub to the
> typeshed. Time passes and a new version of "yourmod" comes out, v 2.0.0.
> (Semantic versioning tells us the API has changed in an incompatible way
> because of the major version bump.) I decide I need some of its new
> features and update "myapp". There is no new stub file in the typeshed yet.
> When I run my fancy type checker (someone suggested I will shortly have 50
> to choose from!), it needs to recognize that the stub no longer matches the
> version of "yourmod" I am using, and must ignore it.
>
>
Which of course also assumes that the author of that library is even using
Semantic Versioning (which is not a universal release strategy, even in the
Ruby community). I understand where you're coming from, but I think this is
a reason as to why typeshed as a catch-all for third party type-hints may
not be feasible.


>
> Does that suggest the typeshed needs some sort of structure which allows
> all versions of stubs for the same package to be gathered together?
>
> My apologies if I'm following along way behind the curve.
>

No need to apologize. =)

As the other maintainer of requests, I think having hints *might* help some
developers, but looking at what Cory generated (which looks to be valid),
I'm wondering about something else with Type Hints.

I've heard several people say "Just create an aliased type for the hint so
it's shorter!" but doesn't that mean we then have to document that alias
for our users? I mean if the IDE suggests that the developer use XYZ for
this parameter and there's no explanation for XYZ actually is (in the IDE),
doesn't this just add a lot more maintenance to adding hints? Maintainers
now have to:

- Keep the stubs up-to-date
- Document the stubs  (and if the stubs are in typeshed, does $MyPackage
link to the docs in typeshed to avoid users filing bugs on $MyPackage's
issue tracker?)
- Version the stubs (assuming they're maintained in a third-party location,
e.g., typeshed)

Don't get me wrong. I really like the idea of moving towards Type Hints.
I'm not even particularly against adding type hints for Requests to
typeshed. I'm just hesitant that it will be easy to make them entirely
accurate.

Cheers,
Ian
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] typeshed for 3rd party packages

2015-04-22 Thread Ian Cordasco
On Wed, Apr 22, 2015 at 11:30 AM, Skip Montanaro 
wrote:

>
>
> On Wed, Apr 22, 2015 at 11:26 AM, Ian Cordasco  > wrote:
>
>> On a separate thread Cory provided an example of what the hints would
>> look like for *part* of one function in the requests public functional API.
>>
>
> Thanks. That encouraged me to look around for recent posts from Cory.
> Wow...
>

You're welcome! And yeah. That union that Cory posted was for *one*
parameter if I remember correctly. I won't speak for Cory, but I'm not
against the type hints in 484 but they will be difficult for us as a
project. They'll be marginally less difficult for me in a different project
of mine.

I also wonder about importing type definitions from other packages. The
Requests-Toolbelt adds a few features that are enhanced versions of what's
already in Requests. I can think of a few type hints that we might create
to represent certain parameters, but I don't want to have to copy those for
the features in the Requests-Toolbelt. I would expect this to "Just Work",
but I wonder if anyone else has considered the possibility of this being a
need.

Cheers,
Ian
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Free lists

2015-05-09 Thread Ian Cordasco
On May 9, 2015 5:07 PM, "Serhiy Storchaka"  wrote:
>
> On 09.05.15 22:51, Larry Hastings wrote:
>>
>> On 05/09/2015 12:01 PM, Serhiy Storchaka wrote:
>>>
>>> Here is a statistic for most called PyObject_INIT or PyObject_INIT_VAR
>>> for types (collected during running Python tests on 32-bit Linux).
>>
>>
>> Can you produce these statistics for a 64-bit build?
>
>
> Sorry, no. All my computers are ran under 32-bit Linux.
>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com

Can you share how you gathered them so someone could run them on a 64-bit
build?
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Keeping competitive with Go (was Re: Computed Goto dispatch for Python 2)

2015-05-28 Thread Ian Cordasco
On Thu, May 28, 2015 at 5:08 PM, Paul Sokolovsky  wrote:
> Hello,
>
> On Thu, 28 May 2015 23:48:59 +0200
> Matthias Klose  wrote:
>
> []
>
>> And the very same place where you are working is investing in getting
>> shared libraries working for Go.  Single binaries may be popular for
>> distributing end user applications, but definitely not for
>> distributing a core OS or a SDK. Sorry, you didn't yet arrive in
>> distro land ...
>
> Of course it did. Like, Ubuntu 14.04LTS ships Go 1.2. No, it starts
> with the fact that when you don't have Go installed and type "go", it
> suggests to install gccgo, which just segfaults on running. Then you
> figure out that you need to install "golang", and that's 1.2, and a lot
> of things simply don't work with that version, like "go get" reports
> that a package not found, while it perfectly exists. So, let Go stay
> what it is - a corporate toy lingo for press-releases. That's until
> Google has thought that it generated enough buzz and it's time to shut
> it down like their numerous other projects. (Isn't Go old already and
> "everyone" uses Rust?)
>
>
> --
> Best regards,
>  Paul  mailto:pmis...@gmail.com
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com

Note that as much as I love Rust, it still isn't the replacement for
Go. It doesn't have a stable ABI so if you distribute a binary and
that person has a different version of Rust 1.x installed, it won't be
guaranteed to work (and, at this point, probably won't work anyway).
Go is just more popular because it's been around longer and it (as far
as a single developer is concerned) gets rid of the dependency mess.
That's why developers like it.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] 2.7 is here until 2020, please don't call it a waste.

2015-05-29 Thread Ian Cordasco
On Fri, May 29, 2015 at 4:14 PM, Gregory P. Smith  wrote:
>
> On Fri, May 29, 2015 at 12:24 AM Nick Coghlan  wrote:
>>
>>
>> On 29 May 2015 11:01 am, "Victor Stinner" 
>> wrote:
>> >
>> > Why not continue to enhance Python 3 instead of wasting our time with
>> > Python 2? We have limited resources in term of developers to maintain
>> > Python.
>> >
>> > (I'm not talking about fixing *bugs* in Python 2 which is fine with me.)
>>
>> I'm actually OK with volunteers deciding that even fixing bugs in 2.7
>> isn't inherently rewarding enough for them to be willing to do it for free
>> on their own time.
>
>
> That is 100% okay.
>
> What is not okay is for python-dev representatives to respond to users (in
> any list/forum/channel) reporting bugs in 2.7 or asking if a fix in 3 can be
> backported to 2.7 with things akin to "just use Python 3" or "sorry, 2.7 is
> critical fixes only. move to python 3 already." This is actively driving our
> largest users away.  I bring this up because a user was bemoaning how
> useless they feel python core devs are because of this attitude recently.
> Leading to feelings of wishing to just abandon CPython if not Python all
> together.
>
> I'm sure I have even made some of those responses myself (sorry!). My point
> here is: know it. recognize it. don't do it anymore. It harms the community.
>
> A correct and accurate response to desires to make non-api-breaking changes
> in 2.7 is "Patches that do not change any APIs for 2.7 are welcome in the
> issue tracker." possibly including "I don't have the bandwidth to review 2.7
> changes, find someone on python-dev to review and champion this for you if
> you need it."  Finding someone may not always be easy. But at least is still
> the "patches welcome" attitude and suggests that the work can be done if
> someone is willing to do it. Lets make a concerted effort to not be hostile
> and against it by default.
>
> Ex: Is someone with a python application that is a million of lines supposed
> to have everyone involved in that drop the productive work they are doing
> and spend that porting their existing application to python 3 because we
> have so far failed to provide the tools to make that migration easy?  No.
> Empathize with our community.  Feel their pain.  (and everyone who is
> working on tools to aid the transition: keep doing that! Our users are gonna
> need it unless we don't want them as users anymore.)
>
> We committed to supporting 2.7 until 2020 in 2014 per
> https://hg.python.org/peps/rev/76d43e52d978.  That means backports of
> important bug or performance fixes should at least be allowed on the table,
> even if hairy, even if you won't work on them yourselves on a volunteer
> basis. This is the first long term support release of Python ever. This is
> what LTS means.  LTS could also stand for Learn To Support...

At the same time, they can ask for it, but if people aren't motivated
to do the work for it, it won't happen. We should be encouraging (and
maybe even mentoring) these people who are desperately in need of the
fixes to be backported, to backport the patches themselves. With that
done, it can go through review and we can maybe get those fixes in
faster if we can also get a larger group of reviews.

The problem consists of a few parts:

- We're all volunteers
- Volunteers are going to work on what interests them
- Python 2.7 maintenance doesn't seem to interest many of our
volunteers currently

Perhaps we should explain this to each of the people requesting
backports to (ideally) encourage them.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] 2.7 is here until 2020, please don't call it a waste.

2015-05-29 Thread Ian Cordasco
On Fri, May 29, 2015 at 6:04 PM, Guido van Rossum  wrote:
> On Fri, May 29, 2015 at 2:52 PM, Ian Cordasco 
> wrote:
>>
>> On Fri, May 29, 2015 at 4:14 PM, Gregory P. Smith  wrote:
>> >
>> > On Fri, May 29, 2015 at 12:24 AM Nick Coghlan 
>> > wrote:
>> >>
>> >>
>> >> On 29 May 2015 11:01 am, "Victor Stinner" 
>> >> wrote:
>> >> >
>> >> > Why not continue to enhance Python 3 instead of wasting our time with
>> >> > Python 2? We have limited resources in term of developers to maintain
>> >> > Python.
>> >> >
>> >> > (I'm not talking about fixing *bugs* in Python 2 which is fine with
>> >> > me.)
>> >>
>> >> I'm actually OK with volunteers deciding that even fixing bugs in 2.7
>> >> isn't inherently rewarding enough for them to be willing to do it for
>> >> free
>> >> on their own time.
>> >
>> >
>> > That is 100% okay.
>> >
>> > What is not okay is for python-dev representatives to respond to users
>> > (in
>> > any list/forum/channel) reporting bugs in 2.7 or asking if a fix in 3
>> > can be
>> > backported to 2.7 with things akin to "just use Python 3" or "sorry, 2.7
>> > is
>> > critical fixes only. move to python 3 already." This is actively driving
>> > our
>> > largest users away.  I bring this up because a user was bemoaning how
>> > useless they feel python core devs are because of this attitude
>> > recently.
>> > Leading to feelings of wishing to just abandon CPython if not Python all
>> > together.
>> >
>> > I'm sure I have even made some of those responses myself (sorry!). My
>> > point
>> > here is: know it. recognize it. don't do it anymore. It harms the
>> > community.
>> >
>> > A correct and accurate response to desires to make non-api-breaking
>> > changes
>> > in 2.7 is "Patches that do not change any APIs for 2.7 are welcome in
>> > the
>> > issue tracker." possibly including "I don't have the bandwidth to review
>> > 2.7
>> > changes, find someone on python-dev to review and champion this for you
>> > if
>> > you need it."  Finding someone may not always be easy. But at least is
>> > still
>> > the "patches welcome" attitude and suggests that the work can be done if
>> > someone is willing to do it. Lets make a concerted effort to not be
>> > hostile
>> > and against it by default.
>> >
>> > Ex: Is someone with a python application that is a million of lines
>> > supposed
>> > to have everyone involved in that drop the productive work they are
>> > doing
>> > and spend that porting their existing application to python 3 because we
>> > have so far failed to provide the tools to make that migration easy?
>> > No.
>> > Empathize with our community.  Feel their pain.  (and everyone who is
>> > working on tools to aid the transition: keep doing that! Our users are
>> > gonna
>> > need it unless we don't want them as users anymore.)
>> >
>> > We committed to supporting 2.7 until 2020 in 2014 per
>> > https://hg.python.org/peps/rev/76d43e52d978.  That means backports of
>> > important bug or performance fixes should at least be allowed on the
>> > table,
>> > even if hairy, even if you won't work on them yourselves on a volunteer
>> > basis. This is the first long term support release of Python ever. This
>> > is
>> > what LTS means.  LTS could also stand for Learn To Support...
>>
>> At the same time, they can ask for it, but if people aren't motivated
>> to do the work for it, it won't happen. We should be encouraging (and
>> maybe even mentoring) these people who are desperately in need of the
>> fixes to be backported, to backport the patches themselves. With that
>> done, it can go through review and we can maybe get those fixes in
>> faster if we can also get a larger group of reviews.
>>
>> The problem consists of a few parts:
>>
>> - We're all volunteers
>
>
> Speak for yourself. There are a fair number of people on this thread whose
> employer pays them to work on Python. And this thread originated when a
> patch was being contributed by people who were also paid by their employer
> to do all the dirty work (including benchmarks). And yet they were
> (initially) given the cold shoulder by some "high and mighty" Python 3
> zealots. This attitude need to change.
>
>>
>> - Volunteers are going to work on what interests them
>> - Python 2.7 maintenance doesn't seem to interest many of our
>> volunteers currently
>>
>> Perhaps we should explain this to each of the people requesting
>> backports to (ideally) encourage them.
>
>
> Please let someone else do the explaining. I don't want to have to do the
> damage control after you "explain" something.

Good to know. I'll stop trying to make spare time to review patches then.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] pip SSL

2013-10-19 Thread Ian Cordasco
Also the three of us maintaining requests and the author of urllib3
are all very conscious that the packaged pem file is outdated. We have
an open issue about how to rebuild it accurately while taking into
consideration (and not including) the ones that have been revoked. Any
suggestions you have can be sent to me off list or reported on the
issue tracker.

On Sat, Oct 19, 2013 at 12:57 PM, Donald Stufft  wrote:
> One of the reasons we switched to using requests was to help centralize the 
> SSL
> handling code over to requests. So any issues could be fixed there and we just
> pull in a newer version of requests.
>
> On Oct 19, 2013, at 11:52 AM, Christian Heimes  wrote:
>
>> Signed PGP part
>> Am 19.10.2013 16:59, schrieb Nick Coghlan:
>> > It's the cert verification in pip that's relevant - the PEP was
>> > updated so that ensurepip itself never talks to the internet. So I
>> > guess that would mean checking the cert verification in pip's
>> > vendored copy of requests:
>> > https://github.com/pypa/pip/tree/develop/pip/vendor/requests
>> >
>> > (So I guess if you do find any issues, they would likely be
>> > applicable to the upstream requests package as well)
>>
>> Oh heck, where should I start?
>>
>> The cacert.pem file is outdated. Also it's unclear who has generated
>> the file and how it was generated from certdata.txt. It may very well
>> contain revoked certificates, too. You can find the latest version of
>> the file at
>>
>>
>> http://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt
>>
>> . A proper tool is required to generate a correct PEM file. It must
>> understand *ALL* fields. I have some code for that but it's not ready yet.
>>
>>
>> pip uses requests and requests rolls its own code for or on top of
>> Python stdlib modules, e.g. urllib3 with ssl_match_hostname. The
>> method has the same security flaw as Python's ssl.match_hostname()
>> function for IDNs. I'm a bit worried that we have to review and
>> validate all 3rd party packages and copies of stdlib modules for issues.
>>
>>
>> The assert_fingerprint() function looks kinda funny. It uses sha1() or
>> md5() on the DER representation of the cert. It's not how you are
>> suppose to take fingerprints for cert pinning. But Python's ssl has no
>> way to get the SPKI from the cert yet. I'm working on that as well.
>>
>> ___
>> Python-Dev mailing list
>> Python-Dev@python.org
>> https://mail.python.org/mailman/listinfo/python-dev
>> Unsubscribe: 
>> https://mail.python.org/mailman/options/python-dev/donald%40stufft.io
>
>
> -
> Donald Stufft
> PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] pip: cdecimal an externally hosted file and may be unreliable [sic]

2014-05-09 Thread Ian Cordasco
Stefan,

If the only way you can think of to invalidate Donald's (vastly
superior) arguments is to accuse of him of "gossip", you should
probably reconsider your arguments. Looking at the conversation you
didn't actually link to
(https://botbot.me/freenode/python-requests/msg/14389415/) there is no
gossip. There are no insinuations about your character. All that is
there is a succinct description of the topic of this conversation.

Cheers,
Ian

On Fri, May 9, 2014 at 11:23 AM, Donald Stufft  wrote:
>
> On May 9, 2014, at 12:11 PM, Stefan Krah  wrote:
>
>> Donald, I'm out of his discussion.  I have one last request: please don't
>> gossip about core devs in public as long as you have commit privs:
>>
>> https://botbot.me/freenode/python-requests/
>
> I don’t really know how to respond to this. I was talking to some people I 
> know
> and I gave them a summary of what was happening. I stand by everything I
> said there and I don’t think any of it was wrong or even gossip at all.
>
> If people feel that was inappropriate then go ahead and take my commit privs. 
> I
> have them to make it easier for me to write PEPs and to update ensurepip. If
> they’re going to be used as an excuse to attempt to censor me then I’d rather
> not have them as I generally always speak my mind and I won’t stop doing so.
>
> -
> Donald Stufft
> PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
>
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can't upload to PyPI

2013-02-21 Thread Ian Cordasco
This is probably better suited to Catalog-sig but you have to edit
your credentials in $HOME/.pypirc

On Thu, Feb 21, 2013 at 9:02 PM, MRAB  wrote:
> Since the PyPI security notice of 2013-02-15 I've been unable to upload
> to PyPI via "setup.py upload".
>
> I changed my password during the grace period, and have reset it, but
> it's still rejected:
>
> Upload failed (401): Incorrect password
>
> I can login to PyPI with the password.
>
> Can anyone suggest what could be wrong?
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Can't upload to PyPI

2013-02-21 Thread Ian Cordasco
On Thu, Feb 21, 2013 at 9:27 PM, MRAB  wrote:
> On 2013-02-22 02:09, Ian Cordasco wrote:
>>
>> On Thu, Feb 21, 2013 at 9:02 PM, MRAB  wrote:
>>>
>>> Since the PyPI security notice of 2013-02-15 I've been unable to upload
>>> to PyPI via "setup.py upload".
>>>
>>> I changed my password during the grace period, and have reset it, but
>>> it's still rejected:
>>>
>>> Upload failed (401): Incorrect password
>>>
>>> I can login to PyPI with the password.
>>>
>>> Can anyone suggest what could be wrong?
>>>
>> This is probably better suited to Catalog-sig but you have to edit
>> your credentials in $HOME/.pypirc
>>
> Are any other changes needed in .pypirc, _apart_ from the password?
>

I don't recall needing any other changes.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] [Announcement] New mailing list for code quality tools including Flake8, Pyflakes and Pep8

2013-04-03 Thread Ian Cordasco
Hello,

There's a new mailing-list related to Python code-quality tools.

Are you concerned about the evolution of various code checkers?
Do you have questions or suggestions?

Subscribe here:
http://mail.python.org/mailman/listinfo/code-quality

Best regards,
Ian
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Announcement] New mailing list for code quality tools including Flake8, Pyflakes and Pep8

2013-04-04 Thread Ian Cordasco
On Wed, Apr 3, 2013 at 9:21 PM, Alfredo Solano Martínez  wrote:
> Hi,
>
> Are you planning to cover the code quality of the interpreter itself
> too? I've been recently reading through the cert.org secure coding
> practice recommendations and was wondering if there has is any ongoing
> effort to perform static analysis on the cpython codebase.

Hey Alfredo,

We do not currently have any tools to do that, but it would definitely
be something interesting to discuss and maybe design on the list. I'm
sure there are static analysis tools for the C part and I'm sure we as
a community could come up with a "super tool" to check both the C and
Python parts of CPython.

--
Ian
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] I cannot create bug reports

2013-04-24 Thread Ian Cordasco
The first thing that comes to mind is that your session expired and
you need to log-in again. After logging in myself I see the form in
all of it's glory.

On Wed, Apr 24, 2013 at 2:35 PM, Daniel Wong  wrote:
> Glorious members of python-dev,
>
> I'd like to submit a patch, but I cannot create a bug report. As of this
> morning (US West Coast), when I go to
> http://bugs.python.org/issue?@template=item I get no form fields.
>
> I went there last night, and I was able to get a form. I kept that tab open
> over night, and tried to submit this morning. When I did that, I got
> permission denied errors. It seems that something weird has happened to my
> account, or bug tracker itself changed in my sleep.
>
> Anyone have any idea what's going on here?
>
> Daniel
>
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/graffatcolmingov%40gmail.com
>
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] why do we allow this syntax?

2013-02-08 Thread Ian Cordasco
On Feb 8, 2013 3:37 PM, "Xavier Morel"  wrote:
>
> On 2013-02-08, at 18:45 , Chris Withers wrote:
>
> > On 08/02/2013 16:17, Oscar Benjamin wrote:
> >> Decimal.__pos__ uses it to return a Decimal instance that has the
> >> default precision of the current Decimal context:
> >>
> > from decimal import Decimal
> > d = Decimal('0.33')
> > d
> >> Decimal('0.33')
> > +d
> >> Decimal('0.')
> >
> > That's the answer I was hoping wouldn't be coming...
> >
> > Oh well, guess I'll have to improve on my sloppy typing.
>
> Or just run flake8 (with a bit of configuration to disable the annoying
stuff).

As flake8's maintainer, I second this.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com