44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from setuptools import setup
|
|
from setuptools.command.egg_info import egg_info
|
|
|
|
# To use a consistent encoding
|
|
from codecs import open
|
|
|
|
|
|
class egg_info_ex(egg_info):
|
|
"""Includes license file into `.egg-info` folder."""
|
|
|
|
def run(self):
|
|
# don't duplicate license into `.egg-info` when building a distribution
|
|
if not self.distribution.have_run.get("install", True):
|
|
# `install` command is in progress, copy license
|
|
self.mkpath(self.egg_info)
|
|
self.copy_file("LICENSE", self.egg_info)
|
|
|
|
egg_info.run(self)
|
|
|
|
|
|
# Get version number and store it in __version__
|
|
exec(open("cleanlab/version.py").read())
|
|
|
|
DATALAB_REQUIRE = [
|
|
# Mainly for Datalab's data storage class.
|
|
# Still some type hints that require datasets
|
|
"datasets>=2.7.0",
|
|
]
|
|
|
|
IMAGE_REQUIRE = DATALAB_REQUIRE + ["cleanvision>=0.3.6"]
|
|
|
|
EXTRAS_REQUIRE = {
|
|
"datalab": DATALAB_REQUIRE,
|
|
"image": IMAGE_REQUIRE,
|
|
"all": ["matplotlib>=3.5.1"],
|
|
}
|
|
EXTRAS_REQUIRE["all"] = list(set(sum(EXTRAS_REQUIRE.values(), [])))
|
|
|
|
setup(
|
|
version=__version__,
|
|
cmdclass={"egg_info": egg_info_ex},
|
|
extras_require=EXTRAS_REQUIRE,
|
|
)
|