66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
import pathlib
|
|
import re
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
HERE = pathlib.Path(__file__).parent.absolute()
|
|
PACKAGE = "qibotn"
|
|
|
|
|
|
# Returns the qibotn version
|
|
def version():
|
|
"""Gets the version from the package's __init__ file
|
|
if there is some problem, let it happily fail"""
|
|
version_file = HERE / "src" / PACKAGE / "__init__.py"
|
|
version_regex = r"^__version__ = ['\"]([^'\"]*)['\"]"
|
|
|
|
initfile = version_file.read_text(encoding="utf-8")
|
|
matched = re.search(version_regex, initfile, re.M)
|
|
|
|
if matched is not None:
|
|
return matched.group(1)
|
|
return "0.0.0"
|
|
|
|
|
|
# load long description from README
|
|
setup(
|
|
name="qibotn",
|
|
version=version(),
|
|
description="A tensor-network translation module for quantum computing",
|
|
author="The Qibo team",
|
|
author_email="",
|
|
url="https://github.com/qiboteam/qibotn",
|
|
packages=find_packages("src"),
|
|
package_dir={"": "src"},
|
|
package_data={"": ["*.out", "*.yml"]},
|
|
include_package_data=True,
|
|
zip_safe=False,
|
|
classifiers=[
|
|
"Programming Language :: Python :: 3",
|
|
"Topic :: Scientific/Engineering :: Physics",
|
|
],
|
|
install_requires=[
|
|
"qibo>=0.1.10",
|
|
"qibojit>=0.0.7",
|
|
"quimb[tensor]>=1.6.0",
|
|
],
|
|
extras_require={
|
|
"docs": [],
|
|
"tests": [
|
|
"pytest>=7.2.0",
|
|
"pytest-cov>=4.0.0",
|
|
"pytest-env>=0.8.1",
|
|
],
|
|
"analysis": [
|
|
"pylint>=2.16.0",
|
|
],
|
|
"cuda": [
|
|
"cupy>=11.6.0",
|
|
"cuquantum-python-cu11>=23.3.0",
|
|
],
|
|
},
|
|
python_requires=">=3.8.0",
|
|
long_description=(HERE / "README.md").read_text(encoding="utf-8"),
|
|
long_description_content_type="text/markdown",
|
|
)
|