pycat-napari 1.0.0__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 (120) hide show
  1. pycat_napari-1.0.0/.gitignore +169 -0
  2. pycat_napari-1.0.0/.readthedocs.yaml +22 -0
  3. pycat_napari-1.0.0/CHANGELOG.md +45 -0
  4. pycat_napari-1.0.0/CONTRIBUTING.md +105 -0
  5. pycat_napari-1.0.0/LICENSE +33 -0
  6. pycat_napari-1.0.0/MANIFEST.in +45 -0
  7. pycat_napari-1.0.0/PKG-INFO +643 -0
  8. pycat_napari-1.0.0/README.md +550 -0
  9. pycat_napari-1.0.0/THIRD_PARTY_LICENSES.txt +72 -0
  10. pycat_napari-1.0.0/assets/example analysis images/Image 1 dapi.tif +0 -0
  11. pycat_napari-1.0.0/assets/example analysis images/Image 1.tif +0 -0
  12. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_cell_df.csv +14 -0
  13. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_cell_labeled_puncta_mask.png +0 -0
  14. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_labeled_cell_mask.png +0 -0
  15. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_overlay_image.png +0 -0
  16. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_puncta_df.csv +188 -0
  17. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_total_puncta_mask.png +0 -0
  18. pycat_napari-1.0.0/assets/example analysis images/example analysis outputs/Image 1 dapi_total_refined_puncta_mask.png +0 -0
  19. pycat_napari-1.0.0/assets/screenshots/Viewer_and_menu_highlights.png +0 -0
  20. pycat_napari-1.0.0/assets/screenshots/cell_analyzer.png +0 -0
  21. pycat_napari-1.0.0/assets/screenshots/condensate_segmentation.png +0 -0
  22. pycat_napari-1.0.0/assets/screenshots/measuring_lines.png +0 -0
  23. pycat_napari-1.0.0/assets/screenshots/opened_image_in_viewer.png +0 -0
  24. pycat_napari-1.0.0/assets/screenshots/preprocessed_images.png +0 -0
  25. pycat_napari-1.0.0/assets/screenshots/save_and_clear_popup.png +0 -0
  26. pycat_napari-1.0.0/assets/synthetic images/In-Cellulo large puncta DAPI 1.tif +0 -0
  27. pycat_napari-1.0.0/assets/synthetic images/In-Cellulo large puncta Syn Img 1.tif +0 -0
  28. pycat_napari-1.0.0/assets/synthetic images/In-Cellulo small puncta DAPI 1.tif +0 -0
  29. pycat_napari-1.0.0/assets/synthetic images/In-Cellulo small puncta Syn Img 1.tif +0 -0
  30. pycat_napari-1.0.0/assets/synthetic images/In-Vitro Syn Img 1.tif +0 -0
  31. pycat_napari-1.0.0/config/pycat-devbio-napari-env-arm-mac.yaml +527 -0
  32. pycat_napari-1.0.0/config/pycat-devbio-napari-env-x86-windows.yaml +482 -0
  33. pycat_napari-1.0.0/config/pycat-napari-env-arm-mac.yaml +406 -0
  34. pycat_napari-1.0.0/config/pycat-napari-env-x86-windows.yaml +199 -0
  35. pycat_napari-1.0.0/config/requirements-arm-mac.txt +2 -0
  36. pycat_napari-1.0.0/config/requirements-base.txt +16 -0
  37. pycat_napari-1.0.0/config/requirements-devbio-napari-arm-mac.txt +2 -0
  38. pycat_napari-1.0.0/config/requirements-devbio-napari.txt +38 -0
  39. pycat_napari-1.0.0/docs/Makefile +20 -0
  40. pycat_napari-1.0.0/docs/logos/pycat_logo-2.png +0 -0
  41. pycat_napari-1.0.0/docs/logos/pycat_logo.png +0 -0
  42. pycat_napari-1.0.0/docs/logos/pycat_logo_1024.png +0 -0
  43. pycat_napari-1.0.0/docs/logos/pycat_logo_256.png +0 -0
  44. pycat_napari-1.0.0/docs/logos/pycat_logo_512.png +0 -0
  45. pycat_napari-1.0.0/docs/make.bat +35 -0
  46. pycat_napari-1.0.0/docs/requirements.txt +5 -0
  47. pycat_napari-1.0.0/docs/source/_static/dark_mode.css +26 -0
  48. pycat_napari-1.0.0/docs/source/_static/examples/Image 1 dapi.tif +0 -0
  49. pycat_napari-1.0.0/docs/source/_static/examples/Image 1.tif +0 -0
  50. pycat_napari-1.0.0/docs/source/_static/pycat_logo_512.png +0 -0
  51. pycat_napari-1.0.0/docs/source/_static/screenshots/Viewer_and_menu_highlights.png +0 -0
  52. pycat_napari-1.0.0/docs/source/_static/screenshots/cell_analyzer.png +0 -0
  53. pycat_napari-1.0.0/docs/source/_static/screenshots/condensate_segmentation.png +0 -0
  54. pycat_napari-1.0.0/docs/source/_static/screenshots/measuring_lines.png +0 -0
  55. pycat_napari-1.0.0/docs/source/_static/screenshots/opened_image_in_viewer.png +0 -0
  56. pycat_napari-1.0.0/docs/source/_static/screenshots/preprocessed_images.png +0 -0
  57. pycat_napari-1.0.0/docs/source/_static/screenshots/save_and_clear_popup.png +0 -0
  58. pycat_napari-1.0.0/docs/source/_templates/autosummary/module.rst +53 -0
  59. pycat_napari-1.0.0/docs/source/api/index.rst +16 -0
  60. pycat_napari-1.0.0/docs/source/api/pycat.central_manager.rst +11 -0
  61. pycat_napari-1.0.0/docs/source/api/pycat.data.rst +14 -0
  62. pycat_napari-1.0.0/docs/source/api/pycat.file_io.rst +14 -0
  63. pycat_napari-1.0.0/docs/source/api/pycat.run_pycat.rst +11 -0
  64. pycat_napari-1.0.0/docs/source/api/pycat.toolbox.rst +68 -0
  65. pycat_napari-1.0.0/docs/source/api/pycat.ui.rst +23 -0
  66. pycat_napari-1.0.0/docs/source/api/pycat.utils.rst +21 -0
  67. pycat_napari-1.0.0/docs/source/conf.py +184 -0
  68. pycat_napari-1.0.0/docs/source/development/contributing.rst +175 -0
  69. pycat_napari-1.0.0/docs/source/development/index.rst +75 -0
  70. pycat_napari-1.0.0/docs/source/development/roadmap.rst +541 -0
  71. pycat_napari-1.0.0/docs/source/development/support.rst +207 -0
  72. pycat_napari-1.0.0/docs/source/features.rst +310 -0
  73. pycat_napari-1.0.0/docs/source/index.rst +82 -0
  74. pycat_napari-1.0.0/docs/source/installation.rst +332 -0
  75. pycat_napari-1.0.0/docs/source/usage/index.rst +42 -0
  76. pycat_napari-1.0.0/docs/source/usage/tutorials/nuclear_condensate_analysis_gui_tutorial.rst +285 -0
  77. pycat_napari-1.0.0/docs/test.txt +0 -0
  78. pycat_napari-1.0.0/meta.yaml +82 -0
  79. pycat_napari-1.0.0/notebooks/Synthtic Data Generation NB.ipynb +1008 -0
  80. pycat_napari-1.0.0/notebooks/int_truncated_dfs.ipynb +1140 -0
  81. pycat_napari-1.0.0/notebooks/pycat_plotting.ipynb +1783 -0
  82. pycat_napari-1.0.0/pyproject.toml +132 -0
  83. pycat_napari-1.0.0/src/pycat/__init__.py +0 -0
  84. pycat_napari-1.0.0/src/pycat/central_manager.py +91 -0
  85. pycat_napari-1.0.0/src/pycat/data/__init__.py +0 -0
  86. pycat_napari-1.0.0/src/pycat/data/data_modules.py +404 -0
  87. pycat_napari-1.0.0/src/pycat/file_io/__init__.py +0 -0
  88. pycat_napari-1.0.0/src/pycat/file_io/file_io.py +615 -0
  89. pycat_napari-1.0.0/src/pycat/icons/pycat_logo-2.png +0 -0
  90. pycat_napari-1.0.0/src/pycat/icons/pycat_logo.png +0 -0
  91. pycat_napari-1.0.0/src/pycat/icons/pycat_logo_1024.png +0 -0
  92. pycat_napari-1.0.0/src/pycat/icons/pycat_logo_256.png +0 -0
  93. pycat_napari-1.0.0/src/pycat/icons/pycat_logo_512.png +0 -0
  94. pycat_napari-1.0.0/src/pycat/run_pycat.py +108 -0
  95. pycat_napari-1.0.0/src/pycat/toolbox/__init__.py +0 -0
  96. pycat_napari-1.0.0/src/pycat/toolbox/correlation_func_analysis_tools.py +1392 -0
  97. pycat_napari-1.0.0/src/pycat/toolbox/data_viz_tools.py +453 -0
  98. pycat_napari-1.0.0/src/pycat/toolbox/feature_analysis_tools.py +721 -0
  99. pycat_napari-1.0.0/src/pycat/toolbox/image_processing_tools.py +1684 -0
  100. pycat_napari-1.0.0/src/pycat/toolbox/label_and_mask_tools.py +877 -0
  101. pycat_napari-1.0.0/src/pycat/toolbox/layer_tools.py +159 -0
  102. pycat_napari-1.0.0/src/pycat/toolbox/obj_based_coloc_analysis_tools.py +918 -0
  103. pycat_napari-1.0.0/src/pycat/toolbox/pixel_wise_corr_analysis_tools.py +1331 -0
  104. pycat_napari-1.0.0/src/pycat/toolbox/segmentation_tools.py +1322 -0
  105. pycat_napari-1.0.0/src/pycat/ui/__init__.py +0 -0
  106. pycat_napari-1.0.0/src/pycat/ui/ui_modules.py +1909 -0
  107. pycat_napari-1.0.0/src/pycat/ui/ui_utils.py +352 -0
  108. pycat_napari-1.0.0/src/pycat/utils/__init__.py +0 -0
  109. pycat_napari-1.0.0/src/pycat/utils/general_utils.py +253 -0
  110. pycat_napari-1.0.0/src/pycat/utils/math_utils.py +149 -0
  111. pycat_napari-1.0.0/structure.txt +128 -0
  112. pycat_napari-1.0.0/tests/__init__.py +0 -0
  113. pycat_napari-1.0.0/tests/test_central_manager.py +130 -0
  114. pycat_napari-1.0.0/tests/test_data_management.py +148 -0
  115. pycat_napari-1.0.0/tests/test_feature_analysis.py +121 -0
  116. pycat_napari-1.0.0/tests/test_file_io.py +241 -0
  117. pycat_napari-1.0.0/tests/test_general_utils.py +99 -0
  118. pycat_napari-1.0.0/tests/test_image_processing.py +109 -0
  119. pycat_napari-1.0.0/tests/test_import.py +65 -0
  120. pycat_napari-1.0.0/tests/test_run_pycat.py +116 -0
@@ -0,0 +1,169 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/#use-with-ide
110
+ .pdm.toml
111
+
112
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113
+ __pypackages__/
114
+
115
+ # Celery stuff
116
+ celerybeat-schedule
117
+ celerybeat.pid
118
+
119
+ # SageMath parsed files
120
+ *.sage.py
121
+
122
+ # Environments
123
+ .env
124
+ .venv
125
+ env/
126
+ venv/
127
+ ENV/
128
+ env.bak/
129
+ venv.bak/
130
+
131
+ # Spyder project settings
132
+ .spyderproject
133
+ .spyproject
134
+
135
+ # Rope project settings
136
+ .ropeproject
137
+
138
+ # mkdocs documentation
139
+ /site
140
+
141
+ # mypy
142
+ .mypy_cache/
143
+ .dmypy.json
144
+ dmypy.json
145
+
146
+ # Pyre type checker
147
+ .pyre/
148
+
149
+ # pytype static type analyzer
150
+ .pytype/
151
+
152
+ # Cython debug symbols
153
+ cython_debug/
154
+
155
+ # PyCharm
156
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
159
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
+ #.idea/
161
+
162
+ # macOS and Windows specific system files
163
+ .DS_Store
164
+ .DS_Store?
165
+ ._*
166
+ .Spotlight-V100
167
+ .Trashes
168
+ ehthumbs.db
169
+ Thumbs.db
@@ -0,0 +1,22 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.9"
7
+
8
+ sphinx:
9
+ configuration: docs/source/conf.py
10
+ fail_on_warning: false
11
+
12
+ python:
13
+ install:
14
+ - method: pip
15
+ path: .
16
+ extra_requirements:
17
+ - docs
18
+ - requirements: docs/requirements.txt
19
+
20
+ formats:
21
+ - pdf
22
+ - epub
@@ -0,0 +1,45 @@
1
+ # Changelog
2
+ All notable changes to PyCAT-Napari will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [1.0.0] - 2024-11-22
8
+ ### Added
9
+ - Initial public release of PyCAT-Napari
10
+ - Complete GUI interface built on Napari viewer
11
+ - Core functionalities for biomolecular condensate analysis:
12
+ * Image processing and analysis tools
13
+ * Fluorescence image analysis capabilities
14
+ * Condensate feature detection and measurement
15
+ * Data visualization tools
16
+ * Colocalization and Correlation analyses
17
+ - Command-line interface via `run-pycat` command
18
+ - Python API for programmatic access to analysis tools
19
+ - Support for multiple imaging file formats
20
+ - Integration with popular scientific Python libraries
21
+ - Platform support for Windows, macOS (including Apple Silicon), and Linux
22
+ - Comprehensive error handling and user feedback
23
+ - Basic documentation and usage examples
24
+
25
+ ### Dependencies
26
+ - Compatible with Python 3.9+
27
+ - Core dependencies include:
28
+ * napari
29
+ * numpy
30
+ * opencv-python-headless
31
+ * scikit-image
32
+ * scipy
33
+ * torch
34
+ * And other scientific computing libraries
35
+
36
+ ### Fixed
37
+ - (List any bug fixes here)
38
+
39
+ ### Changed
40
+ - (List any changes to existing features here)
41
+
42
+ ### Deprecated
43
+ - (List any features that are deprecated and will be removed in future releases here)
44
+
45
+ [1.0.0]: https://github.com/BanerjeeLab-repertoire/pycat-napari/releases/tag/v1.0.0
@@ -0,0 +1,105 @@
1
+ # Contributing to PyCAT-Napari
2
+
3
+ We appreciate your interest in contributing to PyCAT-Napari! This document provides guidelines and information about contributing to this project. The best tools are ones built by the community so it is my hope that PyCAT will be a valuable resource and that it will help to advance our understanding of the complex biological processes that underlie the formation and function of biomolecular condensates. I hope it is useful to the community and that others will contribute to its development.
4
+
5
+ ## Table of Contents
6
+ - [Code of Conduct](#code-of-conduct)
7
+ - [Getting Started](#getting-started)
8
+ - [Development Setup](#development-setup)
9
+ - [Making Contributions](#making-contributions)
10
+ - [Branch Naming Conventions](#branch-naming-conventions)
11
+ - [Commit Message Guidelines](#commit-message-guidelines)
12
+ - [Pull Request Guidelines](#pull-request-guidelines)
13
+ - [Code Review Process](#code-review-process)
14
+ - [Style Guidelines](#style-guidelines)
15
+ - [Testing](#testing)
16
+ - [Submitting Changes](#submitting-changes)
17
+
18
+ ## Code of Conduct
19
+ By participating in this project, you agree to maintain a respectful and constructive environment for all contributors. Please report any unacceptable behavior to the project maintainers.
20
+
21
+ ## Getting Started
22
+ 1. Fork the repository
23
+ 2. Clone your fork locally
24
+ 3. Create a virtual environment and install dependencies
25
+
26
+ ```bash
27
+ git clone https://github.com/BanerjeeLab-repertoire/pycat-napari.git
28
+ cd pycat-napari
29
+ python -m venv venv
30
+ source venv/bin/activate # On Windows: venv\Scripts\activate
31
+ pip install -e ".[dev]"
32
+ ```
33
+
34
+ ## Development Setup
35
+ The project uses a src-layout and requires several development dependencies:
36
+
37
+ ```bash
38
+ # Install development dependencies
39
+ pip install -e ".[dev]"
40
+
41
+ # Install test dependencies
42
+ pip install -e ".[test]"
43
+ ```
44
+
45
+ ## Making Contributions
46
+ 1. Create a new branch for your feature or fix:
47
+ ```bash
48
+ git checkout -b feature-name
49
+ ```
50
+ 2. Make your changes
51
+ 3. Write or update tests as needed
52
+ 4. Run the test suite
53
+ 5. Push your changes and create a pull request
54
+
55
+ ## Branch Naming Conventions
56
+ - `feature/your-feature-name` for new features
57
+ - `bugfix/your-bugfix-name` for bug fixes
58
+ - `hotfix/your-hotfix-name` for hotfixes
59
+
60
+ ## Commit Message Guidelines
61
+ - Use the present tense ("Add feature" not "Added feature")
62
+ - Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
63
+ - Limit the first line to 72 characters or less
64
+ - Reference issues and pull requests liberally
65
+
66
+ ## Pull Request Guidelines
67
+ - Provide a clear description of what the pull request does
68
+ - Reference any related issues or pull requests
69
+ - Include screenshots or gifs if the changes affect the UI
70
+ - Ensure all tests pass before submitting
71
+
72
+ ## Code Review Process
73
+ - All submissions, including submissions by project members, require review
74
+ - Be respectful and constructive in your feedback
75
+ - Provide context for suggested changes
76
+
77
+ ## Style Guidelines
78
+ - Follow PEP 8 style guidelines
79
+ - Use meaningful variable and function names
80
+ - Document new functions and classes using docstrings
81
+ - Keep functions focused and concise
82
+ - Add comments for complex logic
83
+
84
+ ## Testing
85
+ - Add tests for new features
86
+ - Ensure all tests pass before submitting:
87
+ ```bash
88
+ pytest tests/
89
+ ```
90
+ - Maintain or improve test coverage
91
+
92
+ ## Submitting Changes
93
+ 1. Update the CHANGELOG.md with your changes
94
+ 2. Ensure your code is properly formatted
95
+ 3. Push your changes to your fork
96
+ 4. Create a Pull Request with a clear description:
97
+ - What changes were made
98
+ - Why the changes were made
99
+ - Any special notes for reviewers
100
+
101
+ ## Questions or Problems?
102
+ - Open an issue for bugs or feature requests at: https://github.com/BanerjeeLab-repertoire/pycat-napari/issues
103
+ - Contact the maintainers for other questions
104
+
105
+ Thank you for contributing to PyCAT-Napari!
@@ -0,0 +1,33 @@
1
+ License
2
+ -------
3
+
4
+ BSD 3-Clause License
5
+
6
+ Copyright (c) 2024, Christian Neureuter, Banerjee Lab, State University of New York at Buffalo
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
10
+ following conditions are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
13
+ disclaimer.
14
+
15
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
16
+ disclaimer in the documentation and/or other materials provided with the distribution.
17
+
18
+ 3. Neither the name of the University at Buffalo, the author, nor the names of its contributors may be used to endorse
19
+ or promote products derived from this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
22
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
27
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
29
+
30
+ Third-Party Software Notice
31
+ ---------------------------
32
+ This project includes third-party software components licensed under various open-source licenses. For more information
33
+ regarding these licenses, please refer to the THIRD_PARTY_LICENSES.txt file located in the root directory of this project.
@@ -0,0 +1,45 @@
1
+ # Inlcude the PyCAT logo for app icon
2
+ include src/pycat/icons/*.png
3
+
4
+ # Include license and project info
5
+ include LICENSE
6
+ include README.md
7
+ include CHANGELOG.md
8
+ include CONTRIBUTING.md
9
+ include THIRD_PARTY_LICENSES.txt
10
+ include pyproject.toml
11
+
12
+ # Include package data
13
+ recursive-include src/pycat/icons/*.png
14
+
15
+ # Include test files
16
+ recursive-include tests *.py
17
+
18
+ # Include configuration files
19
+ recursive-include config *.txt
20
+ recursive-include config *.yml
21
+ recursive-include config *.yaml
22
+
23
+ # Include Jupyter Notebooks
24
+ recursive-include notebooks *.ipynb
25
+
26
+ # Include YAML files in the root directory
27
+ include *.yaml
28
+
29
+ # Documentation
30
+ recursive-include docs *.md
31
+ recursive-include docs *.rst
32
+ recursive-include docs *.txt
33
+
34
+ # Exclude development files
35
+ global-exclude *.py[cod] __pycache__
36
+ global-exclude *.so *.dylib *.dll
37
+ global-exclude .git*
38
+ global-exclude .DS_Store
39
+ global-exclude *.swp *.swo
40
+ global-exclude .vscode/
41
+ global-exclude venv/
42
+ global-exclude .env
43
+ global-exclude .mypy_cache/
44
+ global-exclude .pytest_cache/
45
+ global-exclude .ipynb_checkpoints/