diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 6b4628e..c2a6348 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -24,6 +24,9 @@ jobs: matrix: platform: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.10', '3.11', '3.12', '3.13'] + exclude: + - platform: windows-latest + python-version: '3.13' # py313-windows: FAIL code 3221225477 steps: - uses: actions/checkout@v3 diff --git a/pyproject.toml b/pyproject.toml index 97e3730..4336153 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,73 @@ +[project] +name = "biaplotter" +dynamic = ["version"] +description = "A base napari plotter widget for interactive plotting" +readme = "README.md" +requires-python = ">=3.10" +license = { file = "LICENSE" } +authors = [ + { name = "Marcelo Leomil Zoccoler", email = "marzoccoler@gmail.com" } +] +classifiers = [ + "Development Status :: 2 - Pre-Alpha", + "Framework :: napari", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Scientific/Engineering :: Image Processing", + "Topic :: Scientific/Engineering :: Visualization" +] +dependencies = [ + "numpy>=1.22.0,<2.0.0", + "magicgui", + "qtpy", + "napari-matplotlib", + "nap-plot-tools>=0.1.0" +] + +[project.optional-dependencies] +testing = [ + "tox", + "pytest", + "pytest-cov", + "pytest-qt", + "napari", + "pyqt5" +] + +[project.entry-points."napari.manifest"] +biaplotter = "biaplotter:napari.yaml" + +[project.urls] +"Homepage" = "https://github.com/BiAPoL/biaplotter" +"Bug Tracker" = "https://github.com/BiAPoL/biaplotter/issues" +"Documentation" = "https://biapol-biaplotter.readthedocs.io/en/stable/" +"Source Code" = "https://github.com/BiAPoL/biaplotter" +"User Support" = "https://github.com/BiAPoL/biaplotter/issues" + [build-system] -requires = ["setuptools>=42.0.0", "wheel"] +requires = ["setuptools>=42.0.0", "wheel", "setuptools_scm"] build-backend = "setuptools.build_meta" +[tool.setuptools] +include-package-data = true + +[tool.setuptools.packages.find] +where = ["src"] + +[tool.setuptools.package-data] +"*" = ["*.yaml"] +[tool.setuptools_scm] +write_to = "src/biaplotter/_version.py" +fallback_version = "0.0.1+nogit" [tool.black] line-length = 79 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 2c0dac5..0000000 --- a/setup.cfg +++ /dev/null @@ -1,67 +0,0 @@ -[metadata] -name = biaplotter -version = attr: biaplotter.__version__ -description = A base napari plotter widget for interactive plotting -long_description = file: README.md -long_description_content_type = text/markdown -url = https://github.com/BiAPoL/biaplotter -author = Marcelo Leomil Zoccoler -author_email = marzoccoler@gmail.com -license = BSD-3-Clause -license_files = LICENSE -classifiers = - Development Status :: 2 - Pre-Alpha - Framework :: napari - Intended Audience :: Developers - License :: OSI Approved :: BSD License - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 - Topic :: Scientific/Engineering :: Image Processing -project_urls = - Bug Tracker = https://github.com/BiAPoL/biaplotter/issues - Documentation = https://github.com/BiAPoL/biaplotter#README.md - Source Code = https://github.com/BiAPoL/biaplotter - User Support = https://github.com/BiAPoL/biaplotter/issues - -[options] -packages = find: -install_requires = - numpy - magicgui - qtpy - napari-matplotlib - nap-plot-tools>=0.1.0 - numpy>=1.22.0 - -python_requires = >=3.10 -include_package_data = True -package_dir = - =src - -# add your package requirements here - -[options.packages.find] -where = src - -[options.entry_points] -napari.manifest = - biaplotter = biaplotter:napari.yaml - -[options.extras_require] -testing = - tox - pytest # https://docs.pytest.org/en/latest/contents.html - pytest-cov # https://pytest-cov.readthedocs.io/en/latest/ - pytest-qt # https://pytest-qt.readthedocs.io/en/latest/ - napari - pyqt5 - - -[options.package_data] -* = *.yaml diff --git a/src/biaplotter/__init__.py b/src/biaplotter/__init__.py index a16c0bd..9faeb9f 100644 --- a/src/biaplotter/__init__.py +++ b/src/biaplotter/__init__.py @@ -1,4 +1,8 @@ -__version__ = "0.4.1" +try: + from ._version import version as __version__ +except ImportError: + __version__ = "unknown" + from .artists import Histogram2D, Scatter from .colormap import BiaColormap from .plotter import CanvasWidget diff --git a/tox.ini b/tox.ini index 3362978..e11aba0 100644 --- a/tox.ini +++ b/tox.ini @@ -31,3 +31,4 @@ passenv = extras = testing commands = pytest -v --color=yes --cov=biaplotter --cov-report=xml +allowlist_externals = pytest