diff --git a/poetry.lock b/poetry.lock index dd9a731..6954c8d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiofiles" @@ -309,54 +309,71 @@ wrapt = {version = ">=1.11,<2", markers = "python_version < \"3.11\""} [[package]] name = "astropy" -version = "5.3.4" +version = "6.1.7" description = "Astronomy and astrophysics core library" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "astropy-5.3.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6c63abc95d094cd3062e32c1ebf80c07502e4f3094b1e276458db5ce6b6a2"}, - {file = "astropy-5.3.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e85871ec762fc7eab2f7e716c97dad1b3c546bb75941ea7fae6c8eadd51f0bf8"}, - {file = "astropy-5.3.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e82fdad3417b70af381945aa42fdae0f11bc9aaf94b95027b1e24379bf847d6"}, - {file = "astropy-5.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbce56f46ec1051fd67a5e2244e5f2e08599a176fe524c0bee2294c62be317b3"}, - {file = "astropy-5.3.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a489c2322136b76a43208e3e9b5a7947a7fd624a10e49d2909b94f12b624da06"}, - {file = "astropy-5.3.4-cp310-cp310-win32.whl", hash = "sha256:c713695e39f5a874705bc3bd262c5d218890e3e7c43f0b6c0b5e7d46bdff527c"}, - {file = "astropy-5.3.4-cp310-cp310-win_amd64.whl", hash = "sha256:2576579befb0674cdfd18f5cc138c919a109c6886a25aa3d8ed8ab4e4607c581"}, - {file = "astropy-5.3.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ce096dde6b86a87aa84aec4198732ec379fbb7649af66a96f85b96d17214c2a"}, - {file = "astropy-5.3.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:830fb4b19c36bf8092fdd74ecf9df5b78c6435bf571c5e09b7f644875148a058"}, - {file = "astropy-5.3.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a707c534408d26d90014a1938af883f6cbf43a3dd78df8bb9a191d275c09f8d"}, - {file = "astropy-5.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0bb2b9b93bc879bcd032931e7fc07c3a3de6f9546fed17f0f12974e0ffc83e0"}, - {file = "astropy-5.3.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1fa4437fe8d1e103f14cb1cb4e8449c93ae4190b5e9fd97e9c61a5155de9af0d"}, - {file = "astropy-5.3.4-cp311-cp311-win32.whl", hash = "sha256:c656c7fd3d862bcb9d3c4a87b8e9488d0c351b4edf348410c09a26641b9d4731"}, - {file = "astropy-5.3.4-cp311-cp311-win_amd64.whl", hash = "sha256:4c4971abae8e3ddfb8f40447d78aaf24e6ce44b976b3874770ff533609050366"}, - {file = "astropy-5.3.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:887db411555692fb1858ae305f87fd2ff42a021b68c78abbf3fa1fc64641e895"}, - {file = "astropy-5.3.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e4033d7a6bd2da38b83ec65f7282dfeb2641f2b2d41b1cd392cdbe3d6f8abfff"}, - {file = "astropy-5.3.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2cc6503b79d4fb61ca80e1d37dd609fabca6d2e0124e17f831cc08c2e6ff75e"}, - {file = "astropy-5.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3f9fe1d76d151428a8d2bc7d50f4a47ae6e7141c11880a3ad259ac7b906b03"}, - {file = "astropy-5.3.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:6e0f7ecbb2a8acb3eace99bcaca30dd1ce001e6f4750a009fd9cc3b8d1b49c58"}, - {file = "astropy-5.3.4-cp312-cp312-win32.whl", hash = "sha256:d915e6370315a1a6a40c2576e77d0063f48cc3b5f8873087cad8ad19dd429d19"}, - {file = "astropy-5.3.4-cp312-cp312-win_amd64.whl", hash = "sha256:69f5a3789a8a4cb00815630b63f950be629a983896dc1aba92566ccc7937a77d"}, - {file = "astropy-5.3.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d5d1a1be788344f11a94a5356c1a25b4d45f1736b740edb4d8e3a272b872a8fa"}, - {file = "astropy-5.3.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ae59e4d41461ad96a2573bc51408000a7b4f90dce2bad07646fa6409a12a5a74"}, - {file = "astropy-5.3.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4c4d3a14e8e3a33208683331b16a721ab9f9493ed998d34533532fdaeaa3642"}, - {file = "astropy-5.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f58f53294f07cd3f9173bb113ad60d2cd823501c99251891936202fed76681"}, - {file = "astropy-5.3.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f79400dc6641bb0202a8998cfb08ad1afe197818e27c946491a292e2ffd16a1b"}, - {file = "astropy-5.3.4-cp39-cp39-win32.whl", hash = "sha256:fd0baa7621d03aa74bb8ba673d7955381d15aed4f30dc2a56654560401fc3aca"}, - {file = "astropy-5.3.4-cp39-cp39-win_amd64.whl", hash = "sha256:9ed6116d07de02183d966e9a5dabc86f6fd3d86cc3e1e8b9feef89fd757be8a6"}, - {file = "astropy-5.3.4.tar.gz", hash = "sha256:d490f7e2faac2ccc01c9244202d629154259af8a979104ced89dc4ace4e6f1d8"}, -] - -[package.dependencies] -numpy = ">=1.21,<2" + {file = "astropy-6.1.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:be954c5f7707a089609053665aeb76493b79e5c4753c39486761bc6d137bf040"}, + {file = "astropy-6.1.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5e48df5ab2e3e521e82a7233a4b1159d071e64e6cbb76c45415dc68d3b97af1"}, + {file = "astropy-6.1.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55c78252633c644361e2f7092d71f80ef9c2e6649f08d97711d9f19af514aedc"}, + {file = "astropy-6.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:985e5e74489d23f1a11953b6b283fccde3f46cb6c68fee4f7228e5f6d8350ba9"}, + {file = "astropy-6.1.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dc2ea28ed41a3d92c39b1481d9c5be016ae58d68f144f3fd8cecffe503525bab"}, + {file = "astropy-6.1.7-cp310-cp310-win32.whl", hash = "sha256:4e4badadd8dfa5dca08fd86e9a50a3a91af321975859f5941579e6b7ce9ba199"}, + {file = "astropy-6.1.7-cp310-cp310-win_amd64.whl", hash = "sha256:8d7f6727689288ee08fc0a4a297fc7e8089d01718321646bd00fea0906ad63dc"}, + {file = "astropy-6.1.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:09edca01276ee63f7b2ff511da9bfb432068ba3242e27ef27d76e5a171087b7e"}, + {file = "astropy-6.1.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:072f62a67992393beb016dc80bee8fb994fda9aa69e945f536ed8ac0e51291e6"}, + {file = "astropy-6.1.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2706156d3646f9c9a7fc810475d8ab0df4c717beefa8326552576a0f8ddca20"}, + {file = "astropy-6.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcd99e627692f8e58bb3097d330bfbd109a22e00dab162a67f203b0a0601ad2c"}, + {file = "astropy-6.1.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b0ebbcb637b2e9bcb73011f2b7890d7a3f5a41b66ccaad7c28f065e81e28f0b2"}, + {file = "astropy-6.1.7-cp311-cp311-win32.whl", hash = "sha256:192b12ede49cd828362ab1a6ede2367fe203f4d851804ec22fa92e009a524281"}, + {file = "astropy-6.1.7-cp311-cp311-win_amd64.whl", hash = "sha256:3cac64bcdf570c947019bd2bc96711eeb2c7763afe192f18c9551e52a6c296b2"}, + {file = "astropy-6.1.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f2a8bcbb1306052cc38c9eed2c9331bfafe2582b499a7321946abf74b26eb256"}, + {file = "astropy-6.1.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:eaf88878684f9d31aff36475c90d101f4cff22fdd4fd50098d9950fd56994df7"}, + {file = "astropy-6.1.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb8cd231e53556e4eebe0393ea95a8cea6b2ff4187c95ac4ff8b17e7a8da823"}, + {file = "astropy-6.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ad36334d138a4f71d6fdcf225a98ad1dad6c343da4362d5a47a71f5c9da3ca9"}, + {file = "astropy-6.1.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dd731c526869d0c68507be7b31dd10871b7c44d310bb5495476505560c83cd33"}, + {file = "astropy-6.1.7-cp312-cp312-win32.whl", hash = "sha256:662bacd7ae42561e038cbd85eea3b749308cf3575611a745b60f034d3350c97a"}, + {file = "astropy-6.1.7-cp312-cp312-win_amd64.whl", hash = "sha256:5b4d02a98a0bf91ff7fd4ef0bd0ecca83c9497338cb88b61ec9f971350688222"}, + {file = "astropy-6.1.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fbeaf04427987c0c6fa2e579eb40011802b06fba6b3a7870e082d5c693564e1b"}, + {file = "astropy-6.1.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ab6e88241a14185b9404b02246329185b70292984aa0616b20a0628dfe4f4ebb"}, + {file = "astropy-6.1.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0529c75565feaabb629946806b4763ae7b02069aeff4c3b56a69e8a9e638500"}, + {file = "astropy-6.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c5ec347631da77573fc729ba04e5d89a3bc94500bf6037152a2d0f9965ae1ce"}, + {file = "astropy-6.1.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc496f87aaccaa5c6624acc985b8770f039c5bbe74b120c8ed7bad3698e24e1b"}, + {file = "astropy-6.1.7-cp313-cp313-win32.whl", hash = "sha256:b1e01d534383c038dbf8664b964fa4ea818c7419318830d3c732c750c64115c6"}, + {file = "astropy-6.1.7-cp313-cp313-win_amd64.whl", hash = "sha256:af08cf2b0368f1ea585eb26a55d99a2de9e9b0bd30aba84b5329059c3ec33590"}, + {file = "astropy-6.1.7.tar.gz", hash = "sha256:a405ac186306b6cb152e6df2f7444ab8bd764e4127d7519da1b3ae4dd65357ef"}, +] + +[package.dependencies] +astropy-iers-data = ">=0.2024.10.28.0.34.7" +numpy = ">=1.23" packaging = ">=19.0" -pyerfa = ">=2.0" +pyerfa = ">=2.0.1.1" PyYAML = ">=3.13" [package.extras] -all = ["asdf (>=2.10.0)", "beautifulsoup4", "bleach", "bottleneck", "certifi", "dask[array]", "fsspec[http] (>=2022.8.2)", "h5py", "html5lib", "ipython (>=4.2)", "jplephem", "matplotlib (>=3.3,!=3.4.0,!=3.5.2)", "mpmath", "pandas", "pre-commit", "pyarrow (>=5.0.0)", "pytest (>=7.0,<8)", "pytz", "s3fs (>=2022.8.2)", "scipy (>=1.5)", "sortedcontainers", "typing-extensions (>=3.10.0.1)"] -docs = ["Jinja2 (>=3.0)", "matplotlib (>=3.3,!=3.4.0,!=3.5.2)", "pytest (>=7.0,<8)", "scipy (>=1.3)", "sphinx", "sphinx-astropy (>=1.6)", "sphinx-changelog (>=1.2.0)"] -recommended = ["matplotlib (>=3.3,!=3.4.0,!=3.5.2)", "scipy (>=1.5)"] -test = ["pytest (>=7.0,<8)", "pytest-astropy (>=0.10)", "pytest-astropy-header (>=0.2.1)", "pytest-doctestplus (>=0.12)", "pytest-xdist"] -test-all = ["coverage[toml]", "ipython (>=4.2)", "objgraph", "pytest (>=7.0,<8)", "pytest-astropy (>=0.10)", "pytest-astropy-header (>=0.2.1)", "pytest-doctestplus (>=0.12)", "pytest-xdist", "sgp4 (>=2.3)", "skyfield (>=1.20)"] +all = ["asdf-astropy (>=0.3)", "astropy[recommended]", "astropy[typing]", "beautifulsoup4", "bleach", "bottleneck", "certifi", "dask[array]", "fsspec[http] (>=2023.4.0)", "h5py", "html5lib", "ipython (>=4.2)", "jplephem", "mpmath", "pandas", "pre-commit", "pyarrow (>=7.0.0)", "pytest (>=7.0)", "pytz", "s3fs (>=2023.4.0)", "sortedcontainers"] +docs = ["Jinja2 (>=3.1.3)", "astropy[recommended]", "matplotlib (>=3.9.1)", "numpy (<2.0)", "pytest (>=7.0)", "sphinx", "sphinx-astropy[confv2] (>=1.9.1)", "sphinx-changelog (>=1.2.0)", "sphinx_design", "sphinxcontrib-globalsubs (>=0.1.1)", "tomli"] +recommended = ["matplotlib (>=3.5.0,!=3.5.2)", "scipy (>=1.8)"] +test = ["pytest (>=7.0)", "pytest-astropy (>=0.10)", "pytest-astropy-header (>=0.2.1)", "pytest-doctestplus (>=0.12)", "pytest-xdist", "threadpoolctl"] +test-all = ["array-api-strict", "astropy[test]", "coverage[toml]", "ipython (>=4.2)", "objgraph", "sgp4 (>=2.3)", "skyfield (>=1.20)"] +typing = ["typing_extensions (>=4.0.0)"] + +[[package]] +name = "astropy-iers-data" +version = "0.2025.1.6.0.33.42" +description = "IERS Earth Rotation and Leap Second tables for the astropy core package" +optional = false +python-versions = ">=3.8" +files = [ + {file = "astropy_iers_data-0.2025.1.6.0.33.42-py3-none-any.whl", hash = "sha256:32fb70d788e200f70cba1e44f0b1798a51836ac586920bd168e73ec312aae773"}, + {file = "astropy_iers_data-0.2025.1.6.0.33.42.tar.gz", hash = "sha256:0c7e61bcadbafa7db073074eb5f90754449fab65e59abbbc9a65004b5eb4e763"}, +] + +[package.extras] +docs = ["pytest"] +test = ["hypothesis", "pytest", "pytest-remotedata"] [[package]] name = "astroquery" @@ -586,18 +603,19 @@ bqplot = ">=0.12,<0.13" [[package]] name = "bqplot-image-gl" -version = "1.4.11" +version = "1.6.0" description = "An ipywidget image widget for astronomical purposes" optional = true -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "bqplot-image-gl-1.4.11.tar.gz", hash = "sha256:fc0079e9da7bcf33258133ff07f3af1b664390890fc32458934460b838047233"}, - {file = "bqplot_image_gl-1.4.11-py2.py3-none-any.whl", hash = "sha256:2adeeb835391c231979d706a812b15edd350bea86757fa803d9f2a47e0c9c526"}, + {file = "bqplot_image_gl-1.6.0-py3-none-any.whl", hash = "sha256:9fa27eeb755884a1ab3fa0ebe921f6828d583fba1cb7e8250f0d94639647a122"}, + {file = "bqplot_image_gl-1.6.0.tar.gz", hash = "sha256:bc010fb14f0b25cdd74ecd982b2885523da4d7694258ed9355f2ed4bc22a82ed"}, ] [package.dependencies] bqplot = ">=0.12" ipywidgets = ">=7.0.0" +pillow = "*" [[package]] name = "branca" @@ -1803,21 +1821,21 @@ visualtest = ["pytest-mpl"] [[package]] name = "glue-jupyter" -version = "0.21.0" +version = "0.23.1" description = "Jupyter notebook/lab viewers for glue" optional = true python-versions = ">=3.8" files = [ - {file = "glue_jupyter-0.21.0-py3-none-any.whl", hash = "sha256:4042111a1c4cd4484d87f85e5e0538ecc272c866e8cb15e9b57c9f8beb2e0b47"}, - {file = "glue_jupyter-0.21.0.tar.gz", hash = "sha256:ddf6388ab4de15b1ec833d1361d9fd9c30628e5fde93519e2706004a7cc75c81"}, + {file = "glue_jupyter-0.23.1-py3-none-any.whl", hash = "sha256:a76a70a88aa70f23b3e6c5729b51449769b2bbd0954b5fbdbc1db84ec7f6b4f3"}, + {file = "glue_jupyter-0.23.1.tar.gz", hash = "sha256:f0d240718312afeab849d4701a9313bcefbae33b982db22b233d9cf7a87b97ff"}, ] [package.dependencies] bqplot = ">=0.12.17" bqplot-gl = "*" -bqplot-image-gl = ">=1.4.3" +bqplot-image-gl = ">=1.5.0" glue-core = ">=1.20.0" -glue-vispy-viewers = ">=1.0" +glue-vispy-viewers = {version = ">=1.2.1", extras = ["jupyter"]} ipympl = ">=0.3.0" ipyvolume = {version = ">=0.6.0a10", markers = "python_version >= \"3.8\""} ipyvue = ">=1.2.0,<2" @@ -1846,7 +1864,9 @@ files = [ echo = ">=0.6" glfw = "*" glue-core = ">=1.13.1" +glue-jupyter = {version = "*", optional = true, markers = "extra == \"jupyter\""} imageio = "*" +jupyter-rfb = {version = "*", optional = true, markers = "extra == \"jupyter\""} matplotlib = "*" numpy = "*" pyopengl = "*" @@ -2376,13 +2396,13 @@ docs = ["myst-nb", "sphinx (>=1.5)", "sphinx-book-theme", "sphinx-copybutton", " [[package]] name = "ipypopout" -version = "1.4.0" +version = "2.0.0" description = "" optional = true python-versions = "*" files = [ - {file = "ipypopout-1.4.0-py2.py3-none-any.whl", hash = "sha256:f727af69fe0ce580cdec5383c27d11669b80030625087476f66503e04a13d5ca"}, - {file = "ipypopout-1.4.0.tar.gz", hash = "sha256:5bad4f3a65994747480b5710c52c64a576c26b0d0232da6092cd0755fce82c2c"}, + {file = "ipypopout-2.0.0-py2.py3-none-any.whl", hash = "sha256:63a7c81c64aebc0903fcec8c877522b1f92be3ace8602f40eef7b17a0864d1c9"}, + {file = "ipypopout-2.0.0.tar.gz", hash = "sha256:44a114c6deae0502fa87b0e2a15bd01cfea7e2722f5efd2d672c8b7f3f654587"}, ] [package.dependencies] @@ -2390,7 +2410,7 @@ ipyvuetify = ">=1.7.0,<2" ipywidgets = ">=7.7" [package.extras] -solara = ["solara (>=1.36)"] +solara = ["solara-server (>=1.40.0)"] test = ["solara[pytest]"] voila = ["voila (>=0.2.10,<0.5)"] @@ -2646,53 +2666,55 @@ testing = ["jaraco.classes", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest [[package]] name = "jdaviz" -version = "3.10.3" +version = "4.1.0" description = "Astronomical data analysis development leveraging the Jupyter platform" optional = true python-versions = ">=3.10" files = [ - {file = "jdaviz-3.10.3-py3-none-any.whl", hash = "sha256:dbcbbca5d744aedc03f0c97c38da51cb6a5cbb8d5c87c3638017e14962c937f3"}, - {file = "jdaviz-3.10.3.tar.gz", hash = "sha256:78cb5f11c89a7cf68e406cb2596aef84445426dc2f23e79d9ca85cd9d5732841"}, + {file = "jdaviz-4.1.0-py3-none-any.whl", hash = "sha256:a2e83f0c284b430c5e25b57594958163d48552321bcdaf9249e1bc9cadddde1a"}, + {file = "jdaviz-4.1.0.tar.gz", hash = "sha256:fb676aae845c4ff8920450ef2ba4e26767a668cc16be0e219a1ce6de1d5a9de8"}, ] [package.dependencies] asdf = ">=2.14.3" asteval = ">=0.9.23" -astropy = ">=4.3" +astropy = ">=6" astroquery = "*" bqplot = ">=0.12.37" -bqplot-image-gl = ">=1.4.11" echo = ">=0.5.0" glue-astronomy = ">=0.10" -glue-core = ">=1.18.0" -glue-jupyter = ">=0.20" +glue-core = ">=1.20.0" +glue-jupyter = ">=0.23.0" gwcs = ">=0.16.1" idna = "*" ipygoldenlayout = ">=0.3.0" ipykernel = ">=6.19.4" -ipypopout = ">=0.0.11" +ipypopout = ">=2.0.0" ipysplitpanes = ">=0.1.0" ipyvue = ">=1.6" ipyvuetify = ">=1.7.0" ipywidgets = ">=8.0.6" matplotlib = ">=3.6" +nbclassic = "*" packaging = "*" photutils = ">=1.4" pyyaml = ">=5.4.1" regions = ">=0.6" +requests = "*" scikit-image = "*" sidecar = ">=0.5.2" -specreduce = ">=1.3.0,<1.4.0" -specutils = ">=1.15" +solara = ">=1.40.0" +specreduce = ">=1.4.1" +specutils = ">=1.18" stdatamodels = ">=1.3" traitlets = ">=5.0.5" vispy = ">=0.6.5" -voila = ">=0.4,<0.5" [package.extras] all = ["opencv-python", "pysiaf"] -docs = ["sphinx-astropy[confv2] (>=1.9.1)", "sphinx-design"] -roman = ["roman-datamodels (>=0.17.1)"] +docs = ["sphinx-astropy[confv2] (>=1.9.1)", "sphinx_design"] +roman = ["roman_datamodels (>=0.22.0)"] +strauss = ["strauss"] test = ["pytest", "pytest-astropy", "pytest-tornasync"] [[package]] @@ -2925,6 +2947,22 @@ files = [ [package.dependencies] jupyter-server = ">=1.1.2" +[[package]] +name = "jupyter-rfb" +version = "0.4.4" +description = "Remote Frame Buffer for Jupyter" +optional = true +python-versions = ">=3.9" +files = [ + {file = "jupyter_rfb-0.4.4-py2.py3-none-any.whl", hash = "sha256:0c1689bfc1a50c2a5b1cb74168e75d06c313a3a916e95df4013b8decf7f59de8"}, + {file = "jupyter_rfb-0.4.4.tar.gz", hash = "sha256:40e9af8e29adb90b5f58c0b9cb646abc2a142e0ac5f00822ba65291d958945e7"}, +] + +[package.dependencies] +ipywidgets = ">=7.6.0,<9" +jupyterlab-widgets = "*" +numpy = "*" + [[package]] name = "jupyter-server" version = "2.14.1" @@ -3550,6 +3588,28 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "nbclassic" +version = "1.1.0" +description = "Jupyter Notebook as a Jupyter Server extension." +optional = true +python-versions = ">=3.7" +files = [ + {file = "nbclassic-1.1.0-py3-none-any.whl", hash = "sha256:8c0fd6e36e320a18657ff44ed96c3a400f17a903a3744fc322303a515778f2ba"}, + {file = "nbclassic-1.1.0.tar.gz", hash = "sha256:77b77ba85f9e988f9bad85df345b514e9e64c7f0e822992ab1df4a78ac64fc1e"}, +] + +[package.dependencies] +ipykernel = "*" +ipython-genutils = "*" +nest-asyncio = ">=1.5" +notebook-shim = ">=0.2.3" + +[package.extras] +docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +json-logging = ["json-logging"] +test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-playwright", "pytest-tornasync", "requests", "requests-unixsocket", "testpath"] + [[package]] name = "nbclient" version = "0.7.4" @@ -4396,6 +4456,7 @@ files = [ {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, @@ -4404,6 +4465,8 @@ files = [ {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, @@ -5142,6 +5205,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -5149,8 +5213,16 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -5167,6 +5239,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -5174,6 +5247,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -5425,13 +5499,13 @@ full = ["numpy"] [[package]] name = "reacton" -version = "1.8.3" +version = "1.9.0" description = "" optional = true python-versions = "*" files = [ - {file = "reacton-1.8.3-py2.py3-none-any.whl", hash = "sha256:36ea1f347345b14e4a9a58c6f866fefa04ec0e46a91c99355aeb756e066b770a"}, - {file = "reacton-1.8.3.tar.gz", hash = "sha256:db0b42242746c902a31220a52efcb8964ba4e1e0cff2c5145b75569547811bff"}, + {file = "reacton-1.9.0-py2.py3-none-any.whl", hash = "sha256:ab11a575237447c1e6402d09c7981d024888176710696698942890368d298afc"}, + {file = "reacton-1.9.0.tar.gz", hash = "sha256:36b2d1eefc8d4d3ccce74ce1a78cb502b948eadb27758702acb9a7f9f46fd7fb"}, ] [package.dependencies] @@ -5439,7 +5513,7 @@ ipywidgets = "*" typing-extensions = ">=4.1.1" [package.extras] -dev = ["black", "bqplot", "bump2version", "coverage", "flake8", "ipykernel", "ipyvuetify", "jinja2", "mypy", "numpy", "pandas", "pre-commit", "pytest", "pytest-cov"] +dev = ["bqplot", "bump2version", "coverage", "ipykernel", "ipyvuetify", "jinja2", "mypy", "numpy (<2)", "pandas", "pre-commit", "pytest", "pytest-cov", "ruff"] generate = ["black", "bqplot", "jinja2", "mypy"] [[package]] @@ -5879,7 +5953,7 @@ test = ["pytest", "pytest-doctestplus"] type = "git" url = "https://github.com/sdss/sdss_solara.git" reference = "main" -resolved_reference = "2223f2496221fdfa6d44baa3dc9839c7781c6422" +resolved_reference = "5dbc4357a67941e6c35c380f8b1cb09691091bdd" [[package]] name = "sdss-tree" @@ -6114,35 +6188,35 @@ files = [ [[package]] name = "solara" -version = "1.39.0" +version = "1.42.0" description = "" optional = true python-versions = "*" files = [ - {file = "solara-1.39.0-py2.py3-none-any.whl", hash = "sha256:c9b016b28055d7fdaf2cf0c0231b93b1eec0eb59473d5b29473d472e6cfa4505"}, - {file = "solara-1.39.0.tar.gz", hash = "sha256:77a930cad4decea4cb24f519b43b0d39be633d95ea593d497a80483aebeb8bb2"}, + {file = "solara-1.42.0-py2.py3-none-any.whl", hash = "sha256:5ad674bcc3facdf0574c7c3d3de758cec883a8e4272b7bef78411ce4e2ebb835"}, + {file = "solara-1.42.0.tar.gz", hash = "sha256:9cc27d178e2b98e958afbaf7a429b38fa04562db807da1ec6203fd2e4c6daf55"}, ] [package.dependencies] -solara-server = {version = "1.39.0", extras = ["dev", "starlette"]} -solara-ui = {version = "1.39.0", extras = ["all"]} +solara-server = {version = "1.42.0", extras = ["dev", "starlette"]} +solara-ui = {version = "1.42.0", extras = ["all"]} [package.extras] -all = ["solara[assets]", "solara[dev]", "solara[documentation]", "solara[pytest]"] -assets = ["solara-assets (==1.39.0)"] -dev = ["bqplot", "bqplot-image-gl", "bump2version", "codespell", "dask[dataframe]", "ipyreact", "mdit-py-plugins", "mypy", "numpy (<2)", "playwright", "plotly", "polars", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytest-playwright", "pytest-timeout", "python-dotenv", "ruff", "types-markdown", "types-pyyaml", "types-requests", "vaex-core", "vaex-hdf5", "vaex-jupyter"] -documentation = ["altair", "bqplot", "folium", "ipycanvas", "ipyleaflet", "matplotlib", "numpy (<2)", "openai", "plotly", "tiktoken", "vaex-core", "vaex-hdf5", "vega-datasets"] -pytest = ["pytest-ipywidgets[all] (==1.39.0)"] +all = ["altair", "bqplot", "bqplot-image-gl", "bump2version", "codespell", "dask[dataframe]", "folium", "ipyaggrid", "ipycanvas", "ipyleaflet", "ipyreact", "matplotlib", "mdit-py-plugins", "mkdocs-pycafe", "mypy", "numpy (<2)", "openai", "playwright", "plotly", "polars", "pre-commit", "pytest", "pytest-cov", "pytest-ipywidgets[all] (==1.42.0)", "pytest-mock", "pytest-playwright", "pytest-timeout", "python-dotenv", "ruff", "solara-assets (==1.42.0)", "tiktoken", "types-markdown", "types-pyyaml", "types-requests", "vaex-core", "vaex-hdf5", "vaex-jupyter", "vega-datasets"] +assets = ["solara-assets (==1.42.0)"] +dev = ["bqplot", "bqplot-image-gl", "bump2version", "codespell", "dask[dataframe]", "ipyaggrid", "ipyreact", "mdit-py-plugins", "mypy", "numpy (<2)", "playwright", "plotly", "polars", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytest-playwright", "pytest-timeout", "python-dotenv", "ruff", "types-markdown", "types-pyyaml", "types-requests", "vaex-core", "vaex-hdf5", "vaex-jupyter"] +documentation = ["altair", "bqplot", "folium", "ipycanvas", "ipyleaflet", "matplotlib", "mkdocs-pycafe", "numpy (<2)", "openai", "plotly", "tiktoken", "vaex-core", "vaex-hdf5", "vega-datasets"] +pytest = ["pytest-ipywidgets[all] (==1.42.0)"] [[package]] name = "solara-server" -version = "1.39.0" +version = "1.42.0" description = "" optional = true python-versions = "*" files = [ - {file = "solara_server-1.39.0-py2.py3-none-any.whl", hash = "sha256:a16160cc423d39a70bab42ca2b3a51a305596464c5233e2c84d7988ee15c9e3b"}, - {file = "solara_server-1.39.0.tar.gz", hash = "sha256:af4e273da9fd9e1497cc4b77e424071b2b424ae92b61c457f7adc5e0b1528232"}, + {file = "solara_server-1.42.0-py2.py3-none-any.whl", hash = "sha256:31c233be8fa9da12558fc7f9dbaaca9a1088afc26823c89c4681995d5199a18d"}, + {file = "solara_server-1.42.0.tar.gz", hash = "sha256:7e09fcd45d501923ddc6c20172bb87be81a80ce0d0b1ca1e493b247181a00a4f"}, ] [package.dependencies] @@ -6150,7 +6224,7 @@ click = ">=7.1.0" filelock = "*" ipykernel = "*" jinja2 = "*" -jupyter-client = ">=7.0.0" +jupyter-client = "*" nbformat = "*" rich-click = "*" solara-ui = "*" @@ -6161,38 +6235,38 @@ watchfiles = {version = "*", optional = true, markers = "python_version > \"3.6\ websockets = {version = "*", optional = true, markers = "extra == \"starlette\""} [package.extras] -all = ["solara-server[dev]", "solara-server[flask]", "solara-server[starlette]"] +all = ["flask", "flask-sock", "starlette", "uvicorn", "watchdog", "watchfiles", "websockets"] dev = ["watchdog", "watchfiles"] flask = ["flask", "flask-sock"] starlette = ["starlette", "uvicorn", "websockets"] [[package]] name = "solara-ui" -version = "1.39.0" +version = "1.42.0" description = "" optional = true python-versions = "*" files = [ - {file = "solara_ui-1.39.0-py2.py3-none-any.whl", hash = "sha256:87fd10fd08573af1e1237160b4a043f84073afdf89e73f337fb44526238d26b6"}, - {file = "solara_ui-1.39.0.tar.gz", hash = "sha256:586a8d10ac23526ad62ab819bcbba4de1432738eaef96e371ce2a076f3fdcd6c"}, + {file = "solara_ui-1.42.0-py2.py3-none-any.whl", hash = "sha256:83516136ad05fb04191adeadff8c9beae0753fbfd5c355bec912f12f555390ad"}, + {file = "solara_ui-1.42.0.tar.gz", hash = "sha256:2f6726e3bd424c0e321eaad97a2107686c2b08c52db36675f12094e4389e9dfd"}, ] [package.dependencies] -cachetools = {version = "*", optional = true, markers = "extra == \"cache\""} +cachetools = {version = "*", optional = true, markers = "extra == \"all\""} humanize = "*" ipyvue = ">=1.9.0" ipyvuetify = ">=1.6.10" ipywidgets = ">=7.7" -markdown = {version = "*", optional = true, markers = "extra == \"markdown\""} -numpy = {version = "*", optional = true, markers = "extra == \"extra\""} -pillow = {version = "*", optional = true, markers = "extra == \"extra\""} -pygments = {version = "*", optional = true, markers = "extra == \"markdown\""} -pymdown-extensions = {version = "*", optional = true, markers = "extra == \"markdown\""} +markdown = {version = "*", optional = true, markers = "extra == \"all\""} +numpy = {version = "*", optional = true, markers = "extra == \"all\""} +pillow = {version = "*", optional = true, markers = "extra == \"all\""} +pygments = {version = "*", optional = true, markers = "extra == \"all\""} +pymdown-extensions = {version = "*", optional = true, markers = "extra == \"all\""} reacton = ">=1.7.1" requests = "*" [package.extras] -all = ["solara-ui[cache]", "solara-ui[extra]", "solara-ui[markdown]"] +all = ["cachetools", "markdown", "numpy", "pillow", "pygments", "pygments (==2.10)", "pymdown-extensions"] cache = ["cachetools"] extra = ["numpy", "pillow"] markdown = ["markdown", "pygments", "pygments (==2.10)", "pymdown-extensions"] @@ -6210,26 +6284,26 @@ files = [ [[package]] name = "specreduce" -version = "1.3.0" -description = "Astropy affiliated package for Spectroscopic Reductions" +version = "1.4.1" +description = "Astropy coordinated package for Spectroscopic Reductions" optional = true -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "specreduce-1.3.0-py3-none-any.whl", hash = "sha256:883057908debead294a3e8e2af2b953f51e8dc215c596f32860fae9b81cb1222"}, - {file = "specreduce-1.3.0.tar.gz", hash = "sha256:04cc6b9c47886d45ece7f2902ef834b359d93681ad3ba0d0adbfd0743ed19973"}, + {file = "specreduce-1.4.1-py3-none-any.whl", hash = "sha256:dfcf23bdeda9b8c9ada7e0b51d6eeceb905654cd8b6f004d633a6b491c2b6ded"}, + {file = "specreduce-1.4.1.tar.gz", hash = "sha256:dac8fb421002c953a32214c32e10e8cdc4721fd5170e7700e0778e2f34276a91"}, ] [package.dependencies] astropy = "*" -matplotlib = "*" -photutils = "*" +gwcs = "*" +numpy = "*" +scipy = "*" specutils = ">=1.9.1" -synphot = "*" [package.extras] -data = ["specreduce-data"] -docs = ["sphinx-astropy"] -test = ["pytest-astropy"] +all = ["matplotlib", "photutils", "synphot"] +docs = ["matplotlib", "photutils", "sphinx-astropy", "synphot"] +test = ["photutils", "pytest-astropy", "tox"] [[package]] name = "spectral-cube" @@ -6261,13 +6335,13 @@ viz-extra = ["glue-core[qt]", "yt"] [[package]] name = "specutils" -version = "1.15.0" +version = "1.19.0" description = "Package for spectroscopic astronomical data" optional = true -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "specutils-1.15.0-py3-none-any.whl", hash = "sha256:6df749b100ce9a373628804b93e9d00f26dad97a24513ac34ceb4306affac94c"}, - {file = "specutils-1.15.0.tar.gz", hash = "sha256:f20a4d1b6432c008fcabf13c519aca532f25435167f551d4697bd59d6c03a93f"}, + {file = "specutils-1.19.0-py3-none-any.whl", hash = "sha256:d3e876a2e8014f190f57bd38acb97de000d16d8b2d065852b36b99d851a492b4"}, + {file = "specutils-1.19.0.tar.gz", hash = "sha256:2228bca73d22ffd703a9f0d1d97ce9d9f91a2d5274e642f9cf1d7d3388ce93c7"}, ] [package.dependencies] @@ -6276,7 +6350,7 @@ asdf-astropy = ">=0.3" astropy = ">=5.1" gwcs = ">=0.18" ndcube = ">=2.0" -numpy = ">=1.19" +numpy = ">=1.24" scipy = ">=1.3" [package.extras] @@ -6565,38 +6639,6 @@ files = [ [package.dependencies] pbr = ">=2.0.0,<2.1.0 || >2.1.0" -[[package]] -name = "synphot" -version = "1.3.post0" -description = "Synthetic photometry" -optional = true -python-versions = ">=3.9" -files = [ - {file = "synphot-1.3.post0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ddc6e57c30e557d5812ccc4d22b7010066106f4a38f70a24cee41ed36a626289"}, - {file = "synphot-1.3.post0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad807205798cdaf4ec0750008d3a5c9f9f4d778aff30c5d9c937ea362dd6758f"}, - {file = "synphot-1.3.post0-cp310-cp310-win_amd64.whl", hash = "sha256:2be25f8c8a46bfc0990f8ffb5be6c58d240c708b9810ed16a177d105650f2091"}, - {file = "synphot-1.3.post0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7bb44041ea5b9305da6d0c08a8cb53b2106acf874f1a4bf9aae252fe9cc5ed87"}, - {file = "synphot-1.3.post0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4619980b5ab64a350c8d867405262869bfdcaf00ef8a9da9fd7c544d1feb2f94"}, - {file = "synphot-1.3.post0-cp311-cp311-win_amd64.whl", hash = "sha256:9f0fce71764100e65c8ef9c4dc084bdab0aa5772d07d0a148b6f75912ad19dd9"}, - {file = "synphot-1.3.post0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a45317dd194bd3f4d6157c57705f784fb5aba4529f90a19135a1eb2ef496a41e"}, - {file = "synphot-1.3.post0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f1c709e45123dda30845453c65c27783d7f56de31b1b272f9e1d7d929a9ce4"}, - {file = "synphot-1.3.post0-cp312-cp312-win_amd64.whl", hash = "sha256:90b1a5f94c56f9539472bf94f61371685761fe94292a0636b533a41f6cf7f777"}, - {file = "synphot-1.3.post0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8996adc2e5a04a4a9736ea1fe593b8ec30aff0ff4bb3a94a52fffc5bedc0f38"}, - {file = "synphot-1.3.post0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56e41ad32c301e013e2061b3e0072b97adfd5e8e301dbfb28a23e1adc254fedf"}, - {file = "synphot-1.3.post0-cp39-cp39-win_amd64.whl", hash = "sha256:987ad2ada32faf0682eeef2f3f9aa82317aac36c5172d226fc98e707a59054d8"}, - {file = "synphot-1.3.post0.tar.gz", hash = "sha256:5bf3f8e415ac83d44c0727fb7257db33b09262af850c0cf1100f2a70a319a814"}, -] - -[package.dependencies] -astropy = ">=5" -numpy = ">=1.20" -scipy = ">=1.6" - -[package.extras] -all = ["dust-extinction", "specutils (>=0.7)"] -docs = ["matplotlib", "sphinx-astropy"] -test = ["pytest-astropy"] - [[package]] name = "tabulate" version = "0.9.0" @@ -7273,31 +7315,6 @@ sdl2 = ["PySDL2"] tk = ["pyopengltk"] wx = ["wxPython"] -[[package]] -name = "voila" -version = "0.4.4" -description = "VoilĂ  turns Jupyter notebooks into standalone web applications" -optional = true -python-versions = ">=3.8" -files = [ - {file = "voila-0.4.4-py3-none-any.whl", hash = "sha256:b4cd3c17583fc348db781a1f9c09e4dc79baff98f4bf558818957c95fe6036a0"}, - {file = "voila-0.4.4.tar.gz", hash = "sha256:8475c3250245716fd192e80cd6ce265b7effb2a2e389dc0374853e0ee9e4a440"}, -] - -[package.dependencies] -jupyter-client = ">=6.1.3,<9" -jupyter-core = ">=4.11.0" -jupyter-server = ">=1.18,<3" -jupyterlab-server = ">=2.3.0,<3" -nbclient = ">=0.4.0,<0.8" -nbconvert = ">=6.4.5,<8" -traitlets = ">=5.0.3,<6" -websockets = ">=9.0" - -[package.extras] -dev = ["black", "flake8", "hatch", "jupyter-releaser"] -test = ["ipywidgets", "matplotlib", "mock", "notebook (==6)", "numpy", "pandas", "papermill", "pytest", "pytest-tornasync"] - [[package]] name = "watchdog" version = "4.0.1" @@ -7726,4 +7743,4 @@ solara = ["sdss-solara"] [metadata] lock-version = "2.0" python-versions = "~3.10" -content-hash = "0a193f0210136effbb8253249007095c88f59d71f9831e1dc809d03a11605b91" +content-hash = "ccee87c685f1fd217d9c9ac3d88c6ebe34f19e1052de41e9c52e0c263afeacab" diff --git a/pyproject.toml b/pyproject.toml index ad36a3b..d0fb4ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ Sphinx = {version="^3.0.0", optional=true} fastapi = {extras = ["all"], version = "^0.104.0"} uvicorn = "^0.22.0" gunicorn = "^20.1.0" -astropy = "^5.2.0" +astropy = "^6.1.0" aiofiles = "^0.5.0" orjson = "^3.9.0" fastapi-restful = {extras = ["all"], version = "^0.5.0"} diff --git a/python/valis/db/models.py b/python/valis/db/models.py index 0f12760..73eaade 100644 --- a/python/valis/db/models.py +++ b/python/valis/db/models.py @@ -248,7 +248,7 @@ class PipeFiles(BaseModel): """ Pydantic model for lists of files """ boss: Optional[str] = None apogee: Optional[str] = None - astra: Optional[str] = None + astra: Optional[list[str]] = None class PipesModel(PeeweeBase): diff --git a/python/valis/db/queries.py b/python/valis/db/queries.py index 9da315d..42e1c29 100644 --- a/python/valis/db/queries.py +++ b/python/valis/db/queries.py @@ -547,7 +547,8 @@ def get_pipe_meta(sdss_id: int, release: str, pipeline: str) -> dict: # get astra pipeline target elif pipeline == 'astra' and (qq := get_astra_target(sdss_id, release)): res = qq.dicts().first() - return {pipeline: res, 'files': {pipeline: build_astra_path(res, release)}} + return {pipeline: res, 'files': {pipeline: [build_astra_path(res, release), + build_astra_path(res, release, name='mwmVisit')]}} def get_target_pipeline(sdss_id: int, release: str, pipeline: str = 'all') -> dict: diff --git a/python/valis/io/model_spectra_info.json b/python/valis/io/model_spectra_info.json index fd213d7..9cb6bb0 100644 --- a/python/valis/io/model_spectra_info.json +++ b/python/valis/io/model_spectra_info.json @@ -35,5 +35,18 @@ "error": {"extension": 1, "type": "table", "column": "ivar"}, "mask": {"extension": 1, "type": "table", "column": "pixel_flags"} } + }, + { + "product": "mwmVisit", + "aliases": ["mwmvisit"], + "pipeline": "astra", + "multi_spectra": true, + "spectral_extensions": ["BOSS/APO", "BOSS/LCO", "APOGEE/APO", "APOGEE/LCO"], + "parameters": { + "flux": {"extension": 1, "type": "table", "column": "flux", "units": "1e-17 * erg / (s * cm**2 * Angstrom)"}, + "wavelength": {"extension": 1, "type": "wcscon", "column": "LOGLIN", "nwave": "NPIXELS", "units": "Angstrom", "crval": "CRVAL", "cdelt": "CDELT"}, + "error": {"extension": 1, "type": "table", "column": "ivar"}, + "mask": {"extension": 1, "type": "table", "column": "pixel_flags"} + } } ] \ No newline at end of file diff --git a/python/valis/io/spectra.py b/python/valis/io/spectra.py index 62123a3..b4d4acd 100644 --- a/python/valis/io/spectra.py +++ b/python/valis/io/spectra.py @@ -106,6 +106,13 @@ def extract_data(product: str, filepath: str, multispec: Union[int, str] = None) vals = vals.value data[param] = vals + elif info['type'] == "wcscon": + # extract the correct wcs header column + npixels = hdulist[extension].header[info['nwave']] + cdelt = hdulist[extension].header[info['cdelt']] + crval = hdulist[extension].header[info['crval']] + + data[param] = 10 ** (np.arange(npixels) * cdelt + crval) else: data[param] = hdulist[extension].data diff --git a/python/valis/utils/paths.py b/python/valis/utils/paths.py index 164ef0b..c12590c 100644 --- a/python/valis/utils/paths.py +++ b/python/valis/utils/paths.py @@ -156,7 +156,8 @@ def build_apogee_path(values: dict, release: str, ignore_existence: bool = False ignore_existence=ignore_existence) -def build_astra_path(values: dict, release: str, ignore_existence: bool = False) -> str: +def build_astra_path(values: dict, release: str, name: str = 'mwmStar', + ignore_existence: bool = False) -> str: """ Build an Astra mwmStar file path Builds an Astra file path to the mwmStar file. It sets a default @@ -168,6 +169,8 @@ def build_astra_path(values: dict, release: str, ignore_existence: bool = False) the input data values to give to the path template release : str the data release + name : str + the name of the file product ignore_existence : bool, optional flag to ignore file existence and return path, by default False @@ -176,5 +179,5 @@ def build_astra_path(values: dict, release: str, ignore_existence: bool = False) str the output file path """ - return build_file_path(values, 'mwmStar', release, defaults={'component': ''}, + return build_file_path(values, name, release, defaults={'component': ''}, ignore_existence=ignore_existence)