[Pulp-dev] python namespace proposal

Jeff Ortel jortel at redhat.com
Wed May 17 19:50:47 UTC 2017


+1 hyphens

On 05/17/2017 01:45 PM, Brian Bouterse wrote:
> I also am not 100% on this decision, so this is an excellent question.
> 
> * pip naturally transforms the underscore to a hyphen which causes some folks [0] to believe it won't work
> unless hyphens are used. In my testing, it does still work with PyPI because PyPI treats an _ and a - as the
> same character when looking up names. A stack overflow post that I read (and can't find now) suggested that
> the transformation of pip is doing was done to maintain compatibility with more Python packaging types. I
> think the concern is that if pip was fetching from something other than PyPI which doesn't provide that
> mapping feature pip's translation would cause the user to require the '-e' option which is more work.
> 
> * The dashes seem to be a more popular convention [1]
> 
> * We still won't have a one-for-one matching in many places even if we do use hyphens. For example
> pulp_rpm_cli would actually be providing pulp_rpm.cli.
> 
> I'm +0 on hypens mainly on readability and the inability for us to actually have consistency. What do you think?
> 
> [0]: https://pybuilder.github.io/documentation/external_plugins.html#.WRyX_zcpCV4
> [1]: https://gist.github.com/gene1wood/9472a9d0dffce1a56d6e796afc6539b8
> 
> On Wed, May 17, 2017 at 2:29 PM, Michael Hrivnak <mhrivnak at redhat.com <mailto:mhrivnak at redhat.com>> wrote:
> 
>     Our python package names currently all have underscores. For example:
> 
>     https://github.com/pulp/pulp_rpm/blob/2.13-release/plugins/setup.py#L6
>     <https://github.com/pulp/pulp_rpm/blob/2.13-release/plugins/setup.py#L6>
> 
>     Are we thinking of moving to hyphens for a particular reason? I could be persuaded, but consistency is
>     certainly nice between the python package name and the python namespace.
> 
>     On Wed, May 17, 2017 at 2:05 PM, Brian Bouterse <bbouters at redhat.com <mailto:bbouters at redhat.com>> wrote:
> 
>         I got some positive IRC feedback about the names in the doc, but nothing via e-mail. I've added the
>         PyPI names to be registered from the Google doc to the ticket about registering them [0]. It needs to
>         be groomed. I plan to nominate it at sprint planning tomorrow.
> 
>         [0]: https://pulp.plan.io/issues/2444 <https://pulp.plan.io/issues/2444>
> 
>         -Brian
> 
>         On Mon, May 15, 2017 at 3:02 PM, Brian Bouterse <bbouters at redhat.com <mailto:bbouters at redhat.com>> wrote:
> 
>             To make a concrete listing of what we would register, I wrote out a list of all PyPI packages to
>             be registered as column A here:
> 
>             https://docs.google.com/spreadsheets/d/1F6_eOefpHkwtxm1YXgjAypGHW826Ogt5Z3Us4elg-YY/edit?usp=sharing
>             <https://docs.google.com/spreadsheets/d/1F6_eOefpHkwtxm1YXgjAypGHW826Ogt5Z3Us4elg-YY/edit?usp=sharing>
> 
>             I've written these out with dashes not underscores. I *think* either would work. Is this what
>             others had in mind?
> 
> 
>             On Mon, May 15, 2017 at 1:11 PM, Michael Hrivnak <mhrivnak at redhat.com
>             <mailto:mhrivnak at redhat.com>> wrote:
> 
>                 I also imagine us getting to that point where the CLI does not require any code specific to a
>                 particular plugin, but I'm not sure we'll get there in 3.0.
> 
>                 On Mon, May 15, 2017 at 10:25 AM, Brian Bouterse <bbouters at redhat.com
>                 <mailto:bbouters at redhat.com>> wrote:
> 
>                     +1 to all of the core stuff. Thank you for writing it up.
> 
>                     For the pulp_rpm case +0 to what you had written. I had imagined it with a slightly
>                     different example, but I think in practice it's almost the same.
> 
>                     pip install pulp_rpm
>                     from pulp_rpm import anything
> 
>                     As an aside, I'm hoping that plugins only have to provide a server package and that by
>                     installing it on the server the CLI will know about the additional command set somehow. If
>                     so this would avoid plugin writers having to make additional pulp_rpm_common and
>                     pulp_rpm_cli pip packages. If we can't do that then I would think the pip and import for a
>                     plugin like RPM would be:
> 
>                     pip install pulp_rpm
>                     pip install pulp_rpm_common
>                     pip install pulp_rpm_cli
> 
>                     from pulp_rpm import anything
>                     from pulp_rpm import cli
>                     from pulp_rpm import common
> 
>                     Does ^ make sense? Is that similar or different to how others imagined it? It's slightly
>                     different than the example given by @mrhivnak, but in practice I don't think it is different.
> 
>                     On Fri, May 12, 2017 at 12:52 PM, Daniel Alley <dalley at redhat.com
>                     <mailto:dalley at redhat.com>> wrote:
> 
>                         +1
> 
>                         On Fri, May 12, 2017 at 12:13 PM, Jeff Ortel <jortel at redhat.com
>                         <mailto:jortel at redhat.com>> wrote:
> 
>                             +1, This sounds good to me.
> 
>                             On 05/11/2017 10:59 AM, Michael Hrivnak wrote:
>                             > We had a brainstorm session today to re-evaluate the previously-identified
>                             options, and try to come up with
>                             > some new ones. None of the previously-identified options had enough support to
>                             be chosen. See the thread "PyPI
>                             > names for Pulp3" for background.
>                             >
>                             > To re-cap, we are focused on two related questions:
>                             >
>                             > 1. What python namespace should Pulp use, since we cannot continue to use "pulp"?
>                             >
>                             > 2. What PyPI package names should we use?
>                             >
>                             > I pitched an idea for 1 that everyone on the call liked, which is "pulpcore". It
>                             could alternatively be
>                             > "pulp_core", although my pinky finger prefers the former. The group of roughly
>                             10 people who participated in
>                             > the discussion are recommending "pulpcore" for consideration as the python
>                             namespace to replace "pulp". Please
>                             > add your feedback to this thread.
>                             >
>                             > "core" is likable because it implies a plugin architecture. It's similar to the
>                             word "platform" that we've
>                             > used extensively, but shorter (which people liked), and perhaps slightly more
>                             descriptive (which people also
>                             > liked). Example:
>                             >
>                             > from pulpcore import streamer
>                             >
>                             > We discussed renaming what is currently "pulp.platform" to something more
>                             descriptive. "platform" is a word
>                             > that's been with us a long time, but it's worth re-considering, especially if we
>                             shift to a similar word such
>                             > as "core". "pulpcore.platform" seems awkward.
>                             >
>                             > A proposal is "pulpcore.apps", since that code is all directly related to the
>                             celery app and django app.
>                             >
>                             > Python namespaces would include:
>                             >
>                             > pulpcore.apps
>                             > pulpcore.cli
>                             > pulpcore.common
>                             > pulpcore.plugin
>                             > pulpcore.streamer
>                             >
>                             > For python package names, they would look something like this:
>                             >
>                             > pip install pulpcore
>                             > pip install pulpcore_cli
>                             > pip install pulpcore_streamer
>                             > pip install pulpcore_common
>                             >
>                             > Plugins would continue to use their existing namespace and package names, with
>                             whatever variations are
>                             > appropriate in Pulp 3. For example:
>                             >
>                             > import pulp_rpm.plugins
>                             > pip install pulp_rpm_plugins
>                             >
>                             > Thoughts? Those of you who were part of the discussion, please chime in with any
>                             additional points you'd like
>                             > to highlight.
>                             >
>                             > --
>                             >
>                             > Michael Hrivnak
>                             >
>                             > Principal Software Engineer, RHCE
>                             >
>                             > Red Hat
>                             >
>                             >
>                             >
>                             > _______________________________________________
>                             > Pulp-dev mailing list
>                             > Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>                             > https://www.redhat.com/mailman/listinfo/pulp-dev
>                             <https://www.redhat.com/mailman/listinfo/pulp-dev>
>                             >
> 
> 
>                             _______________________________________________
>                             Pulp-dev mailing list
>                             Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>                             https://www.redhat.com/mailman/listinfo/pulp-dev
>                             <https://www.redhat.com/mailman/listinfo/pulp-dev>
> 
> 
> 
>                         _______________________________________________
>                         Pulp-dev mailing list
>                         Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>                         https://www.redhat.com/mailman/listinfo/pulp-dev
>                         <https://www.redhat.com/mailman/listinfo/pulp-dev>
> 
> 
> 
>                     _______________________________________________
>                     Pulp-dev mailing list
>                     Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>                     https://www.redhat.com/mailman/listinfo/pulp-dev
>                     <https://www.redhat.com/mailman/listinfo/pulp-dev>
> 
> 
> 
> 
>                 -- 
> 
>                 Michael Hrivnak
> 
>                 Principal Software Engineer, RHCE 
> 
>                 Red Hat
> 
> 
> 
> 
> 
> 
>     -- 
> 
>     Michael Hrivnak
> 
>     Principal Software Engineer, RHCE 
> 
>     Red Hat
> 
> 
> 
> 
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 847 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20170517/dba82f73/attachment.sig>


More information about the Pulp-dev mailing list