phasorpy 0.1.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. phasorpy-0.1.dev0/.codecov.yml +11 -0
  2. phasorpy-0.1.dev0/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  3. phasorpy-0.1.dev0/.github/dependabot.yml +11 -0
  4. phasorpy-0.1.dev0/.github/pull_request_template.md +24 -0
  5. phasorpy-0.1.dev0/.github/workflows/build_wheels.yml +37 -0
  6. phasorpy-0.1.dev0/.github/workflows/coverage.yml +40 -0
  7. phasorpy-0.1.dev0/.github/workflows/deploy-docs.yml +54 -0
  8. phasorpy-0.1.dev0/.github/workflows/release-pypi.yml +75 -0
  9. phasorpy-0.1.dev0/.github/workflows/run-tests.yml +134 -0
  10. phasorpy-0.1.dev0/.gitignore +203 -0
  11. phasorpy-0.1.dev0/.pre-commit-config.yaml +103 -0
  12. phasorpy-0.1.dev0/CHANGELOG.md +1 -0
  13. phasorpy-0.1.dev0/CODE_OF_CONDUCT.md +1 -0
  14. phasorpy-0.1.dev0/CONTRIBUTING.md +1 -0
  15. phasorpy-0.1.dev0/LICENSE.txt +21 -0
  16. phasorpy-0.1.dev0/MANIFEST.in +18 -0
  17. phasorpy-0.1.dev0/PKG-INFO +78 -0
  18. phasorpy-0.1.dev0/README.md +23 -0
  19. phasorpy-0.1.dev0/docs/Makefile +20 -0
  20. phasorpy-0.1.dev0/docs/_static/categorical.png +0 -0
  21. phasorpy-0.1.dev0/docs/_static/logo.png +0 -0
  22. phasorpy-0.1.dev0/docs/_static/srgb_spectrum.png +0 -0
  23. phasorpy-0.1.dev0/docs/acknowledgments.rst +32 -0
  24. phasorpy-0.1.dev0/docs/api/_phasorpy.rst +12 -0
  25. phasorpy-0.1.dev0/docs/api/_utils.rst +9 -0
  26. phasorpy-0.1.dev0/docs/api/cli.rst +6 -0
  27. phasorpy-0.1.dev0/docs/api/color.rst +20 -0
  28. phasorpy-0.1.dev0/docs/api/components.rst +5 -0
  29. phasorpy-0.1.dev0/docs/api/cursors.rst +5 -0
  30. phasorpy-0.1.dev0/docs/api/datasets.rst +9 -0
  31. phasorpy-0.1.dev0/docs/api/index.rst +26 -0
  32. phasorpy-0.1.dev0/docs/api/io.rst +5 -0
  33. phasorpy-0.1.dev0/docs/api/phasor.rst +5 -0
  34. phasorpy-0.1.dev0/docs/api/phasorpy.rst +6 -0
  35. phasorpy-0.1.dev0/docs/api/plot.rst +5 -0
  36. phasorpy-0.1.dev0/docs/api/utils.rst +5 -0
  37. phasorpy-0.1.dev0/docs/code_of_conduct.rst +143 -0
  38. phasorpy-0.1.dev0/docs/conf.py +121 -0
  39. phasorpy-0.1.dev0/docs/contributing.rst +292 -0
  40. phasorpy-0.1.dev0/docs/index.rst +77 -0
  41. phasorpy-0.1.dev0/docs/license.rst +22 -0
  42. phasorpy-0.1.dev0/docs/make.bat +39 -0
  43. phasorpy-0.1.dev0/docs/phasor_approach.rst +287 -0
  44. phasorpy-0.1.dev0/docs/release.rst +11 -0
  45. phasorpy-0.1.dev0/docs/sg_execution_times.rst +67 -0
  46. phasorpy-0.1.dev0/pyproject.toml +191 -0
  47. phasorpy-0.1.dev0/requirements_dev.txt +63 -0
  48. phasorpy-0.1.dev0/requirements_min.txt +13 -0
  49. phasorpy-0.1.dev0/setup.cfg +4 -0
  50. phasorpy-0.1.dev0/setup.py +53 -0
  51. phasorpy-0.1.dev0/src/phasorpy/__init__.py +10 -0
  52. phasorpy-0.1.dev0/src/phasorpy/__main__.py +7 -0
  53. phasorpy-0.1.dev0/src/phasorpy/_phasorpy.pyx +1811 -0
  54. phasorpy-0.1.dev0/src/phasorpy/_typing.py +77 -0
  55. phasorpy-0.1.dev0/src/phasorpy/_utils.py +441 -0
  56. phasorpy-0.1.dev0/src/phasorpy/cli.py +87 -0
  57. phasorpy-0.1.dev0/src/phasorpy/color.py +581 -0
  58. phasorpy-0.1.dev0/src/phasorpy/components.py +313 -0
  59. phasorpy-0.1.dev0/src/phasorpy/conftest.py +36 -0
  60. phasorpy-0.1.dev0/src/phasorpy/cursors.py +502 -0
  61. phasorpy-0.1.dev0/src/phasorpy/datasets.py +433 -0
  62. phasorpy-0.1.dev0/src/phasorpy/io.py +1671 -0
  63. phasorpy-0.1.dev0/src/phasorpy/phasor.py +3135 -0
  64. phasorpy-0.1.dev0/src/phasorpy/plot.py +2074 -0
  65. phasorpy-0.1.dev0/src/phasorpy/py.typed +0 -0
  66. phasorpy-0.1.dev0/src/phasorpy/utils.py +68 -0
  67. phasorpy-0.1.dev0/src/phasorpy/version.py +71 -0
  68. phasorpy-0.1.dev0/src/phasorpy.egg-info/PKG-INFO +78 -0
  69. phasorpy-0.1.dev0/src/phasorpy.egg-info/SOURCES.txt +104 -0
  70. phasorpy-0.1.dev0/src/phasorpy.egg-info/dependency_links.txt +1 -0
  71. phasorpy-0.1.dev0/src/phasorpy.egg-info/entry_points.txt +2 -0
  72. phasorpy-0.1.dev0/src/phasorpy.egg-info/not-zip-safe +1 -0
  73. phasorpy-0.1.dev0/src/phasorpy.egg-info/requires.txt +29 -0
  74. phasorpy-0.1.dev0/src/phasorpy.egg-info/top_level.txt +1 -0
  75. phasorpy-0.1.dev0/tests/conftest.py +24 -0
  76. phasorpy-0.1.dev0/tests/test__phasorpy.py +423 -0
  77. phasorpy-0.1.dev0/tests/test__typing.py +10 -0
  78. phasorpy-0.1.dev0/tests/test__utils.py +239 -0
  79. phasorpy-0.1.dev0/tests/test_cli.py +41 -0
  80. phasorpy-0.1.dev0/tests/test_color.py +39 -0
  81. phasorpy-0.1.dev0/tests/test_components.py +261 -0
  82. phasorpy-0.1.dev0/tests/test_cursors.py +478 -0
  83. phasorpy-0.1.dev0/tests/test_datasets.py +84 -0
  84. phasorpy-0.1.dev0/tests/test_io.py +762 -0
  85. phasorpy-0.1.dev0/tests/test_nan.py +376 -0
  86. phasorpy-0.1.dev0/tests/test_phasor.py +2408 -0
  87. phasorpy-0.1.dev0/tests/test_phasorpy.py +18 -0
  88. phasorpy-0.1.dev0/tests/test_plot.py +527 -0
  89. phasorpy-0.1.dev0/tests/test_utils.py +29 -0
  90. phasorpy-0.1.dev0/tutorials/README.rst +9 -0
  91. phasorpy-0.1.dev0/tutorials/api/README.rst +4 -0
  92. phasorpy-0.1.dev0/tutorials/api/phasorpy_components.py +261 -0
  93. phasorpy-0.1.dev0/tutorials/api/phasorpy_cursors.py +172 -0
  94. phasorpy-0.1.dev0/tutorials/api/phasorpy_fret.py +234 -0
  95. phasorpy-0.1.dev0/tutorials/api/phasorpy_lifetime_to_signal.py +195 -0
  96. phasorpy-0.1.dev0/tutorials/api/phasorpy_pca.py +150 -0
  97. phasorpy-0.1.dev0/tutorials/api/phasorpy_phasor_from_lifetime.py +202 -0
  98. phasorpy-0.1.dev0/tutorials/api/phasorpy_phasorplot.py +226 -0
  99. phasorpy-0.1.dev0/tutorials/applications/README.rst +4 -0
  100. phasorpy-0.1.dev0/tutorials/benchmarks/README.rst +4 -0
  101. phasorpy-0.1.dev0/tutorials/benchmarks/phasorpy_phasor_from_signal.py +161 -0
  102. phasorpy-0.1.dev0/tutorials/misc/README.rst +2 -0
  103. phasorpy-0.1.dev0/tutorials/misc/phasorpy_logo.py +23 -0
  104. phasorpy-0.1.dev0/tutorials/phasorpy_introduction.py +429 -0
  105. phasorpy-0.1.dev0/tutorials/phasorpy_lfd_workshop.py +576 -0
@@ -0,0 +1,11 @@
1
+ codecov:
2
+ notify:
3
+ require_ci_to_pass: false
4
+ after_n_builds: 1
5
+ coverage:
6
+ status:
7
+ project:
8
+ default:
9
+ threshold: 0.1%
10
+ informational: true
11
+ comment: off
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help improve PhasorPy
4
+ title: ""
5
+ labels: ""
6
+ assignees: ""
7
+ ---
8
+
9
+ **Describe the bug**
10
+
11
+ A clear and concise description of what the bug is and what was expected to happen.
12
+
13
+ **To Reproduce**
14
+
15
+ A minimal, self-contained Python code reproducing the problem. Format the code using markdown, for example:
16
+
17
+ ```Python
18
+ import phasorpy
19
+ phasorpy.do_something('my.file')
20
+ ```
21
+
22
+ A Python traceback if available, for example:
23
+
24
+ ```Python traceback
25
+ Traceback (most recent call last):
26
+ File "<stdin>", line 1, in <module>
27
+ AttributeError: module 'phasorpy' has no attribute 'do_something'
28
+ ```
29
+
30
+ Any data files necessary to run the code can be attached to the issue or shared via cloud storage, preferably on [Zenodo.org](https://zenodo.org/communities/phasorpy/).
31
+
32
+ Information how PhasorPy was installed (pip, conda, or other) and the console output of:
33
+
34
+ ```
35
+ $ python -m phasorpy versions
36
+ ```
@@ -0,0 +1,11 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "monthly"
8
+ groups:
9
+ github-actions:
10
+ patterns:
11
+ - "*"
@@ -0,0 +1,24 @@
1
+ ## Description
2
+
3
+ ...
4
+
5
+ ## Release note
6
+
7
+ Summarize the changes in the code block below to be included in the
8
+ [release notes](https://www.phasorpy.org/docs/stable/release.html):
9
+
10
+ ```release-note
11
+ ...
12
+ ```
13
+
14
+ ## Checklist
15
+
16
+ - [ ] The pull request title, summary, and description are concise.
17
+ - [ ] Related issues are linked in the description.
18
+ - [ ] New dependencies are explained.
19
+ - [ ] The source code and documentation can be distributed under the [MIT license](https://www.phasorpy.org/docs/stable/license.html).
20
+ - [ ] The source code adheres to [code standards](https://www.phasorpy.org/docs/stable/contributing.html#code-standards).
21
+ - [ ] New classes, functions, and features are thoroughly [tested](https://www.phasorpy.org/docs/stable/contributing.html#tests).
22
+ - [ ] New, user-facing classes, functions, and features are [documented](https://www.phasorpy.org/docs/stable/contributing.html#documentation).
23
+ - [ ] New features are covered in tutorials.
24
+ - [ ] No files other than source code, documentation, and project settings are added to the repository.
@@ -0,0 +1,37 @@
1
+ name: Build wheels
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "*"
7
+ branches:
8
+ - main
9
+ # pull_request:
10
+ # branches:
11
+ # - main
12
+ workflow_dispatch:
13
+
14
+ env:
15
+ CIBW_TEST_SKIP: "cp313*"
16
+ MPLBACKEND: agg
17
+
18
+ jobs:
19
+ build:
20
+ name: Build wheels on ${{ matrix.os }}
21
+ runs-on: ${{ matrix.os }}
22
+ strategy:
23
+ matrix:
24
+ os: [ubuntu-22.04, macos-12, windows-2019]
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: pypa/cibuildwheel@v2.20.0
28
+ env:
29
+ # CIBW_ENVIRONMENT: "PIP_PRE=1"
30
+ CIBW_BUILD_VERBOSITY: 2
31
+ CIBW_ARCHS_LINUX: auto
32
+ CIBW_ARCHS_MACOS: x86_64 arm64
33
+ CIBW_ARCHS_WINDOWS: AMD64 ARM64
34
+ - uses: actions/upload-artifact@v4
35
+ with:
36
+ path: ./wheelhouse/*.whl
37
+ name: wheels-${{ matrix.os }}
@@ -0,0 +1,40 @@
1
+ name: Code coverage
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ code_coverage:
14
+ name: Code coverage
15
+ runs-on: "ubuntu-latest"
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.12"]
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - name: Set up Python ${{ matrix.python-version }}
23
+ uses: actions/setup-python@v5
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+ - name: Editable install
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ python -m pip install --editable .
30
+ python -m pip install -r requirements_dev.txt
31
+ - name: Generate coverage report
32
+ run: |
33
+ pytest --cov=phasorpy --cov-report=xml tests
34
+ - name: Upload coverage to Codecov
35
+ uses: codecov/codecov-action@v4
36
+ with:
37
+ env_vars: OS,PYTHON
38
+ fail_ci_if_error: false
39
+ token: ${{ secrets.PHASORPY_CODECOV_TOKEN }}
40
+ verbose: true
@@ -0,0 +1,54 @@
1
+ name: Deploy documentation
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "*"
7
+ branches:
8
+ - main
9
+ pull_request:
10
+ branches:
11
+ - main
12
+ workflow_dispatch:
13
+
14
+ env:
15
+ MPLBACKEND: agg
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ python-version: ["3.12"]
24
+
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - name: Set up Python ${{ matrix.python-version }}
28
+ uses: actions/setup-python@v5
29
+ with:
30
+ python-version: ${{ matrix.python-version }}
31
+ - name: Install package and dependencies
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ python -m pip install -r requirements_dev.txt
35
+ python -m pip install --no-build-isolation --no-deps --verbose --editable .
36
+ - name: Build docs
37
+ run: |
38
+ cd docs
39
+ make dirhtml
40
+ - name: Upload artifacts
41
+ uses: actions/upload-artifact@v4
42
+ with:
43
+ name: docs
44
+ path: docs/_build/dirhtml
45
+ - name: Deploy docs
46
+ if: github.event_name == 'push'
47
+ uses: peaceiris/actions-gh-pages@v4
48
+ with:
49
+ personal_token: ${{ secrets.PHASORPY_DOC_DEPLOY_KEY }}
50
+ external_repository: phasorpy/phasorpy.github.io
51
+ publish_dir: docs/_build/dirhtml
52
+ publish_branch: main
53
+ destination_dir: docs/${{github.ref_name}}
54
+ # cname: phasorpy.org
@@ -0,0 +1,75 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "*"
7
+ branches:
8
+ - main
9
+ pull_request:
10
+ branches:
11
+ - main
12
+ workflow_dispatch:
13
+
14
+ jobs:
15
+ build_artifacts:
16
+ name: Build sdist and wheel
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ fail-fast: false
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ with:
24
+ submodules: true
25
+ fetch-depth: 0
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+ - name: Install PyBuild
30
+ run: |
31
+ python -m pip install build
32
+ - name: Build wheel and sdist
33
+ run: |
34
+ python -m build .
35
+ - uses: actions/upload-artifact@v4
36
+ with:
37
+ name: releases
38
+ path: dist
39
+
40
+ test_artifacts:
41
+ name: Test sdist and wheel
42
+ needs: [build_artifacts]
43
+ runs-on: ubuntu-latest
44
+ steps:
45
+ - uses: actions/download-artifact@v4
46
+ with:
47
+ name: releases
48
+ path: dist
49
+ - uses: actions/setup-python@v5
50
+ with:
51
+ python-version: "3.12"
52
+ - run: |
53
+ ls
54
+ ls dist
55
+ python -m pip install -U twine
56
+ python -m twine check dist/*
57
+ python -m pip install --upgrade --no-cache-dir --no-deps --pre --no-index --find-links=dist phasorpy
58
+ python -c"from phasorpy import __version__;print(__version__)"
59
+
60
+ upload_artifacts:
61
+ name: Upload release to PyPI
62
+ needs: [build_artifacts]
63
+ runs-on: ubuntu-latest
64
+ environment:
65
+ name: pypi
66
+ url: https://pypi.org/p/phasorpy
67
+ permissions:
68
+ id-token: write
69
+ if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
70
+ steps:
71
+ - uses: actions/download-artifact@v4
72
+ with:
73
+ name: releases
74
+ path: dist
75
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,134 @@
1
+ name: Run tests
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ concurrency:
13
+ group: ${{ github.workflow }}-${{ github.ref }}
14
+ cancel-in-progress: true
15
+
16
+ env:
17
+ MPLBACKEND: agg
18
+
19
+ jobs:
20
+ test:
21
+ name: Test library and docs
22
+ runs-on: ${{ matrix.os }}
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ os: ["ubuntu-20.04"]
27
+ python-version: ["3.10", "3.12"]
28
+ # 3.11 tested with cibuildwheel
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - name: Set up Python ${{ matrix.python-version }}
32
+ uses: actions/setup-python@v5
33
+ with:
34
+ python-version: ${{ matrix.python-version }}
35
+ - name: Editable install
36
+ run: |
37
+ python -m pip install --upgrade pip
38
+ python -m pip install --editable .
39
+ python -m pip install -r requirements_dev.txt
40
+ python -m pip install -r requirements_min.txt
41
+ - name: Print dependency versions
42
+ run: |
43
+ phasorpy versions
44
+ - name: Test with pytest
45
+ run: |
46
+ python -X dev -m pytest
47
+ - name: Build docs
48
+ run: |
49
+ cd docs
50
+ make dirhtml
51
+
52
+ test_win_mac:
53
+ name: Test Windows and macOS
54
+ runs-on: ${{ matrix.os }}
55
+ strategy:
56
+ fail-fast: false
57
+ matrix:
58
+ os: ["windows-2019", "macos-12"]
59
+ python-version: ["3.10"]
60
+ # 3.12 tested with cibuildwheel
61
+ steps:
62
+ - uses: actions/checkout@v4
63
+ - name: Set up Python ${{ matrix.python-version }}
64
+ uses: actions/setup-python@v5
65
+ with:
66
+ python-version: ${{ matrix.python-version }}
67
+ - name: Editable install
68
+ run: |
69
+ python -m pip install --upgrade pip
70
+ python -m pip install --editable .
71
+ python -m pip install -r requirements_dev.txt
72
+ python -m pip install -r requirements_min.txt
73
+ - name: Test with pytest
74
+ run: |
75
+ python -X dev -m pytest
76
+ - name: Build docs
77
+ run: |
78
+ cd docs
79
+ make dirhtml
80
+
81
+ build_wheels:
82
+ name: Test cibuildwheel
83
+ runs-on: ${{ matrix.os }}
84
+ strategy:
85
+ fail-fast: false
86
+ matrix:
87
+ os: ["ubuntu-22.04", "windows-2019", "macos-12"]
88
+ steps:
89
+ - uses: actions/checkout@v4
90
+ - uses: pypa/cibuildwheel@v2.20.0
91
+ env:
92
+ # CIBW_ENVIRONMENT: "PIP_PRE=1"
93
+ CIBW_BUILD_VERBOSITY: 3
94
+ CIBW_BUILD: "cp311-manylinux_x86_64 cp312-win_amd64 cp312-macosx_x86_64"
95
+ CIBW_SKIP:
96
+ - uses: actions/upload-artifact@v4
97
+ with:
98
+ path: ./wheelhouse/*.whl
99
+ name: wheels-${{ matrix.os }}
100
+
101
+ static_analysis:
102
+ name: Static code analysis
103
+ runs-on: "ubuntu-latest"
104
+ strategy:
105
+ fail-fast: false
106
+ matrix:
107
+ python-version: ["3.12"]
108
+ steps:
109
+ - uses: actions/checkout@v4
110
+ - name: Set up Python ${{ matrix.python-version }}
111
+ uses: actions/setup-python@v5
112
+ with:
113
+ python-version: ${{ matrix.python-version }}
114
+ - name: Editable install
115
+ run: |
116
+ python -m pip install --upgrade pip
117
+ python -m pip install --editable .
118
+ python -m pip install -r requirements_dev.txt
119
+ python -m pip install -r requirements_min.txt
120
+ - name: Test with black
121
+ run: |
122
+ python -m black --check src/phasorpy tutorials docs
123
+ - name: Test with blackdoc
124
+ run: |
125
+ python -m blackdoc --check src/phasorpy
126
+ - name: Test with mypy
127
+ run: |
128
+ python -m mypy
129
+ - name: Test with isort
130
+ run: |
131
+ python -m isort --check src/phasorpy tutorials
132
+ - name: Check spelling
133
+ run: |
134
+ python -m codespell_lib
@@ -0,0 +1,203 @@
1
+ _/*
2
+ data/*
3
+ testdata/*
4
+ test_data/*
5
+ tests/data/*
6
+ tutorials/data/*
7
+ *.tif
8
+ *.tiff
9
+ *.lsm
10
+ *.ome.tif
11
+ *.sdt
12
+ *.b64
13
+ *.r64
14
+ *.ref
15
+ *.npy
16
+ *.flif
17
+ *.lif
18
+ *.czi
19
+ *.ptu
20
+ *.lnk
21
+ .DS_Store
22
+
23
+ # Byte-compiled / optimized / DLL files
24
+ __pycache__/
25
+ *.py[cod]
26
+ *$py.class
27
+
28
+ # C extensions
29
+ *.so
30
+ *.pdb
31
+
32
+ # generated by Cython
33
+ _*.c
34
+
35
+ # Distribution / packaging
36
+ setup.cfg
37
+ .Python
38
+ build/
39
+ develop-eggs/
40
+ dist/
41
+ downloads/
42
+ eggs/
43
+ .eggs/
44
+ lib/
45
+ lib64/
46
+ parts/
47
+ sdist/
48
+ var/
49
+ wheels/
50
+ share/python-wheels/
51
+ *.egg-info/
52
+ .installed.cfg
53
+ *.egg
54
+ *.whl
55
+ MANIFEST
56
+
57
+ # PyInstaller
58
+ # Usually these files are written by a python script from a template
59
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
60
+ *.manifest
61
+ *.spec
62
+
63
+ # Installer logs
64
+ pip-log.txt
65
+ pip-delete-this-directory.txt
66
+
67
+ # Unit test / coverage reports
68
+ _htmlcov/
69
+ htmlcov/
70
+ .tox/
71
+ .nox/
72
+ .coverage
73
+ .coverage.*
74
+ .cache
75
+ nosetests.xml
76
+ coverage.xml
77
+ *.cover
78
+ *.py,cover
79
+ .hypothesis/
80
+ .pytest_cache/
81
+ .ruff_cache/
82
+ cover/
83
+
84
+ # Translations
85
+ *.mo
86
+ *.pot
87
+
88
+ # Django stuff:
89
+ *.log
90
+ local_settings.py
91
+ db.sqlite3
92
+ db.sqlite3-journal
93
+
94
+ # Flask stuff:
95
+ instance/
96
+ .webassets-cache
97
+
98
+ # Scrapy stuff:
99
+ .scrapy
100
+
101
+ # Sphinx documentation
102
+ _build/
103
+ docs/build/
104
+ docs/_build/
105
+ docs/examples/
106
+ docs/tutorials/
107
+ docs/sg_execution_times.rst
108
+
109
+ # PyBuilder
110
+ .pybuilder/
111
+ target/
112
+
113
+ # Jupyter Notebook
114
+ .ipynb_checkpoints
115
+
116
+ # IPython
117
+ profile_default/
118
+ ipython_config.py
119
+
120
+ # pyenv
121
+ # For a library or package, you might want to ignore these files since the code is
122
+ # intended to run in multiple environments; otherwise, check them in:
123
+ .python-version
124
+
125
+ # pipenv
126
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
127
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
128
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
129
+ # install all needed dependencies.
130
+ Pipfile.lock
131
+
132
+ # poetry
133
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
134
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
135
+ # commonly ignored for libraries.
136
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
137
+ poetry.lock
138
+
139
+ # pdm
140
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
141
+ pdm.lock
142
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
143
+ # in version control.
144
+ # https://pdm.fming.dev/#use-with-ide
145
+ .pdm.toml
146
+
147
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
148
+ __pypackages__/
149
+
150
+ # Celery stuff
151
+ celerybeat-schedule
152
+ celerybeat.pid
153
+
154
+ # SageMath parsed files
155
+ *.sage.py
156
+
157
+ # Environments
158
+ .env
159
+ .venv
160
+ env/
161
+ venv/
162
+ ENV/
163
+ env.bak/
164
+ venv.bak/
165
+ phasorpy_dev
166
+ phasorpy-dev
167
+
168
+ # Spyder project settings
169
+ .spyderproject
170
+ .spyproject
171
+
172
+ # Rope project settings
173
+ .ropeproject
174
+
175
+ # mkdocs documentation
176
+ /site
177
+
178
+ # mypy
179
+ .mypy_cache/
180
+ .dmypy.json
181
+ dmypy.json
182
+
183
+ # Pyre type checker
184
+ .pyre/
185
+
186
+ # pytype static type analyzer
187
+ .pytype/
188
+
189
+ # Cython debug symbols
190
+ cython_debug/
191
+
192
+ .vs
193
+ .vscode
194
+ *.code-workspace
195
+
196
+ # PyCharm
197
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
198
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
199
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
200
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
201
+ .idea/
202
+
203
+ .benchmarks