careamics 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.

Potentially problematic release.


This version of careamics might be problematic. Click here for more details.

@@ -0,0 +1,15 @@
1
+ * careamics version:
2
+ * Python version:
3
+ * Operating System:
4
+
5
+ ### Description
6
+
7
+ Describe what you were trying to get done.
8
+ Tell us what happened, what went wrong, and what you expected to happen.
9
+
10
+ ### What I Did
11
+
12
+ ```
13
+ Paste the command(s) you ran and the output.
14
+ If there was a crash, please include the traceback here.
15
+ ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: "{{ env.TITLE }}"
3
+ labels: [bug]
4
+ ---
5
+ The {{ workflow }} workflow failed on {{ date | date("YYYY-MM-DD HH:mm") }} UTC
6
+
7
+ The most recent failing test was on {{ env.PLATFORM }} py{{ env.PYTHON }}
8
+ with commit: {{ sha }}
9
+
10
+ Full run: https://github.com/{{ repo }}/actions/runs/{{ env.RUN_ID }}
11
+
12
+ (This post will be updated if another test fails, as long as this issue remains open.)
@@ -0,0 +1,10 @@
1
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2
+
3
+ version: 2
4
+ updates:
5
+ - package-ecosystem: "github-actions"
6
+ directory: "/"
7
+ schedule:
8
+ interval: "weekly"
9
+ commit-message:
10
+ prefix: "ci(dependabot):"
@@ -0,0 +1,108 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ tags:
8
+ - "v*"
9
+ pull_request:
10
+ workflow_dispatch:
11
+ schedule:
12
+ # run every week (for --pre release tests)
13
+ - cron: "0 0 * * 0"
14
+
15
+ jobs:
16
+ check-manifest:
17
+ # check-manifest is a tool that checks that all files in version control are
18
+ # included in the sdist (unless explicitly excluded)
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - run: pipx run check-manifest
23
+
24
+ test:
25
+ name: ${{ matrix.platform }} (${{ matrix.python-version }})
26
+ runs-on: ${{ matrix.platform }}
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ python-version: ["3.8", "3.9", "3.10", "3.11"]
31
+ platform: [ubuntu-latest, macos-latest, windows-latest]
32
+
33
+ steps:
34
+ - name: ๐Ÿ›‘ Cancel Previous Runs
35
+ uses: styfle/cancel-workflow-action@0.11.0
36
+ with:
37
+ access_token: ${{ github.token }}
38
+
39
+ - uses: actions/checkout@v3
40
+
41
+ - name: ๐Ÿ Set up Python ${{ matrix.python-version }}
42
+ uses: actions/setup-python@v4
43
+ with:
44
+ python-version: ${{ matrix.python-version }}
45
+ cache-dependency-path: "pyproject.toml"
46
+ cache: "pip"
47
+
48
+ - name: Install Dependencies
49
+ run: |
50
+ python -m pip install -U pip
51
+ # if running a cron job, we add the --pre flag to test against pre-releases
52
+ python -m pip install .[test] ${{ github.event_name == 'schedule' && '--pre' || '' }}
53
+
54
+ - name: ๐Ÿงช Run Tests
55
+ run: pytest --color=yes --cov --cov-report=xml --cov-report=term-missing
56
+
57
+ # If something goes wrong with --pre tests, we can open an issue in the repo
58
+ - name: ๐Ÿ“ Report --pre Failures
59
+ if: failure() && github.event_name == 'schedule'
60
+ uses: JasonEtco/create-an-issue@v2
61
+ env:
62
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63
+ PLATFORM: ${{ matrix.platform }}
64
+ PYTHON: ${{ matrix.python-version }}
65
+ RUN_ID: ${{ github.run_id }}
66
+ TITLE: "[test-bot] pip install --pre is failing"
67
+ with:
68
+ filename: .github/TEST_FAIL_TEMPLATE.md
69
+ update_existing: true
70
+
71
+ - name: Coverage
72
+ uses: codecov/codecov-action@v3
73
+
74
+ deploy:
75
+ name: Deploy
76
+ needs: test
77
+ if: success() && startsWith(github.ref, 'refs/tags/') && github.event_name != 'schedule'
78
+ runs-on: ubuntu-latest
79
+ environment: release # Needs to be created in the gh repository settings
80
+ permissions:
81
+ # IMPORTANT: this permission is mandatory for trusted publishing on PyPi
82
+ # see https://docs.pypi.org/trusted-publishers/
83
+ id-token: write
84
+
85
+ # This permission allows writing releases
86
+ contents: write
87
+
88
+ steps:
89
+ - uses: actions/checkout@v3
90
+ with:
91
+ fetch-depth: 0
92
+
93
+ - name: ๐Ÿ Set up Python
94
+ uses: actions/setup-python@v4
95
+ with:
96
+ python-version: "3.x"
97
+
98
+ - name: ๐Ÿ‘ท Build
99
+ run: |
100
+ python -m pip install build
101
+ python -m build
102
+
103
+ - name: ๐Ÿšข Publish to PyPI
104
+ uses: pypa/gh-action-pypi-publish@release/v1
105
+
106
+ - uses: softprops/action-gh-release@v1
107
+ with:
108
+ generate_release_notes: true
@@ -0,0 +1,111 @@
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
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ .DS_Store
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ .hypothesis/
50
+ .pytest_cache/
51
+
52
+ # Translations
53
+ *.mo
54
+ *.pot
55
+
56
+ # Django stuff:
57
+ *.log
58
+ local_settings.py
59
+
60
+ # Flask stuff:
61
+ instance/
62
+ .webassets-cache
63
+
64
+ # Scrapy stuff:
65
+ .scrapy
66
+
67
+ # Sphinx documentation
68
+ docs/_build/
69
+
70
+ # PyBuilder
71
+ target/
72
+
73
+ # Jupyter Notebook
74
+ .ipynb_checkpoints
75
+
76
+ # pyenv
77
+ .python-version
78
+
79
+ # celery beat schedule file
80
+ celerybeat-schedule
81
+
82
+ # SageMath parsed files
83
+ *.sage.py
84
+
85
+ # dotenv
86
+ .env
87
+
88
+ # virtualenv
89
+ .venv
90
+ venv/
91
+ ENV/
92
+
93
+ # Spyder project settings
94
+ .spyderproject
95
+ .spyproject
96
+
97
+ # Rope project settings
98
+ .ropeproject
99
+
100
+ # mkdocs documentation
101
+ /site
102
+
103
+ # mypy
104
+ .mypy_cache/
105
+
106
+ # ruff
107
+ .ruff_cache/
108
+
109
+ # IDE settings
110
+ .vscode/
111
+ .idea/
@@ -0,0 +1,34 @@
1
+ # enable pre-commit.ci at https://pre-commit.ci/
2
+ # it adds:
3
+ # 1. auto fixing pull requests
4
+ # 2. auto updating the pre-commit configuration
5
+ ci:
6
+ autoupdate_schedule: monthly
7
+ autofix_commit_msg: "style(pre-commit.ci): auto fixes [...]"
8
+ autoupdate_commit_msg: "ci(pre-commit.ci): autoupdate"
9
+
10
+ repos:
11
+ - repo: https://github.com/abravalheri/validate-pyproject
12
+ rev: v0.12.1
13
+ hooks:
14
+ - id: validate-pyproject
15
+
16
+ - repo: https://github.com/charliermarsh/ruff-pre-commit
17
+ rev: v0.0.257
18
+ hooks:
19
+ - id: ruff
20
+ args: [--fix]
21
+
22
+ - repo: https://github.com/psf/black
23
+ rev: 23.1.0
24
+ hooks:
25
+ - id: black
26
+
27
+ - repo: https://github.com/pre-commit/mirrors-mypy
28
+ rev: v1.1.1
29
+ hooks:
30
+ - id: mypy
31
+ files: "^src/"
32
+ # # you have to add the things you want to type check against here
33
+ # additional_dependencies:
34
+ # - numpy
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2023, Jug lab
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.1
2
+ Name: careamics
3
+ Version: 0.0.1
4
+ Summary: CAREamics
5
+ Project-URL: homepage, https://careamics.github.io/
6
+ Project-URL: repository, https://github.com/CAREamics/careamics
7
+ Author-email: Igor Zubarev <igor.zubarev@fht.org>, Joran Deschamps <joran.deschamps@fht.org>
8
+ License: BSD-3-Clause
9
+ License-File: LICENSE
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Requires-Python: >=3.8
17
+ Provides-Extra: dev
18
+ Requires-Dist: black; extra == 'dev'
19
+ Requires-Dist: ipython; extra == 'dev'
20
+ Requires-Dist: mypy; extra == 'dev'
21
+ Requires-Dist: pdbpp; extra == 'dev'
22
+ Requires-Dist: rich; extra == 'dev'
23
+ Requires-Dist: ruff; extra == 'dev'
24
+ Provides-Extra: test
25
+ Requires-Dist: pytest; extra == 'test'
26
+ Requires-Dist: pytest-cov; extra == 'test'
27
+ Description-Content-Type: text/markdown
28
+
29
+ <p align="center">
30
+ <a href="https://careamics.github.io/">
31
+ <img src="https://github.com/CAREamics/.github/blob/main/profile/images/banner_careamics.png">
32
+ </a>
33
+ </p>
34
+
35
+
36
+ [![License](https://img.shields.io/pypi/l/careamics.svg?color=green)](https://github.com/CAREamics/careamics/raw/main/LICENSE)
37
+ [![PyPI](https://img.shields.io/pypi/v/careamics.svg?color=green)](https://pypi.org/project/careamics)
38
+ [![Python Version](https://img.shields.io/pypi/pyversions/careamics.svg?color=green)](https://python.org)
39
+ [![CI](https://github.com/CAREamics/careamics/actions/workflows/ci.yml/badge.svg)](https://github.com/CAREamics/careamics/actions/workflows/ci.yml)
40
+ [![codecov](https://codecov.io/gh/CAREamics/careamics/branch/main/graph/badge.svg)](https://codecov.io/gh/CAREamics/careamics)
41
+
42
+
43
+ Stay tuned for DL goodies with CAREamics!
44
+
45
+ Currently, this version is a place-holder, next version will contain the
46
+ first usable algorithms, as well as examples.
@@ -0,0 +1,18 @@
1
+ <p align="center">
2
+ <a href="https://careamics.github.io/">
3
+ <img src="https://github.com/CAREamics/.github/blob/main/profile/images/banner_careamics.png">
4
+ </a>
5
+ </p>
6
+
7
+
8
+ [![License](https://img.shields.io/pypi/l/careamics.svg?color=green)](https://github.com/CAREamics/careamics/raw/main/LICENSE)
9
+ [![PyPI](https://img.shields.io/pypi/v/careamics.svg?color=green)](https://pypi.org/project/careamics)
10
+ [![Python Version](https://img.shields.io/pypi/pyversions/careamics.svg?color=green)](https://python.org)
11
+ [![CI](https://github.com/CAREamics/careamics/actions/workflows/ci.yml/badge.svg)](https://github.com/CAREamics/careamics/actions/workflows/ci.yml)
12
+ [![codecov](https://codecov.io/gh/CAREamics/careamics/branch/main/graph/badge.svg)](https://codecov.io/gh/CAREamics/careamics)
13
+
14
+
15
+ Stay tuned for DL goodies with CAREamics!
16
+
17
+ Currently, this version is a place-holder, next version will contain the
18
+ first usable algorithms, as well as examples.
@@ -0,0 +1,144 @@
1
+ # https://peps.python.org/pep-0517/
2
+ [build-system]
3
+ requires = ["hatchling", "hatch-vcs"]
4
+ build-backend = "hatchling.build"
5
+ # read more about configuring hatch at:
6
+ # https://hatch.pypa.io/latest/config/build/
7
+
8
+ # https://hatch.pypa.io/latest/config/metadata/
9
+ [tool.hatch.version]
10
+ source = "vcs"
11
+
12
+ # https://peps.python.org/pep-0621/
13
+ [project]
14
+ name = "careamics"
15
+ dynamic = ["version"]
16
+ description = "CAREamics"
17
+ readme = "README.md"
18
+ requires-python = ">=3.8"
19
+ license = { text = "BSD-3-Clause" }
20
+ authors = [
21
+ { name = "Igor Zubarev", email = "igor.zubarev@fht.org" },
22
+ { name = "Joran Deschamps", email = "joran.deschamps@fht.org" },
23
+ ]
24
+ classifiers = [
25
+ "Development Status :: 3 - Alpha",
26
+ "Programming Language :: Python :: 3",
27
+ "Programming Language :: Python :: 3.8",
28
+ "Programming Language :: Python :: 3.9",
29
+ "Programming Language :: Python :: 3.10",
30
+ "Programming Language :: Python :: 3.11",
31
+ # "License :: OSI Approved :: BSD License",
32
+ # "Typing :: Typed",
33
+ ]
34
+ # add your package dependencies here
35
+ dependencies = []
36
+
37
+ # https://peps.python.org/pep-0621/#dependencies-optional-dependencies
38
+ # "extras" (e.g. for `pip install .[test]`)
39
+ [project.optional-dependencies]
40
+ # add dependencies used for testing here
41
+ test = ["pytest", "pytest-cov"]
42
+ # add anything else you like to have in your dev environment here
43
+ dev = [
44
+ "black",
45
+ "ipython",
46
+ "mypy",
47
+ "pdbpp", # https://github.com/pdbpp/pdbpp
48
+ "rich", # https://github.com/Textualize/rich
49
+ "ruff",
50
+ ]
51
+
52
+ [project.urls]
53
+ homepage = "https://careamics.github.io/"
54
+ repository = "https://github.com/CAREamics/careamics"
55
+
56
+ # Entry points
57
+ # https://peps.python.org/pep-0621/#entry-points
58
+ # same as console_scripts entry point
59
+ # [project.scripts]
60
+ # careamics-cli = "careamics:main_cli"
61
+
62
+ # [project.entry-points."some.group"]
63
+ # tomatoes = "careamics:main_tomatoes"
64
+ # https://github.com/charliermarsh/ruff
65
+ [tool.ruff]
66
+ line-length = 88
67
+ target-version = "py38"
68
+ # https://beta.ruff.rs/docs/rules/
69
+ extend-select = [
70
+ "E", # style errors
71
+ "W", # style warnings
72
+ "F", # flakes
73
+ "D", # pydocstyle
74
+ "I", # isort
75
+ "U", # pyupgrade
76
+ # "S", # bandit
77
+ "C", # flake8-comprehensions
78
+ "B", # flake8-bugbear
79
+ "A001", # flake8-builtins
80
+ "RUF", # ruff-specific rules
81
+ ]
82
+ # I do this to get numpy-style docstrings AND retain
83
+ # D417 (Missing argument descriptions in the docstring)
84
+ # otherwise, see:
85
+ # https://beta.ruff.rs/docs/faq/#does-ruff-support-numpy-or-google-style-docstrings
86
+ # https://github.com/charliermarsh/ruff/issues/2606
87
+ extend-ignore = [
88
+ "D100", # Missing docstring in public module
89
+ "D107", # Missing docstring in __init__
90
+ "D203", # 1 blank line required before class docstring
91
+ "D212", # Multi-line docstring summary should start at the first line
92
+ "D213", # Multi-line docstring summary should start at the second line
93
+ "D401", # First line should be in imperative mood
94
+ "D413", # Missing blank line after last section
95
+ "D416", # Section name should end with a colon
96
+ ]
97
+
98
+ [tool.ruff.per-file-ignores]
99
+ "tests/*.py" = ["D", "S"]
100
+ "setup.py" = ["D"]
101
+
102
+ # https://mypy.readthedocs.io/en/stable/config_file.html
103
+ [tool.mypy]
104
+ files = "src/**/"
105
+ strict = true
106
+ disallow_any_generics = false
107
+ disallow_subclassing_any = false
108
+ show_error_codes = true
109
+ pretty = true
110
+
111
+ # # module specific overrides
112
+ # [[tool.mypy.overrides]]
113
+ # module = ["numpy.*",]
114
+ # ignore_errors = true
115
+ # https://docs.pytest.org/en/6.2.x/customize.html
116
+ [tool.pytest.ini_options]
117
+ minversion = "6.0"
118
+ testpaths = ["tests"]
119
+ filterwarnings = ["error"]
120
+
121
+ # https://coverage.readthedocs.io/en/6.4/config.html
122
+ [tool.coverage.report]
123
+ exclude_lines = [
124
+ "pragma: no cover",
125
+ "if TYPE_CHECKING:",
126
+ "@overload",
127
+ "except ImportError",
128
+ "\\.\\.\\.",
129
+ "raise NotImplementedError()",
130
+ ]
131
+ [tool.coverage.run]
132
+ source = ["src"]
133
+
134
+ # https://github.com/mgedmin/check-manifest#configuration
135
+ # add files that you want check-manifest to explicitly ignore here
136
+ # (files that are in the repo but shouldn't go in the package)
137
+ [tool.check-manifest]
138
+ ignore = [
139
+ ".github_changelog_generator",
140
+ ".pre-commit-config.yaml",
141
+ ".ruff_cache/**/*",
142
+ "setup.py",
143
+ "tests/**/*",
144
+ ]
@@ -0,0 +1,8 @@
1
+ """CAREamics"""
2
+
3
+ from importlib.metadata import PackageNotFoundError, version
4
+
5
+ try:
6
+ __version__ = version("careamics")
7
+ except PackageNotFoundError:
8
+ __version__ = "uninstalled"
@@ -0,0 +1,5 @@
1
+ You may remove this file if you don't intend to add types to your package
2
+
3
+ Details at:
4
+
5
+ https://mypy.readthedocs.io/en/stable/installed_packages.html#creating-pep-561-compatible-packages
@@ -0,0 +1,2 @@
1
+ def test_something():
2
+ pass