diff --git a/.codecov.yml b/.codecov.yml index 53ac848a..6d478d53 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -7,4 +7,4 @@ coverage: ignore: - tests/* - - vip_hci/vip_ds9.py + - src/vip_hci/vip_ds9.py diff --git a/.flake8 b/.flake8 index fc70e17c..a82f94dd 100644 --- a/.flake8 +++ b/.flake8 @@ -36,4 +36,4 @@ ignore = I002, exclude= - vip_hci/objects + src/vip_hci/objects diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 574ac7c4..f8782d0a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,19 +43,10 @@ jobs: # pre-commit install-hooks # pre-commit install # # Run pre-commit hooks -# pre-commit run --files vip_hci/config/*.py -# pre-commit run --files vip_hci/fits/*.py -# pre-commit run --files vip_hci/fm/*.py -# pre-commit run --files vip_hci/greedy/*.py -# pre-commit run --files vip_hci/invprob/*.py -# pre-commit run --files vip_hci/metrics/*.py -# pre-commit run --files vip_hci/preproc/*.py -# pre-commit run --files vip_hci/psfsub/*.py -# pre-commit run --files vip_hci/stats/*.py -# pre-commit run --files vip_hci/var/*.py +# pre-commit run --files src/**/*.py - name: Test with pytest run: | - pytest tests/pre_3_10 --cov=vip_hci/ --cov-report=xml --splits 3 --group ${{ matrix.group }} + pytest tests/pre_3_10 --cov=src --cov-report=xml --splits 3 --group ${{ matrix.group }} - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 @@ -87,9 +78,9 @@ jobs: # pre-commit install-hooks # pre-commit install # # Run pre-commit hooks -# pre-commit run --files vip_hci/objects/*.py +# pre-commit run --files src/vip_hci/objects/*.py - name: Test with pytest run: | - pytest tests/post_3_10 --cov=vip_hci/objects/ --cov-report=xml + pytest tests/post_3_10 --cov=src/vpi_hci/objects/ --cov-report=xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 diff --git a/Makefile b/Makefile index e365946d..8f412811 100644 --- a/Makefile +++ b/Makefile @@ -32,13 +32,13 @@ docs: rm -f docs/source/vip_hci.stats.rst rm -f docs/source/vip_hci.var.rst rm -f docs/source/vip_hci.vip_ds9.rst - sphinx-apidoc -o docs/source vip_hci + sphinx-apidoc -o docs/source src/vip_hci cd docs/source/ $(MAKE) -C docs clean $(MAKE) -C docs html coverage: - coverage run --source=vip_hci -m pytest + coverage run --source=src -m pytest coverage report -m test: @@ -48,18 +48,8 @@ test: pre-commit install --hook-type post-rewrite pre-commit install-hooks pre-commit install - pre-commit run --files vip_hci/config/*.py - pre-commit run --files vip_hci/fits/*.py - pre-commit run --files vip_hci/fm/*.py - pre-commit run --files vip_hci/greedy/*.py - pre-commit run --files vip_hci/invprob/*.py - pre-commit run --files vip_hci/metrics/*.py - pre-commit run --files vip_hci/preproc/*.py - pre-commit run --files vip_hci/psfsub/*.py - pre-commit run --files vip_hci/stats/*.py - pre-commit run --files vip_hci/var/*.py - pre-commit run --files vip_hci/objects/*.py - pytest --cov=vip_hci/ --cov-report=xml + pre-commit run --files src/**/*.py + pytest --cov=src --cov-report=xml rm confi_hist.pdf rm confi_hist_gaussfit.pdf rm confidence.txt @@ -68,8 +58,7 @@ test: rm -rf results/ pep8-format: - autopep8 --in-place --aggressive vip_hci/*.py - autopep8 --in-place --aggressive vip_hci/*/*.py + autopep8 --in-place --aggressive src/**/*.py autopep8 --in-place --aggressive tests/*.py clean: diff --git a/docs/source/conf.py b/docs/source/conf.py index 13113cbc..7c16a33b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,7 +24,7 @@ matplotlib.use("agg") -sys.path.insert(0, os.path.abspath('../../vip_hci/')) +sys.path.insert(0, os.path.abspath('../../src/vip_hci/')) version = md_version('vip_hci') diff --git a/pyproject.toml b/pyproject.toml index e0eafd08..6477b1e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,4 +69,4 @@ dev = [ [tool.setuptools] zip-safe = false -packages.find = { namespaces = false } +packages.find = { where = ["src"], namespaces = false } diff --git a/src/vip_hci/__init__.py b/src/vip_hci/__init__.py new file mode 100644 index 00000000..ecd4de14 --- /dev/null +++ b/src/vip_hci/__init__.py @@ -0,0 +1,18 @@ +from . import preproc +from . import config +from . import fits +from . import invprob +from . import psfsub +from . import fm +from . import metrics +from . import stats +from . import var +from . import objects +from .vip_ds9 import * + + +def __getattr__(name: str): + if name == '__version__': + from importlib.metadata import version + return version('vip_hci') + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") diff --git a/vip_hci/config/__init__.py b/src/vip_hci/config/__init__.py similarity index 100% rename from vip_hci/config/__init__.py rename to src/vip_hci/config/__init__.py diff --git a/vip_hci/config/mem.py b/src/vip_hci/config/mem.py similarity index 100% rename from vip_hci/config/mem.py rename to src/vip_hci/config/mem.py diff --git a/vip_hci/config/param.py b/src/vip_hci/config/param.py similarity index 100% rename from vip_hci/config/param.py rename to src/vip_hci/config/param.py diff --git a/vip_hci/config/paramenum.py b/src/vip_hci/config/paramenum.py similarity index 100% rename from vip_hci/config/paramenum.py rename to src/vip_hci/config/paramenum.py diff --git a/vip_hci/config/timing.py b/src/vip_hci/config/timing.py similarity index 100% rename from vip_hci/config/timing.py rename to src/vip_hci/config/timing.py diff --git a/vip_hci/config/utils_conf.py b/src/vip_hci/config/utils_conf.py similarity index 98% rename from vip_hci/config/utils_conf.py rename to src/vip_hci/config/utils_conf.py index 86e04167..b8aa543c 100644 --- a/vip_hci/config/utils_conf.py +++ b/src/vip_hci/config/utils_conf.py @@ -12,6 +12,7 @@ import numpy as np import itertools as itt +from importlib.metadata import version from inspect import signature, Parameter from functools import wraps import multiprocessing @@ -43,8 +44,6 @@ def save(self, filename): """ - from vip_hci import __version__ # TODO: replace this with importlib.metadata.version - vip_object = self.__class__.__name__ if hasattr(self, "_saved_attributes"): @@ -60,7 +59,7 @@ def save(self, filename): data["_item_{}".format(a)] = True np.savez_compressed( - filename, _vip_version=__version__, _vip_object=vip_object, **data + filename, _vip_version=version('vip_hci'), _vip_object=vip_object, **data ) else: @@ -70,8 +69,6 @@ def save(self, filename): @classmethod def load(cls, filename): - from vip_hci import __version__ # TODO: replace this with importlib.metadata.version - try: data = np.load(filename, allow_pickle=True) except BaseException: @@ -89,7 +86,7 @@ def load(cls, filename): ) file_vip_version = data["_vip_version"].item() - if file_vip_version != __version__: + if file_vip_version != version('vip_hci'): print( "The file was saved with VIP {}. There may be some" "compatibility issues. Use with care." diff --git a/vip_hci/config/utils_param.py b/src/vip_hci/config/utils_param.py similarity index 100% rename from vip_hci/config/utils_param.py rename to src/vip_hci/config/utils_param.py diff --git a/vip_hci/fits/__init__.py b/src/vip_hci/fits/__init__.py similarity index 100% rename from vip_hci/fits/__init__.py rename to src/vip_hci/fits/__init__.py diff --git a/vip_hci/fits/fits.py b/src/vip_hci/fits/fits.py similarity index 100% rename from vip_hci/fits/fits.py rename to src/vip_hci/fits/fits.py diff --git a/vip_hci/fits/headers.py b/src/vip_hci/fits/headers.py similarity index 100% rename from vip_hci/fits/headers.py rename to src/vip_hci/fits/headers.py diff --git a/vip_hci/fm/__init__.py b/src/vip_hci/fm/__init__.py similarity index 100% rename from vip_hci/fm/__init__.py rename to src/vip_hci/fm/__init__.py diff --git a/vip_hci/fm/fakecomp.py b/src/vip_hci/fm/fakecomp.py similarity index 100% rename from vip_hci/fm/fakecomp.py rename to src/vip_hci/fm/fakecomp.py diff --git a/vip_hci/fm/fakedisk.py b/src/vip_hci/fm/fakedisk.py similarity index 100% rename from vip_hci/fm/fakedisk.py rename to src/vip_hci/fm/fakedisk.py diff --git a/vip_hci/fm/negfc_fmerit.py b/src/vip_hci/fm/negfc_fmerit.py similarity index 100% rename from vip_hci/fm/negfc_fmerit.py rename to src/vip_hci/fm/negfc_fmerit.py diff --git a/vip_hci/fm/negfc_mcmc.py b/src/vip_hci/fm/negfc_mcmc.py similarity index 100% rename from vip_hci/fm/negfc_mcmc.py rename to src/vip_hci/fm/negfc_mcmc.py diff --git a/vip_hci/fm/negfc_nested.py b/src/vip_hci/fm/negfc_nested.py similarity index 100% rename from vip_hci/fm/negfc_nested.py rename to src/vip_hci/fm/negfc_nested.py diff --git a/vip_hci/fm/negfc_simplex.py b/src/vip_hci/fm/negfc_simplex.py similarity index 100% rename from vip_hci/fm/negfc_simplex.py rename to src/vip_hci/fm/negfc_simplex.py diff --git a/vip_hci/fm/negfc_speckle_noise.py b/src/vip_hci/fm/negfc_speckle_noise.py similarity index 100% rename from vip_hci/fm/negfc_speckle_noise.py rename to src/vip_hci/fm/negfc_speckle_noise.py diff --git a/vip_hci/fm/negfd_fmerit.py b/src/vip_hci/fm/negfd_fmerit.py similarity index 100% rename from vip_hci/fm/negfd_fmerit.py rename to src/vip_hci/fm/negfd_fmerit.py diff --git a/vip_hci/fm/negfd_interp.py b/src/vip_hci/fm/negfd_interp.py similarity index 100% rename from vip_hci/fm/negfd_interp.py rename to src/vip_hci/fm/negfd_interp.py diff --git a/vip_hci/fm/negfd_simplex.py b/src/vip_hci/fm/negfd_simplex.py similarity index 100% rename from vip_hci/fm/negfd_simplex.py rename to src/vip_hci/fm/negfd_simplex.py diff --git a/vip_hci/fm/scattered_light_disk.py b/src/vip_hci/fm/scattered_light_disk.py similarity index 100% rename from vip_hci/fm/scattered_light_disk.py rename to src/vip_hci/fm/scattered_light_disk.py diff --git a/vip_hci/fm/utils_mcmc.py b/src/vip_hci/fm/utils_mcmc.py similarity index 100% rename from vip_hci/fm/utils_mcmc.py rename to src/vip_hci/fm/utils_mcmc.py diff --git a/vip_hci/fm/utils_negfc.py b/src/vip_hci/fm/utils_negfc.py similarity index 100% rename from vip_hci/fm/utils_negfc.py rename to src/vip_hci/fm/utils_negfc.py diff --git a/vip_hci/fm/utils_negfd.py b/src/vip_hci/fm/utils_negfd.py similarity index 100% rename from vip_hci/fm/utils_negfd.py rename to src/vip_hci/fm/utils_negfd.py diff --git a/vip_hci/greedy/__init__.py b/src/vip_hci/greedy/__init__.py similarity index 100% rename from vip_hci/greedy/__init__.py rename to src/vip_hci/greedy/__init__.py diff --git a/vip_hci/greedy/inmf_fullfr.py b/src/vip_hci/greedy/inmf_fullfr.py similarity index 100% rename from vip_hci/greedy/inmf_fullfr.py rename to src/vip_hci/greedy/inmf_fullfr.py diff --git a/vip_hci/greedy/ipca_fullfr.py b/src/vip_hci/greedy/ipca_fullfr.py similarity index 100% rename from vip_hci/greedy/ipca_fullfr.py rename to src/vip_hci/greedy/ipca_fullfr.py diff --git a/vip_hci/greedy/irollsub.py b/src/vip_hci/greedy/irollsub.py similarity index 100% rename from vip_hci/greedy/irollsub.py rename to src/vip_hci/greedy/irollsub.py diff --git a/vip_hci/invprob/__init__.py b/src/vip_hci/invprob/__init__.py similarity index 100% rename from vip_hci/invprob/__init__.py rename to src/vip_hci/invprob/__init__.py diff --git a/vip_hci/invprob/andromeda.py b/src/vip_hci/invprob/andromeda.py similarity index 100% rename from vip_hci/invprob/andromeda.py rename to src/vip_hci/invprob/andromeda.py diff --git a/vip_hci/invprob/fmmf.py b/src/vip_hci/invprob/fmmf.py similarity index 100% rename from vip_hci/invprob/fmmf.py rename to src/vip_hci/invprob/fmmf.py diff --git a/vip_hci/invprob/paco.py b/src/vip_hci/invprob/paco.py similarity index 100% rename from vip_hci/invprob/paco.py rename to src/vip_hci/invprob/paco.py diff --git a/vip_hci/invprob/utils_andro.py b/src/vip_hci/invprob/utils_andro.py similarity index 100% rename from vip_hci/invprob/utils_andro.py rename to src/vip_hci/invprob/utils_andro.py diff --git a/vip_hci/metrics/__init__.py b/src/vip_hci/metrics/__init__.py similarity index 100% rename from vip_hci/metrics/__init__.py rename to src/vip_hci/metrics/__init__.py diff --git a/vip_hci/metrics/completeness.py b/src/vip_hci/metrics/completeness.py similarity index 100% rename from vip_hci/metrics/completeness.py rename to src/vip_hci/metrics/completeness.py diff --git a/vip_hci/metrics/contrcurve.py b/src/vip_hci/metrics/contrcurve.py similarity index 100% rename from vip_hci/metrics/contrcurve.py rename to src/vip_hci/metrics/contrcurve.py diff --git a/vip_hci/metrics/detection.py b/src/vip_hci/metrics/detection.py similarity index 100% rename from vip_hci/metrics/detection.py rename to src/vip_hci/metrics/detection.py diff --git a/vip_hci/metrics/roc.py b/src/vip_hci/metrics/roc.py similarity index 100% rename from vip_hci/metrics/roc.py rename to src/vip_hci/metrics/roc.py diff --git a/vip_hci/metrics/snr_source.py b/src/vip_hci/metrics/snr_source.py similarity index 100% rename from vip_hci/metrics/snr_source.py rename to src/vip_hci/metrics/snr_source.py diff --git a/vip_hci/metrics/stim.py b/src/vip_hci/metrics/stim.py similarity index 100% rename from vip_hci/metrics/stim.py rename to src/vip_hci/metrics/stim.py diff --git a/vip_hci/objects/__init__.py b/src/vip_hci/objects/__init__.py similarity index 100% rename from vip_hci/objects/__init__.py rename to src/vip_hci/objects/__init__.py diff --git a/vip_hci/objects/dataset.py b/src/vip_hci/objects/dataset.py similarity index 100% rename from vip_hci/objects/dataset.py rename to src/vip_hci/objects/dataset.py diff --git a/vip_hci/objects/postproc.py b/src/vip_hci/objects/postproc.py similarity index 100% rename from vip_hci/objects/postproc.py rename to src/vip_hci/objects/postproc.py diff --git a/vip_hci/objects/ppandromeda.py b/src/vip_hci/objects/ppandromeda.py similarity index 100% rename from vip_hci/objects/ppandromeda.py rename to src/vip_hci/objects/ppandromeda.py diff --git a/vip_hci/objects/ppfmmf.py b/src/vip_hci/objects/ppfmmf.py similarity index 100% rename from vip_hci/objects/ppfmmf.py rename to src/vip_hci/objects/ppfmmf.py diff --git a/vip_hci/objects/ppframediff.py b/src/vip_hci/objects/ppframediff.py similarity index 100% rename from vip_hci/objects/ppframediff.py rename to src/vip_hci/objects/ppframediff.py diff --git a/vip_hci/objects/ppllsg.py b/src/vip_hci/objects/ppllsg.py similarity index 100% rename from vip_hci/objects/ppllsg.py rename to src/vip_hci/objects/ppllsg.py diff --git a/vip_hci/objects/pploci.py b/src/vip_hci/objects/pploci.py similarity index 100% rename from vip_hci/objects/pploci.py rename to src/vip_hci/objects/pploci.py diff --git a/vip_hci/objects/ppmediansub.py b/src/vip_hci/objects/ppmediansub.py similarity index 100% rename from vip_hci/objects/ppmediansub.py rename to src/vip_hci/objects/ppmediansub.py diff --git a/vip_hci/objects/ppnmf.py b/src/vip_hci/objects/ppnmf.py similarity index 100% rename from vip_hci/objects/ppnmf.py rename to src/vip_hci/objects/ppnmf.py diff --git a/vip_hci/objects/pppca.py b/src/vip_hci/objects/pppca.py similarity index 100% rename from vip_hci/objects/pppca.py rename to src/vip_hci/objects/pppca.py diff --git a/vip_hci/preproc/__init__.py b/src/vip_hci/preproc/__init__.py similarity index 100% rename from vip_hci/preproc/__init__.py rename to src/vip_hci/preproc/__init__.py diff --git a/vip_hci/preproc/badframes.py b/src/vip_hci/preproc/badframes.py similarity index 100% rename from vip_hci/preproc/badframes.py rename to src/vip_hci/preproc/badframes.py diff --git a/vip_hci/preproc/badpixremoval.py b/src/vip_hci/preproc/badpixremoval.py similarity index 100% rename from vip_hci/preproc/badpixremoval.py rename to src/vip_hci/preproc/badpixremoval.py diff --git a/vip_hci/preproc/cosmetics.py b/src/vip_hci/preproc/cosmetics.py similarity index 100% rename from vip_hci/preproc/cosmetics.py rename to src/vip_hci/preproc/cosmetics.py diff --git a/vip_hci/preproc/derotation.py b/src/vip_hci/preproc/derotation.py similarity index 100% rename from vip_hci/preproc/derotation.py rename to src/vip_hci/preproc/derotation.py diff --git a/vip_hci/preproc/parangles.py b/src/vip_hci/preproc/parangles.py similarity index 100% rename from vip_hci/preproc/parangles.py rename to src/vip_hci/preproc/parangles.py diff --git a/vip_hci/preproc/recentering.py b/src/vip_hci/preproc/recentering.py similarity index 100% rename from vip_hci/preproc/recentering.py rename to src/vip_hci/preproc/recentering.py diff --git a/vip_hci/preproc/rescaling.py b/src/vip_hci/preproc/rescaling.py similarity index 100% rename from vip_hci/preproc/rescaling.py rename to src/vip_hci/preproc/rescaling.py diff --git a/vip_hci/preproc/skysubtraction.py b/src/vip_hci/preproc/skysubtraction.py similarity index 100% rename from vip_hci/preproc/skysubtraction.py rename to src/vip_hci/preproc/skysubtraction.py diff --git a/vip_hci/preproc/subsampling.py b/src/vip_hci/preproc/subsampling.py similarity index 100% rename from vip_hci/preproc/subsampling.py rename to src/vip_hci/preproc/subsampling.py diff --git a/vip_hci/psfsub/__init__.py b/src/vip_hci/psfsub/__init__.py similarity index 100% rename from vip_hci/psfsub/__init__.py rename to src/vip_hci/psfsub/__init__.py diff --git a/vip_hci/psfsub/framediff.py b/src/vip_hci/psfsub/framediff.py similarity index 100% rename from vip_hci/psfsub/framediff.py rename to src/vip_hci/psfsub/framediff.py diff --git a/vip_hci/psfsub/llsg.py b/src/vip_hci/psfsub/llsg.py similarity index 100% rename from vip_hci/psfsub/llsg.py rename to src/vip_hci/psfsub/llsg.py diff --git a/vip_hci/psfsub/loci.py b/src/vip_hci/psfsub/loci.py similarity index 100% rename from vip_hci/psfsub/loci.py rename to src/vip_hci/psfsub/loci.py diff --git a/vip_hci/psfsub/medsub.py b/src/vip_hci/psfsub/medsub.py similarity index 100% rename from vip_hci/psfsub/medsub.py rename to src/vip_hci/psfsub/medsub.py diff --git a/vip_hci/psfsub/nmf_fullfr.py b/src/vip_hci/psfsub/nmf_fullfr.py similarity index 100% rename from vip_hci/psfsub/nmf_fullfr.py rename to src/vip_hci/psfsub/nmf_fullfr.py diff --git a/vip_hci/psfsub/nmf_local.py b/src/vip_hci/psfsub/nmf_local.py similarity index 100% rename from vip_hci/psfsub/nmf_local.py rename to src/vip_hci/psfsub/nmf_local.py diff --git a/vip_hci/psfsub/pca_fullfr.py b/src/vip_hci/psfsub/pca_fullfr.py similarity index 100% rename from vip_hci/psfsub/pca_fullfr.py rename to src/vip_hci/psfsub/pca_fullfr.py diff --git a/vip_hci/psfsub/pca_local.py b/src/vip_hci/psfsub/pca_local.py similarity index 100% rename from vip_hci/psfsub/pca_local.py rename to src/vip_hci/psfsub/pca_local.py diff --git a/vip_hci/psfsub/rollsub.py b/src/vip_hci/psfsub/rollsub.py similarity index 100% rename from vip_hci/psfsub/rollsub.py rename to src/vip_hci/psfsub/rollsub.py diff --git a/vip_hci/psfsub/svd.py b/src/vip_hci/psfsub/svd.py similarity index 100% rename from vip_hci/psfsub/svd.py rename to src/vip_hci/psfsub/svd.py diff --git a/vip_hci/psfsub/utils_pca.py b/src/vip_hci/psfsub/utils_pca.py similarity index 100% rename from vip_hci/psfsub/utils_pca.py rename to src/vip_hci/psfsub/utils_pca.py diff --git a/vip_hci/stats/__init__.py b/src/vip_hci/stats/__init__.py similarity index 100% rename from vip_hci/stats/__init__.py rename to src/vip_hci/stats/__init__.py diff --git a/vip_hci/stats/bkg_proba.py b/src/vip_hci/stats/bkg_proba.py similarity index 100% rename from vip_hci/stats/bkg_proba.py rename to src/vip_hci/stats/bkg_proba.py diff --git a/vip_hci/stats/clip_sigma.py b/src/vip_hci/stats/clip_sigma.py similarity index 100% rename from vip_hci/stats/clip_sigma.py rename to src/vip_hci/stats/clip_sigma.py diff --git a/vip_hci/stats/distances.py b/src/vip_hci/stats/distances.py similarity index 100% rename from vip_hci/stats/distances.py rename to src/vip_hci/stats/distances.py diff --git a/vip_hci/stats/im_stats.py b/src/vip_hci/stats/im_stats.py similarity index 100% rename from vip_hci/stats/im_stats.py rename to src/vip_hci/stats/im_stats.py diff --git a/vip_hci/stats/utils_stats.py b/src/vip_hci/stats/utils_stats.py similarity index 100% rename from vip_hci/stats/utils_stats.py rename to src/vip_hci/stats/utils_stats.py diff --git a/vip_hci/var/__init__.py b/src/vip_hci/var/__init__.py similarity index 100% rename from vip_hci/var/__init__.py rename to src/vip_hci/var/__init__.py diff --git a/vip_hci/var/coords.py b/src/vip_hci/var/coords.py similarity index 100% rename from vip_hci/var/coords.py rename to src/vip_hci/var/coords.py diff --git a/vip_hci/var/filters.py b/src/vip_hci/var/filters.py similarity index 100% rename from vip_hci/var/filters.py rename to src/vip_hci/var/filters.py diff --git a/vip_hci/var/fit_2d.py b/src/vip_hci/var/fit_2d.py similarity index 100% rename from vip_hci/var/fit_2d.py rename to src/vip_hci/var/fit_2d.py diff --git a/vip_hci/var/iuwt.py b/src/vip_hci/var/iuwt.py similarity index 100% rename from vip_hci/var/iuwt.py rename to src/vip_hci/var/iuwt.py diff --git a/vip_hci/var/shapes.py b/src/vip_hci/var/shapes.py similarity index 100% rename from vip_hci/var/shapes.py rename to src/vip_hci/var/shapes.py diff --git a/vip_hci/vip_ds9.py b/src/vip_hci/vip_ds9.py similarity index 100% rename from vip_hci/vip_ds9.py rename to src/vip_hci/vip_ds9.py diff --git a/vip_hci/__init__.py b/vip_hci/__init__.py deleted file mode 100644 index f7c2af04..00000000 --- a/vip_hci/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -from . import preproc -from . import config -from . import fits -from . import invprob -from . import psfsub -from . import fm -from . import metrics -from . import stats -from . import var -from . import objects -from .vip_ds9 import * - -__version__ = "1.6.6" -# TODO: replace static __version__ with the following dynamic lookup -# (requires CI test against a built package rather than the source tree) -# def __getattr__(name: str): -# if name == '__version__': -# from importlib.metadata import version -# return version('vip_hci') -# raise AttributeError(f"module {__name__!r} has no attribute {name!r}")