setup.py 1.48 KB
Newer Older
1
2
3
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
Tim Dettmers's avatar
Tim Dettmers committed
4
# LICENSE file in the root directory of this source tree.
Tim Dettmers's avatar
Tim Dettmers committed
5
import glob
6
import os
Tim Dettmers's avatar
Tim Dettmers committed
7

8
9
from setuptools import find_packages, setup
from setuptools.dist import Distribution
10

11
libs = list(glob.glob("./bitsandbytes/libbitsandbytes*.*"))
Tim Dettmers's avatar
Tim Dettmers committed
12
libs = [os.path.basename(p) for p in libs]
13
14
print("libs:", libs)

15

Tim Dettmers's avatar
Tim Dettmers committed
16
def read(fname):
Matthew Douglas's avatar
Matthew Douglas committed
17
    return open(os.path.join(os.path.dirname(__file__), fname), encoding="utf8").read()
Tim Dettmers's avatar
Tim Dettmers committed
18

19

20
21
22
23
24
25
# Tested with wheel v0.29.0
class BinaryDistribution(Distribution):
    def has_ext_modules(self):
        return True


Tim Dettmers's avatar
Tim Dettmers committed
26
setup(
Aarni Koskela's avatar
Aarni Koskela committed
27
    name="bitsandbytes",
Matthew Douglas's avatar
Matthew Douglas committed
28
    version="0.45.1.dev0",
Max Ryabinin's avatar
Max Ryabinin committed
29
30
    author="Tim Dettmers",
    author_email="dettmers@cs.washington.edu",
Tim Dettmers's avatar
Tim Dettmers committed
31
    description="k-bit optimizers and matrix multiplication routines.",
Max Ryabinin's avatar
Max Ryabinin committed
32
33
    license="MIT",
    keywords="gpu optimizers optimization 8-bit quantization compression",
34
    url="https://github.com/bitsandbytes-foundation/bitsandbytes",
Tim Dettmers's avatar
Tim Dettmers committed
35
    packages=find_packages(),
36
    package_data={"": libs},
37
    install_requires=["torch", "numpy", "typing_extensions>=4.8.0"],
38
    extras_require={
39
        "benchmark": ["pandas", "matplotlib"],
40
        "test": ["scipy", "lion_pytorch"],
41
    },
42
43
    long_description=read("README.md"),
    long_description_content_type="text/markdown",
Tim Dettmers's avatar
Tim Dettmers committed
44
    classifiers=[
45
        "Development Status :: 4 - Beta",
46
        "Topic :: Scientific/Engineering :: Artificial Intelligence",
Tim Dettmers's avatar
Tim Dettmers committed
47
    ],
48
    distclass=BinaryDistribution,
Tim Dettmers's avatar
Tim Dettmers committed
49
)