diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..bb3257d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,10 @@ +[build-system] +requires = [ + "setuptools>=42", + "wheel", + "setuptools_scm[toml]>3.4", +] +build-backend = "setuptools.build_meta" + +[tool.setuptools_scm] +write_to = "src/zolfa/nd2reader/version.py" diff --git a/setup.cfg b/setup.cfg index b2445a8..291f4e5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,42 @@ [metadata] +name = zolfa-nd2reader +version = attr:zolfa.nd2reader.version +description = A tool for reading ND2 files produced by NIS Elements description-file = README.md +classifiers = + Development Status :: 5 - Production/Stable + Intended Audience :: Science/Research + License :: Freely Distributable + License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) + Operating System :: POSIX :: Linux + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3.4 + Topic :: Scientific/Engineering +keywords = + nd2 + nikon + microscopy + NIS Elements +author = Ruben Verweij, Lorenzo Zolfanelli +author_email = dev@zolfa.nl +url = https://projects.lilik.it/zolfa/zolfa-nd2reader + +[options] +packages = find_namespace: +package_dir = + = src +python_requires = >=3.6 +install_requires = + numpy>=1.14 + six>=1.4 + xmltodict>=0.9.2 + PIMS>=0.5.0 +setup_requires = + setuptools_scm + +[options.packages.find] +where = src +include = zolfa.* [bdist_wheel] universal=1 \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 5b6ebdd..0000000 --- a/setup.py +++ /dev/null @@ -1,31 +0,0 @@ -from setuptools import setup -#from nd2reader import __version__ as VERSION - -if __name__ == '__main__': - setup( - name='nd2reader', - packages=['nd2reader'], - install_requires=[ - 'numpy>=1.14', - 'six>=1.4', - 'xmltodict>=0.9.2', - 'PIMS>=0.5.0' - ], - python_requires=">=3.6", - version="3.2.3-zolfa-dev0", - description='A tool for reading ND2 files produced by NIS Elements', - author='Ruben Verweij', - author_email='ruben@lighthacking.nl', - url='https://github.com/rbnvrw/nd2reader', - download_url='https://github.com/rbnvrw/nd2reader/tarball/%s' % "3.2.3-zolfa-dev0", - keywords=['nd2', 'nikon', 'microscopy', 'NIS Elements'], - classifiers=['Development Status :: 5 - Production/Stable', - 'Intended Audience :: Science/Research', - 'License :: Freely Distributable', - 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)', - 'Operating System :: POSIX :: Linux', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.4', - 'Topic :: Scientific/Engineering', - ] - ) diff --git a/sphinx/conf.py b/sphinx/conf.py index 7a27c28..7914e16 100644 --- a/sphinx/conf.py +++ b/sphinx/conf.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- import sphinx_bootstrap_theme from recommonmark.parser import CommonMarkParser -from nd2reader import __version__ as VERSION +from zolfa.nd2reader.version import __version__ as VERSION # -- General configuration ------------------------------------------------ @@ -36,9 +36,9 @@ source_suffix = ['.rst', '.md'] master_doc = 'index' # General information about the project. -project = 'nd2reader' +project = 'zolfa-nd2reader' copyright = '2017 - 2019, Ruben Verweij' -author = 'Ruben Verweij' +author = 'Ruben Verweij, Lorenzo Zolfanelli' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/nd2reader/__init__.py b/src/zolfa/nd2reader/__init__.py similarity index 73% rename from nd2reader/__init__.py rename to src/zolfa/nd2reader/__init__.py index 353176e..3b424e1 100644 --- a/nd2reader/__init__.py +++ b/src/zolfa/nd2reader/__init__.py @@ -1,6 +1,6 @@ from os import path -from nd2reader.reader import ND2Reader -from nd2reader.legacy import Nd2 +from zolfa.nd2reader.reader import ND2Reader +from zolfa.nd2reader.legacy import Nd2 try: import importlib.metadata as importlib_metadata diff --git a/nd2reader/artificial.py b/src/zolfa/nd2reader/artificial.py similarity index 99% rename from nd2reader/artificial.py rename to src/zolfa/nd2reader/artificial.py index 861c613..05f4609 100644 --- a/nd2reader/artificial.py +++ b/src/zolfa/nd2reader/artificial.py @@ -3,7 +3,7 @@ import six import numpy as np import struct -from nd2reader.common import check_or_make_dir +from zolfa.nd2reader.common import check_or_make_dir from os import path global_labels = ['image_attributes', 'image_text_info', 'image_metadata', diff --git a/nd2reader/common.py b/src/zolfa/nd2reader/common.py similarity index 99% rename from nd2reader/common.py rename to src/zolfa/nd2reader/common.py index df5ddcf..c326bd8 100644 --- a/nd2reader/common.py +++ b/src/zolfa/nd2reader/common.py @@ -4,7 +4,7 @@ import array from datetime import datetime import six import re -from nd2reader.exceptions import InvalidVersionError +from zolfa.nd2reader.exceptions import InvalidVersionError def get_version(fh): diff --git a/nd2reader/common_raw_metadata.py b/src/zolfa/nd2reader/common_raw_metadata.py similarity index 98% rename from nd2reader/common_raw_metadata.py rename to src/zolfa/nd2reader/common_raw_metadata.py index 422f521..408339f 100644 --- a/nd2reader/common_raw_metadata.py +++ b/src/zolfa/nd2reader/common_raw_metadata.py @@ -1,7 +1,7 @@ import six import warnings -from nd2reader.common import get_from_dict_if_exists +from zolfa.nd2reader.common import get_from_dict_if_exists def parse_if_not_none(to_check, callback): diff --git a/nd2reader/exceptions.py b/src/zolfa/nd2reader/exceptions.py similarity index 100% rename from nd2reader/exceptions.py rename to src/zolfa/nd2reader/exceptions.py diff --git a/nd2reader/label_map.py b/src/zolfa/nd2reader/label_map.py similarity index 100% rename from nd2reader/label_map.py rename to src/zolfa/nd2reader/label_map.py diff --git a/nd2reader/legacy.py b/src/zolfa/nd2reader/legacy.py similarity index 99% rename from nd2reader/legacy.py rename to src/zolfa/nd2reader/legacy.py index 9b010b8..e3b3f76 100644 --- a/nd2reader/legacy.py +++ b/src/zolfa/nd2reader/legacy.py @@ -4,7 +4,7 @@ Legacy class for backwards compatibility import warnings -from nd2reader import ND2Reader +from zolfa.nd2reader import ND2Reader class Nd2(object): diff --git a/nd2reader/parser.py b/src/zolfa/nd2reader/parser.py similarity index 98% rename from nd2reader/parser.py rename to src/zolfa/nd2reader/parser.py index bebbcaa..e3ceea3 100644 --- a/nd2reader/parser.py +++ b/src/zolfa/nd2reader/parser.py @@ -7,10 +7,10 @@ import warnings from pims.base_frames import Frame import numpy as np -from nd2reader.common import get_version, read_chunk -from nd2reader.label_map import LabelMap -from nd2reader.raw_metadata import RawMetadata -from nd2reader import stitched +from zolfa.nd2reader.common import get_version, read_chunk +from zolfa.nd2reader.label_map import LabelMap +from zolfa.nd2reader.raw_metadata import RawMetadata +from zolfa.nd2reader import stitched class Parser(object): diff --git a/nd2reader/raw_metadata.py b/src/zolfa/nd2reader/raw_metadata.py similarity index 98% rename from nd2reader/raw_metadata.py rename to src/zolfa/nd2reader/raw_metadata.py index 3c25d57..9b2e8e3 100644 --- a/nd2reader/raw_metadata.py +++ b/src/zolfa/nd2reader/raw_metadata.py @@ -4,8 +4,8 @@ import six import numpy as np import warnings -from nd2reader.common import read_chunk, read_array, read_metadata, parse_date, get_from_dict_if_exists -from nd2reader.common_raw_metadata import parse_dimension_text_line, parse_if_not_none, parse_roi_shape, parse_roi_type, get_loops_from_data, determine_sampling_interval +from zolfa.nd2reader.common import read_chunk, read_array, read_metadata, parse_date, get_from_dict_if_exists +from zolfa.nd2reader.common_raw_metadata import parse_dimension_text_line, parse_if_not_none, parse_roi_shape, parse_roi_type, get_loops_from_data, determine_sampling_interval class RawMetadata(object): diff --git a/nd2reader/reader.py b/src/zolfa/nd2reader/reader.py similarity index 98% rename from nd2reader/reader.py rename to src/zolfa/nd2reader/reader.py index 295bded..b9ae8fe 100644 --- a/nd2reader/reader.py +++ b/src/zolfa/nd2reader/reader.py @@ -1,8 +1,8 @@ from pims import Frame from pims.base_frames import FramesSequenceND -from nd2reader.exceptions import EmptyFileError, InvalidFileType -from nd2reader.parser import Parser +from zolfa.nd2reader.exceptions import EmptyFileError, InvalidFileType +from zolfa.nd2reader.parser import Parser import numpy as np diff --git a/nd2reader/stitched.py b/src/zolfa/nd2reader/stitched.py similarity index 100% rename from nd2reader/stitched.py rename to src/zolfa/nd2reader/stitched.py diff --git a/src/zolfa/nd2reader/version.py b/src/zolfa/nd2reader/version.py new file mode 100644 index 0000000..1a0e1e5 --- /dev/null +++ b/src/zolfa/nd2reader/version.py @@ -0,0 +1,4 @@ +# file generated by setuptools_scm +# don't change, don't track in version control +__version__ = version = '2.0.2.dev268+g026928a.d20230117' +__version_tuple__ = version_tuple = (2, 0, 2, 'dev268', 'g026928a.d20230117') diff --git a/test.py b/test.py index e5a6d6c..b05602c 100644 --- a/test.py +++ b/test.py @@ -3,4 +3,4 @@ from os import path file_path = path.abspath(__file__) tests_path = path.join(path.abspath(path.dirname(file_path)), "tests") -nose.main(argv=[path.abspath(__file__), "--with-coverage", "--cover-erase", "--cover-package=nd2reader", tests_path]) +nose.main(argv=[path.abspath(__file__), "--with-coverage", "--cover-erase", "--cover-package=zolfa.nd2reader", tests_path]) diff --git a/tests/test_artificial.py b/tests/test_artificial.py index e9d2b29..8595d3d 100644 --- a/tests/test_artificial.py +++ b/tests/test_artificial.py @@ -3,10 +3,10 @@ from os import path import six import struct -from nd2reader.artificial import ArtificialND2 -from nd2reader.common import get_version, parse_version, parse_date, _add_to_metadata, _parse_unsigned_char, \ +from zolfa.nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.common import get_version, parse_version, parse_date, _add_to_metadata, _parse_unsigned_char, \ _parse_unsigned_int, _parse_unsigned_long, _parse_double, check_or_make_dir -from nd2reader.exceptions import InvalidVersionError +from zolfa.nd2reader.exceptions import InvalidVersionError class TestArtificial(unittest.TestCase): diff --git a/tests/test_common.py b/tests/test_common.py index 8e13aaa..27c548b 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -5,11 +5,11 @@ import array import six import struct -from nd2reader.artificial import ArtificialND2 -from nd2reader.common import get_version, parse_version, parse_date, _add_to_metadata, _parse_unsigned_char, \ +from zolfa.nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.common import get_version, parse_version, parse_date, _add_to_metadata, _parse_unsigned_char, \ _parse_unsigned_int, _parse_unsigned_long, _parse_double, check_or_make_dir, _parse_string, _parse_char_array, \ get_from_dict_if_exists, read_chunk -from nd2reader.exceptions import InvalidVersionError +from zolfa.nd2reader.exceptions import InvalidVersionError class TestCommon(unittest.TestCase): diff --git a/tests/test_label_map.py b/tests/test_label_map.py index 1f58fd6..612c853 100644 --- a/tests/test_label_map.py +++ b/tests/test_label_map.py @@ -1,6 +1,6 @@ import unittest -from nd2reader.label_map import LabelMap -from nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.label_map import LabelMap +from zolfa.nd2reader.artificial import ArtificialND2 class TestLabelMap(unittest.TestCase): diff --git a/tests/test_legacy.py b/tests/test_legacy.py index 4c938cd..6d16e26 100644 --- a/tests/test_legacy.py +++ b/tests/test_legacy.py @@ -1,9 +1,9 @@ import unittest import warnings -from nd2reader.legacy import Nd2 -from nd2reader.reader import ND2Reader -from nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.legacy import Nd2 +from zolfa.nd2reader.reader import ND2Reader +from zolfa.nd2reader.artificial import ArtificialND2 class TestLegacy(unittest.TestCase): diff --git a/tests/test_parser.py b/tests/test_parser.py index c0b4ddf..90af415 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -1,8 +1,8 @@ import unittest from os import path -from nd2reader.artificial import ArtificialND2 -from nd2reader.common import check_or_make_dir -from nd2reader.parser import Parser +from zolfa.nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.common import check_or_make_dir +from zolfa.nd2reader.parser import Parser import urllib.request diff --git a/tests/test_raw_metadata.py b/tests/test_raw_metadata.py index c21e0fe..8f56092 100644 --- a/tests/test_raw_metadata.py +++ b/tests/test_raw_metadata.py @@ -1,10 +1,10 @@ import unittest import six -from nd2reader.artificial import ArtificialND2 -from nd2reader.label_map import LabelMap -from nd2reader.raw_metadata import RawMetadata -from nd2reader.common_raw_metadata import parse_roi_shape, parse_roi_type, parse_dimension_text_line +from zolfa.nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.label_map import LabelMap +from zolfa.nd2reader.raw_metadata import RawMetadata +from zolfa.nd2reader.common_raw_metadata import parse_roi_shape, parse_roi_type, parse_dimension_text_line class TestRawMetadata(unittest.TestCase): diff --git a/tests/test_reader.py b/tests/test_reader.py index c28399d..d01032d 100644 --- a/tests/test_reader.py +++ b/tests/test_reader.py @@ -3,10 +3,10 @@ import numpy as np import struct from pims import Frame -from nd2reader.artificial import ArtificialND2 -from nd2reader.exceptions import EmptyFileError, InvalidFileType -from nd2reader.reader import ND2Reader -from nd2reader.parser import Parser +from zolfa.nd2reader.artificial import ArtificialND2 +from zolfa.nd2reader.exceptions import EmptyFileError, InvalidFileType +from zolfa.nd2reader.reader import ND2Reader +from zolfa.nd2reader.parser import Parser class TestReader(unittest.TestCase): diff --git a/tests/test_version.py b/tests/test_version.py index fedfeeb..6222442 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,5 +1,5 @@ import unittest -from nd2reader import __version__ as VERSION +from zolfa.nd2reader import __version__ as VERSION class TestVersion(unittest.TestCase):