Re: [Distutils] Thank you for the ability to do `pip install git+https://...`

2016-04-01 Thread Jeremy Stanley
On 2016-04-01 17:16:15 +0300 (+0300), Alex Grönholm wrote:
> I'm sorry if I offended anyone. I was just trying to point out
> that in the case of Github (or any other service that provides
> automated tarball generation) it's better to install from those
> rather than using the VCS integration plugins. Oh, and for the
> record, I just tested -- it does a deep clone at this time, which
> would be responsible for the slowness compared to installing from
> a tarball.

Whether this can work depends entirely on the project being
installed. Some don't check package metadata into their repos in a
form consumable by pip, and require an additional sdist build step
which may need information from the VCS itself or manually provided
during that step.

A prime example of this is projects using PBR, which will want
access to Git tag and commit details to determine the package
version. With a local clone of the project's Git repository (not
just a tarball/zip snapshot of its content) you can build a
pip-supported sdist, but otherwise you may need to manually
determine and set version information in the calling environment or
by editing to be able to then generate a usable sdist from the raw
source tree.
-- 
Jeremy Stanley
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] PEP 516 nitpicks

2016-04-01 Thread Erik Bray
Hi all,

I was just getting around to reading the latest published draft of PEP
516 and had a few minor nitpicks.  Sorry if this unhelpful, as I know
it's still being drafted and may change anyways.

"The programmatic interface allows decoupling of pip from its current
hard dependency on setuptools [2] able for two key reasons:"

The "able" at the end of this sentence seems out of place.

***

"The file pypa.json acts as a neutral configuration file for pip and
other tools..."

It's not clear to me what "neutral" means here?  From context I'm
pretty sure it means not specific to any build tool, but I think it's
distracting.  I also don't think it's entirely neutral since its
*absence* implies a specific build tool.

***

"The JSON has the following schema. Extra keys are ignored, which
permits the use of pypa.json as a configuration file for other related
tools. If doing that the chosen keys must be namespaced under tools"

This last part seems inconsistent.  It implies that additional keys
may be used for other tools, but that they must be under a "tools"
key.  Okay, but what does that imply for top-level keys not specified
by the schema?  Will they be ignored? Or should they be explicitly
disallowed in order to enable expansion of the format?

***

"As usual with processes, a non-zero exit status indicates an error."

The "As usual with processes" is somewhat *NIX-biased.  I think simply
stating the expectation is better: "Non-zero exit statuses are assumed
to indicate an error."  Of course, any program for which that does not
apply for some reason would have to have a wrapper around itself.

***

"Note that doing so will cause use operations like pip install -e foo to fail."

"use" -> "use of"?  Also, how will they fail?  Will pip still install
dependencies or roll those back too?

***

"develop [--prefix PREFIX]"
...

"flit develop --root /tmp/ --prefix /usr/local"


So does develop have a "--root" option or not?  (Maybe this is a moot
point if the interface is going to switch back to a Python API? It's
not clear to me what the last word was on that.)


That's all for now.  Thanks!
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Thank you for the ability to do `pip install git+https://...`

2016-04-01 Thread Alex Grönholm
I'm sorry if I offended anyone. I was just trying to point out that in 
the case of Github (or any other service that provides automated tarball 
generation) it's better to install from those rather than using the VCS 
integration plugins. Oh, and for the record, I just tested -- it does a 
deep clone at this time, which would be responsible for the slowness 
compared to installing from a tarball.


01.04.2016, 17:03, Nick Coghlan kirjoitti:

On 28 March 2016 at 22:54, Alex Grönholm  wrote:

You could always point pip to the automatically generated zip
(https://github.com/nchammas/flintrock/archive/master.zip). That way you
won't have to wait for git to pointlessly download your entire version
history when you just want to install something.

I'd assume pip is doing shallow clones when installing from version
control, and if that currently isn't the case due to lack of time for
implementation and testing, it should be a relatively straightforward
PR for someone to submit as a performance optimisation.

It's also the case that the automatically generated zip archives are a
GitHub specific feature rather than a general property of version
control systems, so at least some folks are going to avoid depending
on that service specific feature and instead favour the
host-independent approach of using the relevant version control
protocol.

Regards,
Nick.

P.S. More generally: is a thread where someone is saying "Thanks for
this feature!" *really* the best place to be telling them "you
shouldn't be using that feature"? It's rare enough for maintainers of
any open source project to hear a heartfelt "thank you" that it's at
least worth considering taking other replies off list :)



___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Thank you for the ability to do `pip install git+https://...`

2016-04-01 Thread Nick Coghlan
On 28 March 2016 at 22:54, Alex Grönholm  wrote:
> You could always point pip to the automatically generated zip
> (https://github.com/nchammas/flintrock/archive/master.zip). That way you
> won't have to wait for git to pointlessly download your entire version
> history when you just want to install something.

I'd assume pip is doing shallow clones when installing from version
control, and if that currently isn't the case due to lack of time for
implementation and testing, it should be a relatively straightforward
PR for someone to submit as a performance optimisation.

It's also the case that the automatically generated zip archives are a
GitHub specific feature rather than a general property of version
control systems, so at least some folks are going to avoid depending
on that service specific feature and instead favour the
host-independent approach of using the relevant version control
protocol.

Regards,
Nick.

P.S. More generally: is a thread where someone is saying "Thanks for
this feature!" *really* the best place to be telling them "you
shouldn't be using that feature"? It's rare enough for maintainers of
any open source project to hear a heartfelt "thank you" that it's at
least worth considering taking other replies off list :)

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig