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

[WIP] Removing pyutilib.enum #86

Closed whart222 closed 4 years ago

whart222 commented 4 years ago

Fixes: #64

Summary/Motivation:

Removes the pyutilib.enum package, which has a different license from PyUtilib itself.

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.
whart222 commented 4 years ago

This PR is simple, but it will impact Pyomo. I'm queueing up the PR, but I don't think we should merge it until Pyomo has been updated to not rely on pyutilib.enum

coveralls commented 4 years ago

Coverage Status

Coverage increased (+0.4%) to 61.538% when pulling d80230317c82e6f342c9f9b9bce8d1bd921db8d6 on whart222:removing_enum into f61be88a483cb0911a09696ef36c315c75584d3e on PyUtilib:master.

jsiirola commented 4 years ago

Can we pull in enum / enum34 as a deprecation layer? I know that there are dependent packages that use pyutilib's enum (notably, IDAES).

whart222 commented 4 years ago

The problem is that the packages are not equivalent. In particular, pyutilib.enum has an EnumValue type, which Pyomo uses to check whether it's using an enum type. I don't see an obvious way to recreate that semantics, but I'll explore whether a deprecation warning would work.

blnicho commented 4 years ago

Superseded by #101