https://github.com/ProjectQ-Framework/ProjectQ
Tip revision: f26198ad231a8e111f953b15b8133c88cac1135d authored by Nguyen Damien on 02 April 2024, 20:28:54 UTC
Merge pull request #469 from ProjectQ-Framework/pre-commit-ci-update-config
Merge pull request #469 from ProjectQ-Framework/pre-commit-ci-update-config
Tip revision: f26198a
pyproject.toml
[build-system]
requires = [
'setuptools>=61;python_version>="3.7"',
'setuptools>=59;python_version<"3.7"',
'wheel',
'pybind11>=2',
'setuptools_scm[toml]>6;python_version>="3.7"'
]
build-backend = "setuptools.build_meta"
[project]
name = 'projectq'
authors = [
{name = 'ProjectQ', email = 'info@projectq.ch'}
]
description = 'ProjectQ - An open source software framework for quantum computing'
requires-python = '>= 3.7'
license = {text= 'Apache License Version 2.0'}
readme = 'README.rst'
classifiers = [
'License :: OSI Approved :: Apache Software License',
'Topic :: Software Development :: Libraries :: Python Modules',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10'
]
dynamic = ["version"]
dependencies = [
'matplotlib >= 2.2.3',
'networkx >= 2',
'numpy',
'requests',
'scipy'
]
[project.urls]
'Homepage' = 'http://www.projectq.ch'
'Documentation' = 'https://projectq.readthedocs.io/en/latest/'
'Issue Tracker' = 'https://github.com/ProjectQ-Framework/ProjectQ/'
[project.optional-dependencies]
azure-quantum = [
'azure-quantum'
]
braket = [
'boto3'
]
revkit = [
'revkit == 3.0a2.dev2',
'dormouse'
]
test = [
'flaky',
'mock',
'pytest >= 6.0',
'pytest-cov',
'pytest-mock'
]
docs = [
'sphinx',
'sphinx_rtd_theme'
]
# ==============================================================================
[tool.black]
line-length = 120
target-version = ['py37','py38','py39','py310']
skip-string-normalization = true
[tool.check-manifest]
ignore = [
'PKG-INFO',
'*.egg-info',
'*.egg-info/*',
'setup.cfg',
'.hgtags',
'.hgsigs',
'.hgignore',
'.gitignore',
'.bzrignore',
'.gitattributes',
'.github/*',
'.travis.yml',
'Jenkinsfile',
'*.mo',
'.clang-format',
'.gitmodules',
'requirements.txt',
'requirements_tests.txt',
'VERSION.txt',
'.editorconfig',
'*.yml',
'*.yaml',
'docs/*',
'docs/images/*',
'examples/*',
]
[tool.coverage]
[tool.coverage.run]
omit = [
'*_test.py',
'*_fixtures.py'
]
[tool.pylint]
[tool.pylint.master]
ignore-patterns = [
'__init__.py',
'.*_test.py',
'.*_fixtures.py',
'.*flycheck.*.py',
]
extension-pkg-whitelist = [
'math',
'cmath',
'unicodedata',
'revkit'
]
extension-pkg-allow-list = [
'math',
'cmath',
'unicodedata',
'revkit'
]
[tool.pylint.basic]
good-names = ['qb', 'id', 'i', 'j', 'k', 'N', 'op', 'X', 'Y', 'Z', 'R', 'C', 'CRz', 'Zero', 'One']
[tool.pylint.format]
max-line-length = 120
[tool.pylint.reports]
msg-template = '{path}:{line}: [{msg_id}, {obj}] {msg} ({symbol})'
[tool.pylint.similarities]
min-similarity-lines = 20
[tool.pylint.messages_control]
disable = [
'expression-not-assigned',
'pointless-statement',
'fixme',
'unspecified-encoding',
'R0801',
]
[tool.pylint.typecheck]
ignored-modules = ['boto3', 'botocore', 'sympy']
[tool.pytest.ini_options]
minversion = '6.0'
addopts = '-pno:warnings'
testpaths = ['projectq']
ignore-glob = ['*flycheck*.py']
mock_use_standalone_module = true
[tool.doc8]
verbose = 0
max_line_length = 120
[tool.isort]
profile = "black"
[tool.setuptools_scm]
write_to = 'VERSION.txt'
write_to_template = '{version}'
local_scheme = 'no-local-version'
[tool.cibuildwheel]
archs = ['auto64']
build-frontend = 'build'
build-verbosity = 1
skip = 'pp* *-musllinux*'
environment = { PROJECTQ_DISABLE_ARCH_NATIVE='1', PROJECTQ_CI_BUILD='1', OMP_NUM_THREADS='1' }
before-test = [
'cd {package}',
'python setup.py gen_reqfile',
'python -m pip install -r requirements.txt --only-binary :all:',
]
test-command = 'python {package}/examples/grover.py'
# Normal options, etc.
manylinux-x86_64-image = 'manylinux2014'
[[tool.cibuildwheel.overrides]]
select = 'cp36-*'
manylinux-x86_64-image = 'manylinux1'
[[tool.cibuildwheel.overrides]]
select = 'cp3{7,8,9}-*'
manylinux-x86_64-image = 'manylinux2010'