RosettaX 0.0.1__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 (36) hide show
  1. rosettax-0.0.1/.flake8 +11 -0
  2. rosettax-0.0.1/.github/dependabot.yml +11 -0
  3. rosettax-0.0.1/.github/workflows/deploy_PyPi.yml +20 -0
  4. rosettax-0.0.1/.github/workflows/deploy_anaconda.yml +21 -0
  5. rosettax-0.0.1/.github/workflows/deploy_coverage.yml +25 -0
  6. rosettax-0.0.1/.github/workflows/deploy_documentation.yml +24 -0
  7. rosettax-0.0.1/.gitignore +29 -0
  8. rosettax-0.0.1/.pre-commit-config.yaml +20 -0
  9. rosettax-0.0.1/LICENSE +21 -0
  10. rosettax-0.0.1/PKG-INFO +60 -0
  11. rosettax-0.0.1/RosettaX/__init__.py +11 -0
  12. rosettax-0.0.1/RosettaX/_version.py +34 -0
  13. rosettax-0.0.1/RosettaX/directories.py +25 -0
  14. rosettax-0.0.1/RosettaX/utils.py +0 -0
  15. rosettax-0.0.1/RosettaX.egg-info/PKG-INFO +60 -0
  16. rosettax-0.0.1/RosettaX.egg-info/SOURCES.txt +34 -0
  17. rosettax-0.0.1/RosettaX.egg-info/dependency_links.txt +1 -0
  18. rosettax-0.0.1/RosettaX.egg-info/requires.txt +20 -0
  19. rosettax-0.0.1/RosettaX.egg-info/top_level.txt +1 -0
  20. rosettax-0.0.1/docs/Makefile +19 -0
  21. rosettax-0.0.1/docs/examples/README.rst +6 -0
  22. rosettax-0.0.1/docs/examples/workflow/README.rst +4 -0
  23. rosettax-0.0.1/docs/examples/workflow/workflow.py +9 -0
  24. rosettax-0.0.1/docs/images/logo.png +0 -0
  25. rosettax-0.0.1/docs/make.bat +35 -0
  26. rosettax-0.0.1/docs/source/_static/default.css +19 -0
  27. rosettax-0.0.1/docs/source/code.rst +5 -0
  28. rosettax-0.0.1/docs/source/conf.py +169 -0
  29. rosettax-0.0.1/docs/source/index.rst +14 -0
  30. rosettax-0.0.1/docs/source/references.rst +8 -0
  31. rosettax-0.0.1/docs/source/sg_execution_times.rst +37 -0
  32. rosettax-0.0.1/docs/source/theory.rst +7 -0
  33. rosettax-0.0.1/pyproject.toml +85 -0
  34. rosettax-0.0.1/setup.cfg +4 -0
  35. rosettax-0.0.1/tests/__init__.py +0 -0
  36. rosettax-0.0.1/tests/test_loader.py +9 -0
rosettax-0.0.1/.flake8 ADDED
@@ -0,0 +1,11 @@
1
+ [flake8]
2
+ max-line-length = 300
3
+ exclude =
4
+ .git
5
+ docs/build
6
+ docs/source/gallery
7
+ development
8
+
9
+ count = true
10
+ per-file-ignores =
11
+ __init__.py: F403, F401
@@ -0,0 +1,11 @@
1
+ # Specify reviewers for pull requests
2
+
3
+ version: 2
4
+ updates:
5
+ - package-ecosystem: "pip"
6
+ directory: "/"
7
+ target-branch: "master"
8
+ schedule:
9
+ interval: "monthly"
10
+ day: "sunday"
11
+ time: "09:00"
@@ -0,0 +1,20 @@
1
+ name: Deploy to PyPi
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ tags:
7
+ - '*'
8
+ pull_request:
9
+ branches: [ "master" ]
10
+
11
+ permissions:
12
+ contents: write
13
+
14
+ jobs:
15
+ pure_package:
16
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_pure_package_to_PyPi.yml@master
17
+ with:
18
+ python-version: "3.13"
19
+ secrets:
20
+ PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,21 @@
1
+ name: Deploy Conda Packages
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ tags: '*'
7
+ pull_request:
8
+ branches: [ "master" ]
9
+
10
+ permissions:
11
+ contents: write
12
+
13
+ jobs:
14
+ ManyLinux_x86_64:
15
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_compiled_package_to_anaconda.yml@master
16
+ with:
17
+ python-versions: '["3.13"]'
18
+ apt-package: ""
19
+ secrets:
20
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
21
+
@@ -0,0 +1,25 @@
1
+ # Simple workflow for deploying static content to GitHub Pages
2
+ name: Deploy coverage
3
+
4
+ on:
5
+ push:
6
+ branches: [ "master" ]
7
+ tags: '*'
8
+ pull_request:
9
+ branches: [ "master" ]
10
+
11
+
12
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
+ permissions:
14
+ contents: write
15
+ pages: write
16
+ id-token: write
17
+
18
+ jobs:
19
+ ManyLinux_x86_64:
20
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_coverage.yml@master
21
+ with:
22
+ python-version: "3.13"
23
+ apt-package: xvfb
24
+ secrets:
25
+ _GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,24 @@
1
+ # Simple workflow for deploying static content to GitHub Pages
2
+ name: Documentation
3
+
4
+ on:
5
+ push:
6
+ branches: [ "master" ]
7
+ tags: '*'
8
+ pull_request:
9
+ branches: [ "master" ]
10
+
11
+
12
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
+ permissions:
14
+ contents: write
15
+ pages: write
16
+ id-token: write
17
+
18
+ jobs:
19
+ ManyLinux_x86_64:
20
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_documentation.yml@master
21
+ with:
22
+ python-version: "3.13"
23
+ package-name: "RosettaX"
24
+ apt-package: xvfb jq
@@ -0,0 +1,29 @@
1
+
2
+ # Ignore all
3
+ /*
4
+
5
+ # Except ...
6
+ !.github
7
+ !RosettaX
8
+ !development
9
+ !docs
10
+ !tests
11
+ !.flake8
12
+ !.gitignore
13
+ !.pre-commit-config.yaml
14
+ !LICENSE
15
+ !meta.yaml
16
+ !pyproject.toml
17
+ !README.rst
18
+ !notebook.ipynb
19
+ !CMakeLists.txt
20
+
21
+ # But ignore docs/build inside docs and code
22
+ docs/build/
23
+ docs/source/gallery/
24
+
25
+ # Compiled files in the project
26
+ *__pycache__*
27
+ *.DS_Store*
28
+ *.so*
29
+ *.a*
@@ -0,0 +1,20 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v4.6.0
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ - id: end-of-file-fixer
7
+ - id: check-yaml
8
+ - id: check-added-large-files
9
+
10
+ - repo: https://github.com/psf/black
11
+ rev: 24.4.2
12
+ hooks:
13
+ - id: black
14
+
15
+ - repo: https://github.com/astral-sh/ruff-pre-commit
16
+ rev: v0.6.9
17
+ hooks:
18
+ - id: ruff
19
+ args: [--select, I, --fix] # import-order rules + auto-fix
20
+ - id: ruff-format # optional (formatter)
rosettax-0.0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Martin de Sivry
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,60 @@
1
+ Metadata-Version: 2.4
2
+ Name: RosettaX
3
+ Version: 0.0.1
4
+ Summary: A package for Flow-cytometer calibration.
5
+ Author-email: Martin / Victor / Edwin <martin.poinsinet.de.sivry@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2020 Martin de Sivry
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/MartinPdeS/RosettaX
29
+ Project-URL: Documentation, https://martinpdes.github.io/RosettaX/
30
+ Project-URL: Repository, https://github.com/MartinPdeS/RosettaX.git
31
+ Keywords: flow-cytometre,calibration,physics,data-analysis
32
+ Classifier: Programming Language :: Python
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.13
35
+ Classifier: Programming Language :: Python :: Implementation :: CPython
36
+ Classifier: Development Status :: 3 - Alpha
37
+ Classifier: Topic :: Scientific/Engineering :: Physics
38
+ Classifier: License :: OSI Approved :: MIT License
39
+ Classifier: Intended Audience :: Science/Research
40
+ Requires-Python: >=3.10
41
+ Description-Content-Type: text/x-rst
42
+ License-File: LICENSE
43
+ Requires-Dist: PyMieSim
44
+ Requires-Dist: pydantic
45
+ Requires-Dist: numpy
46
+ Requires-Dist: MPSPlots
47
+ Provides-Extra: testing
48
+ Requires-Dist: pytest<9.0,>=7.4; extra == "testing"
49
+ Requires-Dist: pytest-cov<7,>=2; extra == "testing"
50
+ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
51
+ Requires-Dist: coverage~=7.6; extra == "testing"
52
+ Provides-Extra: documentation
53
+ Requires-Dist: numpydoc~=1.8; extra == "documentation"
54
+ Requires-Dist: sphinx>=6; extra == "documentation"
55
+ Requires-Dist: sphinx-gallery~=0.17; extra == "documentation"
56
+ Requires-Dist: sphinx-rtd-theme~=3.0; extra == "documentation"
57
+ Requires-Dist: pydata-sphinx-theme~=0.15; extra == "documentation"
58
+ Provides-Extra: dev
59
+ Requires-Dist: flake8==7.2.0; extra == "dev"
60
+ Dynamic: license-file
@@ -0,0 +1,11 @@
1
+ """
2
+ PyMieSim package initialization.
3
+ """
4
+
5
+ try:
6
+ from ._version import version as __version__
7
+
8
+ except ImportError:
9
+ __version__ = "0.0.0"
10
+
11
+ debug_mode = False
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '0.0.1'
32
+ __version_tuple__ = version_tuple = (0, 0, 1)
33
+
34
+ __commit_id__ = commit_id = 'g73b999451'
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ from pathlib import Path
5
+ import RosettaX
6
+
7
+ __all__ = ["root_path", "doc_path", "logo_path", "doc_css_path"]
8
+
9
+ root_path = Path(RosettaX.__path__[0])
10
+
11
+ project_path = root_path.parents[0]
12
+
13
+ doc_path = root_path.parents[0].joinpath("docs")
14
+
15
+ logo_path = doc_path.joinpath("images/logo.png")
16
+
17
+ doc_css_path = doc_path.joinpath("source/_static/default.css")
18
+
19
+ if __name__ == "__main__":
20
+ for path_name in __all__:
21
+ path = locals()[path_name]
22
+ print(path)
23
+ assert path.exists(), f"Path {path_name} do not exists"
24
+
25
+ # -
File without changes
@@ -0,0 +1,60 @@
1
+ Metadata-Version: 2.4
2
+ Name: RosettaX
3
+ Version: 0.0.1
4
+ Summary: A package for Flow-cytometer calibration.
5
+ Author-email: Martin / Victor / Edwin <martin.poinsinet.de.sivry@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2020 Martin de Sivry
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/MartinPdeS/RosettaX
29
+ Project-URL: Documentation, https://martinpdes.github.io/RosettaX/
30
+ Project-URL: Repository, https://github.com/MartinPdeS/RosettaX.git
31
+ Keywords: flow-cytometre,calibration,physics,data-analysis
32
+ Classifier: Programming Language :: Python
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.13
35
+ Classifier: Programming Language :: Python :: Implementation :: CPython
36
+ Classifier: Development Status :: 3 - Alpha
37
+ Classifier: Topic :: Scientific/Engineering :: Physics
38
+ Classifier: License :: OSI Approved :: MIT License
39
+ Classifier: Intended Audience :: Science/Research
40
+ Requires-Python: >=3.10
41
+ Description-Content-Type: text/x-rst
42
+ License-File: LICENSE
43
+ Requires-Dist: PyMieSim
44
+ Requires-Dist: pydantic
45
+ Requires-Dist: numpy
46
+ Requires-Dist: MPSPlots
47
+ Provides-Extra: testing
48
+ Requires-Dist: pytest<9.0,>=7.4; extra == "testing"
49
+ Requires-Dist: pytest-cov<7,>=2; extra == "testing"
50
+ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
51
+ Requires-Dist: coverage~=7.6; extra == "testing"
52
+ Provides-Extra: documentation
53
+ Requires-Dist: numpydoc~=1.8; extra == "documentation"
54
+ Requires-Dist: sphinx>=6; extra == "documentation"
55
+ Requires-Dist: sphinx-gallery~=0.17; extra == "documentation"
56
+ Requires-Dist: sphinx-rtd-theme~=3.0; extra == "documentation"
57
+ Requires-Dist: pydata-sphinx-theme~=0.15; extra == "documentation"
58
+ Provides-Extra: dev
59
+ Requires-Dist: flake8==7.2.0; extra == "dev"
60
+ Dynamic: license-file
@@ -0,0 +1,34 @@
1
+ .flake8
2
+ .gitignore
3
+ .pre-commit-config.yaml
4
+ LICENSE
5
+ pyproject.toml
6
+ .github/dependabot.yml
7
+ .github/workflows/deploy_PyPi.yml
8
+ .github/workflows/deploy_anaconda.yml
9
+ .github/workflows/deploy_coverage.yml
10
+ .github/workflows/deploy_documentation.yml
11
+ RosettaX/__init__.py
12
+ RosettaX/_version.py
13
+ RosettaX/directories.py
14
+ RosettaX/utils.py
15
+ RosettaX.egg-info/PKG-INFO
16
+ RosettaX.egg-info/SOURCES.txt
17
+ RosettaX.egg-info/dependency_links.txt
18
+ RosettaX.egg-info/requires.txt
19
+ RosettaX.egg-info/top_level.txt
20
+ docs/Makefile
21
+ docs/make.bat
22
+ docs/examples/README.rst
23
+ docs/examples/workflow/README.rst
24
+ docs/examples/workflow/workflow.py
25
+ docs/images/logo.png
26
+ docs/source/code.rst
27
+ docs/source/conf.py
28
+ docs/source/index.rst
29
+ docs/source/references.rst
30
+ docs/source/sg_execution_times.rst
31
+ docs/source/theory.rst
32
+ docs/source/_static/default.css
33
+ tests/__init__.py
34
+ tests/test_loader.py
@@ -0,0 +1,20 @@
1
+ PyMieSim
2
+ pydantic
3
+ numpy
4
+ MPSPlots
5
+
6
+ [dev]
7
+ flake8==7.2.0
8
+
9
+ [documentation]
10
+ numpydoc~=1.8
11
+ sphinx>=6
12
+ sphinx-gallery~=0.17
13
+ sphinx-rtd-theme~=3.0
14
+ pydata-sphinx-theme~=0.15
15
+
16
+ [testing]
17
+ pytest<9.0,>=7.4
18
+ pytest-cov<7,>=2
19
+ pytest-json-report~=1.5
20
+ coverage~=7.6
@@ -0,0 +1 @@
1
+ RosettaX
@@ -0,0 +1,19 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ SOURCEDIR = source
8
+ BUILDDIR = build
9
+
10
+ # Put it first so that "make" without argument is like "make help".
11
+ help:
12
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13
+
14
+ .PHONY: help Makefile
15
+
16
+ # Catch-all target: route all unknown targets to Sphinx using the new
17
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18
+ %: Makefile
19
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,6 @@
1
+ .. _examples_gallery:
2
+
3
+ Examples
4
+ ========
5
+
6
+ A gallery of examples and that showcase how RosettaX can be used. Some examples demonstrate the use of the API in general and some demonstrate specific applications in tutorial form.
@@ -0,0 +1,4 @@
1
+ .. _examples_workflow_gallery:
2
+
3
+ Workflow
4
+ ========
@@ -0,0 +1,9 @@
1
+ """
2
+ Workflow example
3
+ ================
4
+
5
+ Just a dummy example to illustrate the workflow examples gallery.
6
+
7
+ """
8
+
9
+ print("Hello, World!")
Binary file
@@ -0,0 +1,35 @@
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ REM Command file for Sphinx documentation
6
+
7
+ if "%SPHINXBUILD%" == "" (
8
+ set SPHINXBUILD=sphinx-build
9
+ )
10
+ set SOURCEDIR=source
11
+ set BUILDDIR=build
12
+
13
+ if "%1" == "" goto help
14
+
15
+ %SPHINXBUILD% >NUL 2>NUL
16
+ if errorlevel 9009 (
17
+ echo.
18
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19
+ echo.installed, then set the SPHINXBUILD environment variable to point
20
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
21
+ echo.may add the Sphinx directory to PATH.
22
+ echo.
23
+ echo.If you don't have Sphinx installed, grab it from
24
+ echo.http://sphinx-doc.org/
25
+ exit /b 1
26
+ )
27
+
28
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
29
+ goto end
30
+
31
+ :help
32
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
33
+
34
+ :end
35
+ popd
@@ -0,0 +1,19 @@
1
+ /* Additional styling for the PyData Sphinx theme. */
2
+
3
+ /* Use hyperlink color for grid-item-cards.
4
+ TODO find a way to only apply this to grid-item-cards that link somewhere */
5
+ .sd-card-title {
6
+ color: var(--pst-color-link);
7
+ }
8
+
9
+ /* Use text base color for hyperlinks in code cells. Pygments "default" theme
10
+ doesn't seem to set this color, so the default light blue link color is applied
11
+ which has a very low contrast with the background. */
12
+ div.highlight a {
13
+ color: var(--pst-color-text-base);
14
+ }
15
+
16
+ /* Stack components in footer vertically. */
17
+ .bd-footer .footer-items__end, .bd-footer .footer-items__start {
18
+ flex-direction: row;
19
+ }
@@ -0,0 +1,5 @@
1
+ .. _source_code:
2
+
3
+ Source code
4
+ ===========
5
+
@@ -0,0 +1,169 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import sys
5
+ from sphinx_gallery.sorting import FileNameSortKey
6
+ from MPSPlots.styles import use_mpsplots_style
7
+ import RosettaX
8
+
9
+ from RosettaX.directories import project_path, doc_css_path
10
+
11
+
12
+ sys.path.insert(0, project_path)
13
+ sys.path.insert(0, project_path.joinpath('Rosetta'))
14
+
15
+
16
+ def setup(app):
17
+ app.add_css_file(str(doc_css_path))
18
+
19
+
20
+ autodoc_mock_imports = [
21
+ 'numpy',
22
+ 'matplotlib',
23
+ 'scipy',
24
+ 'numpydoc',
25
+ ]
26
+
27
+
28
+ project = 'Rosetta'
29
+ copyright = '2023, Martin Poinsinet de Sivry-Houle'
30
+ author = 'Martin Poinsinet de Sivry-Houle'
31
+
32
+
33
+ version = RosettaX.__version__
34
+
35
+
36
+ extensions = [
37
+ 'sphinx.ext.mathjax',
38
+ 'sphinx_gallery.gen_gallery',
39
+ 'sphinx.ext.autodoc',
40
+ 'sphinx.ext.napoleon',
41
+ 'sphinx.ext.viewcode',
42
+ 'sphinx.ext.autosectionlabel',
43
+ 'sphinx.ext.intersphinx',
44
+ ]
45
+
46
+ # Napoleon settings for docstrings
47
+ napoleon_google_docstring = False
48
+ napoleon_numpy_docstring = True
49
+
50
+
51
+ def reset_mpl(gallery_conf, fname):
52
+ use_mpsplots_style()
53
+
54
+
55
+ examples_files = [
56
+ 'workflow'
57
+ ]
58
+
59
+
60
+ sphinx_gallery_conf = {
61
+ "examples_dirs": ['../examples/' + f for f in examples_files],
62
+ "gallery_dirs": ['gallery/' + f for f in examples_files],
63
+ 'image_scrapers': ('matplotlib'),
64
+ 'filename_pattern': '',
65
+ 'ignore_pattern': '/__',
66
+ 'plot_gallery': True,
67
+ 'thumbnail_size': [600, 600],
68
+ 'download_all_examples': False,
69
+ 'reset_modules': reset_mpl,
70
+ 'line_numbers': False,
71
+ 'remove_config_comments': True,
72
+ 'within_subsection_order': FileNameSortKey,
73
+ 'capture_repr': ('_repr_html_', '__repr__'),
74
+ 'nested_sections': True,
75
+ }
76
+
77
+
78
+ autodoc_default_options = {
79
+ 'members': False,
80
+ 'members-order': 'bysource',
81
+ 'undoc-members': False,
82
+ 'show-inheritance': True,
83
+ }
84
+
85
+ autosectionlabel_prefix_document = True
86
+ numpydoc_show_class_members = False
87
+ add_module_names = False
88
+
89
+ source_suffix = '.rst'
90
+ master_doc = 'index'
91
+ language = 'en'
92
+ highlight_language = 'python3'
93
+ html_theme = "pydata_sphinx_theme"
94
+
95
+ # -- Options for HTML output -------------------------------------------------
96
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
97
+ exclude_trees = []
98
+ # default_role = "autolink"
99
+ pygments_style = "sphinx"
100
+
101
+ # -- Sphinx-gallery configuration --------------------------------------------
102
+ major, minor = version[:2]
103
+ binder_branch = f"v{major}.{minor}.x"
104
+
105
+ html_theme_options = {
106
+ # Navigation bar
107
+ "logo": {
108
+ "alt_text": "RosettaX's logo",
109
+ "text": "RosettaX",
110
+ "link": "https://rosetta.readthedocs.io/en/master/",
111
+ },
112
+ "icon_links": [
113
+ {
114
+ "name": "GitHub",
115
+ "url": "https://github.com/MartinPdeS/RosettaX",
116
+ "icon": "fa-brands fa-github",
117
+ },
118
+ {
119
+ "name": "PyPI",
120
+ "url": "https://pypi.org/project/rosettax/",
121
+ "icon": "fa-solid fa-box",
122
+ },
123
+ {
124
+ "name": "Anaconda",
125
+ "url": "https://anaconda.org/MartinPdeS/rosettax",
126
+ "icon": "fa-brands fa-python",
127
+ },
128
+ ],
129
+ "navbar_align": "left",
130
+ "navbar_end": ["version-switcher", "navbar-icon-links"],
131
+ "show_prev_next": False,
132
+ "show_version_warning_banner": True,
133
+ # Footer
134
+ "footer_start": ["copyright"],
135
+ "footer_end": ["sphinx-version", "theme-version"],
136
+ # Other
137
+ "pygment_light_style": "default",
138
+ "pygment_dark_style": "github-dark",
139
+ }
140
+
141
+ htmlhelp_basename = 'RosettaXdoc'
142
+
143
+ latex_elements = {}
144
+
145
+
146
+ latex_documents = [
147
+ (master_doc, 'RosettaX.tex', 'RosettaX Documentation',
148
+ 'Martin Poinsinet de Sivry-Houle', 'manual'),
149
+ ]
150
+
151
+ man_pages = [
152
+ (master_doc, 'supymode', 'RosettaX Documentation',
153
+ [author], 1)
154
+ ]
155
+
156
+ texinfo_documents = [
157
+ (master_doc, 'RosettaX', 'RosettaX Documentation',
158
+ author, 'RosettaX', 'One line description of project.',
159
+ 'Miscellaneous'),
160
+ ]
161
+
162
+ epub_title = project
163
+
164
+ html_static_path = ['_static']
165
+ templates_path = ['_templates']
166
+ html_css_files = ['default.css']
167
+ epub_exclude_files = ['search.html']
168
+
169
+ # -
@@ -0,0 +1,14 @@
1
+ **Date**: |today|, **Version**: |version|
2
+
3
+
4
+ .. include:: ../../README.rst
5
+ :start-line: 0
6
+
7
+ .. toctree::
8
+ :maxdepth: 2
9
+ :hidden:
10
+
11
+ theory
12
+ code
13
+ gallery/index.rst
14
+ references
@@ -0,0 +1,8 @@
1
+ :orphan:
2
+
3
+ .. _references:
4
+
5
+ References
6
+ ===========
7
+
8
+
@@ -0,0 +1,37 @@
1
+
2
+ :orphan:
3
+
4
+ .. _sphx_glr_sg_execution_times:
5
+
6
+
7
+ Computation times
8
+ =================
9
+ **00:00.035** total execution time for 1 file **from all galleries**:
10
+
11
+ .. container::
12
+
13
+ .. raw:: html
14
+
15
+ <style scoped>
16
+ <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
17
+ <link href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css" rel="stylesheet" />
18
+ </style>
19
+ <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
20
+ <script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
21
+ <script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
22
+ <script type="text/javascript" class="init">
23
+ $(document).ready( function () {
24
+ $('table.sg-datatable').DataTable({order: [[1, 'desc']]});
25
+ } );
26
+ </script>
27
+
28
+ .. list-table::
29
+ :header-rows: 1
30
+ :class: table table-striped sg-datatable
31
+
32
+ * - Example
33
+ - Time
34
+ - Mem (MB)
35
+ * - :ref:`sphx_glr_gallery_workflow_workflow.py` (``../examples/workflow/workflow.py``)
36
+ - 00:00.035
37
+ - 0.0
@@ -0,0 +1,7 @@
1
+ :orphan:
2
+
3
+ .. _theory:
4
+
5
+ Theoretical background
6
+ ======================
7
+
@@ -0,0 +1,85 @@
1
+ [build-system]
2
+ requires = ["setuptools>=40.8.0", "wheel", "setuptools_scm[toml]>=8.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "RosettaX"
7
+ dynamic = ["version"]
8
+ description = "A package for Flow-cytometer calibration."
9
+ license = {file = "LICENSE"}
10
+ readme = "README.rst"
11
+ requires-python = ">=3.10"
12
+ authors = [{ name="Martin / Victor / Edwin", email="martin.poinsinet.de.sivry@gmail.com"}]
13
+ classifiers = [
14
+ "Programming Language :: Python",
15
+ "Programming Language :: Python :: 3",
16
+ "Programming Language :: Python :: 3.13",
17
+ "Programming Language :: Python :: Implementation :: CPython",
18
+ "Development Status :: 3 - Alpha",
19
+ "Topic :: Scientific/Engineering :: Physics",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Intended Audience :: Science/Research"
22
+ ]
23
+
24
+ keywords = ["flow-cytometre", "calibration", "physics", "data-analysis"]
25
+
26
+ dependencies = [
27
+ "PyMieSim",
28
+ "pydantic",
29
+ "numpy",
30
+ "MPSPlots",
31
+ ]
32
+
33
+ [project.urls]
34
+ Homepage = "https://github.com/MartinPdeS/RosettaX"
35
+ Documentation = "https://martinpdes.github.io/RosettaX/"
36
+ Repository = "https://github.com/MartinPdeS/RosettaX.git"
37
+
38
+ [tool.setuptools_scm]
39
+ write_to = "RosettaX/_version.py"
40
+ version_scheme = "only-version"
41
+ local_scheme = "no-local-version"
42
+
43
+ [project.optional-dependencies]
44
+ testing = [
45
+ "pytest >=7.4,<9.0",
46
+ "pytest-cov >=2,<7",
47
+ "pytest-json-report ~=1.5",
48
+ "coverage ~=7.6"
49
+ ]
50
+
51
+ documentation = [
52
+ "numpydoc ~=1.8",
53
+ "sphinx >=6",
54
+ "sphinx-gallery ~=0.17",
55
+ "sphinx-rtd-theme ~=3.0",
56
+ "pydata-sphinx-theme ~=0.15"
57
+ ]
58
+
59
+ dev = [
60
+ "flake8 ==7.2.0",
61
+ ]
62
+
63
+ [tool.pytest.ini_options]
64
+ minversion = "6.0"
65
+ xfail_strict = true
66
+ log_cli_level = "INFO"
67
+ testpaths = ["tests/"]
68
+ addopts = [
69
+ "-v",
70
+ "-rA",
71
+ "-rw",
72
+ "--cov=RosettaX",
73
+ "--cov-report=html",
74
+ "--cov-report=term"
75
+ ]
76
+
77
+ [tool.coverage.run]
78
+ source = ["RosettaX"]
79
+ omit = [
80
+ "*/__init__.py",
81
+ "*/_version.py",
82
+ "*/directories.py"
83
+ ]
84
+ branch = true
85
+ relative_files = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
@@ -0,0 +1,9 @@
1
+ import pytest
2
+
3
+ def test_dummy():
4
+ assert True
5
+
6
+
7
+
8
+ if __name__ == "__main__":
9
+ pytest.main(["-W error", __file__])