PyUtilib / pyutilib

A collection of general Python utilities, including logging and file IO, subprocess management, plugin systems, and workflow management.
BSD 3-Clause "New" or "Revised" License
34 stars 20 forks source link

Remove use of namespace packages in PyUtilib #85

Closed jsiirola closed 4 years ago

jsiirola commented 4 years ago

Fixes: #N/A

Summary/Motivation:

Removes the use of namespace packages from pyutilib. After we consolidated the bulk of PyUtilib into a single repository, there aren't (maintained) pyutilib capabilities outside of this repository. Removing the namespace packaging simplifies several things (including plugin imports)

Changes proposed in this PR:

Legal Acknowledgement

By contributing to this software project, I agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.
coveralls commented 4 years ago

Coverage Status

Coverage decreased (-0.06%) to 61.062% when pulling 37a8c891c603fcc821ae74060f6c55ba58194e39 on jsiirola:remove-namespace-packages into f61be88a483cb0911a09696ef36c315c75584d3e on PyUtilib:master.

jsiirola commented 4 years ago

@whart222: please take a look at this and see if you agree. This is a rework of #82 to only include the part related to the removal of the namespace packages.

whart222 commented 4 years ago

@jsiirola I think this looks OK. This also includes deferral of some logic w.r.t. egg plugins for pyutilib.component. I think you should add documentation about that change to the PR, but I don't think we need to separate that into a separate PR.

FYI, I looked at the other pyutilib.* packages hosted on PyPI, and I checked if they are actively being used within GitHub projects. I couldn't find any, and hence I think there's minimal risk that this change will be disruptive for PyUtilib users who may be pulling-in multiple PyUtilib packages and relying on this namespacing feature. Further, those packages are quite old, so I would encourage users to discontinue their use in any case.

jsiirola commented 4 years ago

I added some (minimal) documentation for the deferred import of pkg_resources in the Egg loader.