Skip to content

Commit 06e672a

Browse files
committed
Merge branch 'master' into feature/small_improvements
2 parents c6744a8 + 5a9219d commit 06e672a

File tree

9 files changed

+112
-71
lines changed

9 files changed

+112
-71
lines changed

.coveragerc

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/workflows/main.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ jobs:
2727
- name: Install
2828
run: |
2929
python -m pip install --upgrade pip
30-
pip install .[${{ matrix.install_extras }}]
30+
python -m pip install hatch .[${{ matrix.install_extras }}]
3131
3232
- name: Test with pytest
3333
run: |
34-
pytest
34+
python -m hatch run tests:run
3535
3636
- name: Upload coverage to Codecov
3737
uses: codecov/codecov-action@v4
@@ -60,11 +60,11 @@ jobs:
6060
- name: Install dependencies
6161
run: |
6262
python -m pip install --upgrade pip
63-
pip install setuptools wheel twine
63+
python -m pip install hatch
6464
6565
- name: Build package
6666
run: |
67-
python setup.py sdist bdist_wheel
67+
python -m hatch build
6868
6969
- name: Publish package
7070
env:

.readthedocs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@ python:
2020
sphinx:
2121
builder: html
2222
configuration: doc/source/conf.py
23+
24+
formats:
25+
- pdf
26+
- epub

environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ channels:
44
- conda-forge
55

66
dependencies:
7-
- python >= 3.9
7+
- python >= 3.9, < 3.13
88
- qutip
99
- pandoc
1010
- pip

pycodestyle.cfg

Lines changed: 0 additions & 3 deletions
This file was deleted.

pyproject.toml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "filter_functions"
7+
description = "Package for efficient calculation of generalized filter functions"
8+
readme = "README.md"
9+
requires_python = ">= 3.9"
10+
license = {file = "LICENSE"}
11+
dynamic = ["version"]
12+
authors = [
13+
{name = "Tobias Hangleiter", email = "tobias.hangleiter@rwth-aachen.de"},
14+
{name = "Quantum Technology Group, RWTH Aachen University"},
15+
]
16+
classifiers = [
17+
"Programming Language :: Python :: 3 :: Only",
18+
"Programming Language :: Python :: 3.9",
19+
"Programming Language :: Python :: 3.10",
20+
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
23+
"Operating System :: OS Independent",
24+
"Topic :: Scientific/Engineering :: Physics",
25+
]
26+
keywords = ["physics", "numerics", "quantum information", "quantum computing", "noise"]
27+
dependencies = [
28+
"numpy",
29+
"scipy",
30+
"opt_einsum",
31+
"sparse",
32+
"tqdm",
33+
]
34+
35+
[project.optional-dependencies]
36+
plotting = ["matplotlib"]
37+
bloch_sphere_visualization = [
38+
"filter_functions[plotting]",
39+
"qutip",
40+
]
41+
doc = [
42+
"jupyter",
43+
"nbsphinx",
44+
"numpydoc",
45+
"sphinx",
46+
"sphinx_rtd_theme",
47+
"sphinxcontrib-apidoc",
48+
"ipympl",
49+
"qutip-qip",
50+
"qutip-qtrl",
51+
"numpy<2"
52+
]
53+
tests = [
54+
"pytest >= 4.6",
55+
"pytest-cov",
56+
"codecov"
57+
]
58+
all = [
59+
"filter_functions[plotting]",
60+
"filter_functions[bloch_sphere_visualization]",
61+
"filter_functions[doc]",
62+
"filter_functions[tests]",
63+
]
64+
65+
[project.urls]
66+
Source = "https://github.com/qutech/filter_functions"
67+
Documentation = "https://filter-functions.readthedocs.io/en/latest/"
68+
Homepage = "https://www.quantuminfo.physik.rwth-aachen.de/cms/Quantuminfo/Forschung/Quantum-Technology-Group/~zcsx/code/lidx/1/"
69+
70+
[tool.hatch.version]
71+
path = "filter_functions/__init__.py"
72+
73+
[tool.hatch.envs.tests]
74+
features = ["tests"]
75+
[tool.hatch.envs.tests.scripts]
76+
run = ["python -m pytest"]
77+
78+
[tool.hatch.envs.doc]
79+
features = [
80+
"doc",
81+
]
82+
[tool.hatch.envs.doc.scripts]
83+
build = [
84+
"sphinx-build -b html doc/source public"
85+
]
86+
87+
[tool.pytest.ini_options]
88+
minversion = "4.6"
89+
addopts = "-ra --verbose --cov=filter_functions --cov-report=xml"
90+
testpaths = [
91+
"tests"
92+
]
93+
94+
[tool.coverage.run]
95+
branch = true
96+
omit = ["tests/*", "*/__init__.py"]
97+
98+
[tool.pylint.'MESSAGES CONTROL']
99+
disable = "E123,E226,W504"
100+
101+
[tool.pylint.FORMAT]
102+
# Maximum number of characters on a single line.
103+
max-line-length = 99

pytest.ini

Lines changed: 0 additions & 7 deletions
This file was deleted.

setup.cfg

Lines changed: 0 additions & 3 deletions
This file was deleted.

setup.py

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)