Re: Trying to outline the steps taken to go from "I want this package" to it being installed

2018-12-21 Thread Sumana Harihareswara
Brett, did you end up making progress on this? If not, would you be open to 
someone else picking it up?

Thanks!

-- 
Sumana Harihareswara
Changeset Consulting
https://changeset.nyc

On 3/5/18 1:01 PM, Brett Cannon wrote:
> Thanks for the extra details, Nick! I have some documentation to read on
> some projects now that I have a complete list, but once that's done I'll
> come back here with my idea. ;)
> 
> On Fri, 2 Mar 2018 at 21:50 Nick Coghlan  wrote:
> 
>> On 3 March 2018 at 06:55, Brett Cannon  wrote:
>>
>>> I have a project idea, but before I start it I need to make sure that I
>>> have the high-order steps necessary to go from `pip install pip=9.0.1` to
>>> it actually ending up on disk. Now I'm only considered with
>>> modern/bleeding-edge, spec-based stuff, so PEP 517/518 and no setup.py, etc.
>>>
>>> Anyway, if people can point out any steps the below outline is missing I
>>> would appreciate it. Thanks!
>>>
>>>
>>>1. Specify package requirement
>>>   1. Translate name to PyPI-compatible name
>>>   2. Tease out requirement details (e.g. version, markers, etc.)
>>>2. Check if package is already installed
>>>
>>>
>> Depending on the installer design, a local download/build cache may be
>> checked before checking PyPI (and since you include a caching step later,
>> you'll presumably want to cover the caching step as well).
>>
>>
>>>
>>>1. Check PyPI for package
>>>2. Choose appropriate file
>>>   1. Get list of files
>>>   2. Calculate best-fitting wheel
>>>   3. Fallback to .tar.gz sdist
>>>3. Download file
>>>4. If sdist:
>>>   1. Extract
>>>   2. Read pyproject.toml
>>>   3. Create venv
>>>   4. Install build dependencies
>>>
>>>
>> After installing the static build dependencies, you also need to query for
>> any dynamic build dependencies and install them if they're requested:
>> https://www.python.org/dev/peps/pep-0517/#get-requires-for-build-wheel
>>
>> This build dependency installation step can get arbitrarily complicated if
>> you allow build dependencies to be installed from source, so the initial
>> implementation in pip requires that build dependencies already be available
>> as wheel files (either on the index server or in the local artifact cache).
>>
>> Cheers,
>> Nick.
>>
>> --
>> Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
>>
> 


Re: PyPI JSON API redirect loop for all unpublished packages

2018-12-21 Thread Sumana Harihareswara
Donald and Dustin: have we been running into these kinds of Travis problems in 
the past few months or does it seem to have settled down?

-- 
Sumana Harihareswara
Changeset Consulting
https://changeset.nyc

On 5/19/18 4:35 PM, Brett Cannon wrote:
> On Fri, May 18, 2018, 06:08 Dustin Ingram,  wrote:
> 
>> I did reach out to the one contact we had there from when GCP/Fastly
>> were having issues that affected Travis/PyPI (Emma) on Monday, but got
>> no response.
>>
> 
> If Travis doesn't work out then let Steve Dower and me know and we can see
> if we can get you extra credits on VSTS (teammate of mine was already
> working with Jason at the PyCon sprints to get setuptools up on
> PyPA.visualstudio.com).
> 
> -Brett
> 
> 
>> D.
>>
>> On Fri, May 18, 2018 at 8:54 AM, Sumana Harihareswara 
>> wrote:
>>> In my opinion, this kind of bottleneck is likely to happen more
>> frequently as we increase PyPA development activity, so it'd be worth
>> asking Travis to bump up our account's oomph. (I am very tired and on a
>> train so please forgive handwavy wording.) Do we have a contact there?
>>>
>>> --
>>> Sumana Harihareswara
>>> Changeset Consulting
>>> https://changeset.nyc
>>>
>>> On 05/16/2018 04:36 PM, Dustin Ingram wrote:
 Thanks for the report. I reverted the commit that caused this in
 https://github.com/pypa/warehouse/pull/4015, however it might take a
 bit for this to get deployed to PyPI because there's currently a
 pretty long backlog in Travis due to all the PyPA development
 happening during the sprints.

 D.


Re: Documentation on running Warehouse in your own production evironment?

2018-12-21 Thread Sumana Harihareswara
Hi and thanks for writing! And thanks for being clear and comprehensive about 
what you are looking for.

I'm sorry you didn't come across 
https://warehouse.readthedocs.io/application/#usage-assumptions-and-concepts -- 
maybe we need to flag that better. As it mentions:

> Warehouse is specifically the codebase for the official Python Package Index, 
> and thus focuses on architecture and features for PyPI and Test PyPI. People 
> and groups who want to run their own package indexes usually use other tools, 
> like devpi https://pypi.org/project/devpi-server/ .

You might also consider https://github.com/pypiserver/pypiserver or one of the 
other similar projects: 
https://github.com/pypiserver/pypiserver#similar-projects

I hope this helps!

(Sorry, I originally (yesterday) sent this off-list by mistake.)

-- 
Sumana Harihareswara
Changeset Consulting
https://changeset.nyc

On 12/20/18 9:23 AM, Christoph Bischko wrote:
> Hi all,
> 
> currently, the only official warehouse documentation at 
> https://warehouse.readthedocs.io seems to be quite sparse. Also it seems to 
> be aimed at developers, not end users. A lot about features and the hows of 
> setting up a warehouse instance is left in the dark.
> 
> For instance, there is the environment file 
> (https://github.com/pypa/warehouse/blob/master/dev/environment) that 
> contains some very necessary settings. I did not find out about it in the 
> documentation but by a painful reading of the Makefile. 
> Warehouse ships with "example data". I.e. on installation there are >40k 
> users and >30k dummy packages in the database by default - no instructions 
> on how to remove them. Again, I read the Makefile and altered the 
> example.sql database as a result.
> HTTPS seems to be disabled by default, with no documentation on how to set 
> it up properly and securely. 
> Account verification Mails, do not work out of the box - again no docs on 
> setting that up.
> Pip installation of packages on a client via the index on my local 
> Warehouse failed, because the links pointed to local host instead of the 
> actual fileserver. Again, the responsible setting FILES_BACKEND in the 
> environment is nowhere to be read about. 
> There is no information on whether it is possible and how, to set up 
> caching of the index at pypi.org with a local warehouse.
> 
> As you can see, I was able to resolve some of these issues with some 
> digging, reading of the code, trial and error and a bit pain. But my 
> questions are:
> 
>  - Am I missing something here? Is warehouse not meant to be used in 
> setting up your own local package index, i.e. for a company or educational 
> facility?
>   - Is there additional documentation I'm not aware of, something aimed at 
> system administrators and end-users that want to setup their own pypi, 
> because searching the web gives precious little and nothing usable?
>   - Are there (maybe 3rd-party) example configurations and guides for 
> warehouse?
> 
> The goal for a local instance of warehouse would be:
>  - Isolation of the local network from the internet (i.e. caching of pypi)
>  - Speedup of package installation via local network
>  - Having private packages locally that are not uploaded to pypi
> 
> I hope you can help me, and maybe documenting warehouse for end users will 
> get a higher priority as a result.
> Thanks,
> Christoph
> 
> 
>