diff --git a/pdm.lock b/pdm.lock index fb1f7ed..bbab21c 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default"] strategy = [] lock_version = "4.5.0" -content_hash = "sha256:4f15e65cca83d7cf7dcce21fe63b0ad3a979542e841e1e02329a88cf68cabf6d" +content_hash = "sha256:3af21101d50d2607aa21236aa6a55e386e0cd555ae6486a52a58d6314e354080" [[metadata.targets]] requires_python = "==3.11.*" @@ -26,6 +26,38 @@ files = [ {file = "aind_codeocean_api-0.4.2.tar.gz", hash = "sha256:9979cdff0742bc27b286899536927cc7de1bd116baeb62b54dc57c6656007c97"}, ] +[[package]] +name = "aind-data-access-api" +version = "0.14.0" +requires_python = ">=3.8" +summary = "API to interact with a few AIND databases" +dependencies = [ + "aind-codeocean-api>=0.4.0", + "pydantic-settings>=2.0", + "pydantic>=2.0", + "requests", +] +files = [ + {file = "aind_data_access_api-0.14.0-py3-none-any.whl", hash = "sha256:c69d8846a2d33cadd64c075d522d6a8a7b1253f076e667006f6b13a879b86525"}, + {file = "aind_data_access_api-0.14.0.tar.gz", hash = "sha256:cfd393c71d87b0fd0dd102dd1d1f758e82628458fe551fb6ed10a874a6f603a5"}, +] + +[[package]] +name = "aind-data-access-api" +version = "0.14.0" +extras = ["docdb"] +requires_python = ">=3.8" +summary = "API to interact with a few AIND databases" +dependencies = [ + "aind-data-access-api==0.14.0", + "pymongo==4.3.3", + "sshtunnel", +] +files = [ + {file = "aind_data_access_api-0.14.0-py3-none-any.whl", hash = "sha256:c69d8846a2d33cadd64c075d522d6a8a7b1253f076e667006f6b13a879b86525"}, + {file = "aind_data_access_api-0.14.0.tar.gz", hash = "sha256:cfd393c71d87b0fd0dd102dd1d1f758e82628458fe551fb6ed10a874a6f603a5"}, +] + [[package]] name = "aind-data-schema" version = "0.33.3" @@ -43,6 +75,85 @@ files = [ {file = "aind_data_schema-0.33.3-py3-none-any.whl", hash = "sha256:da4993ca2744ac700b7a8f0bedb00db41c52a72b370f7386238138f34c01b0f4"}, ] +[[package]] +name = "aind-data-schema-models" +version = "0.4.2" +requires_python = ">=3.8" +summary = "Generated from aind-library-template" +dependencies = [ + "importlib-resources", + "pydantic>=2.7", +] +files = [ + {file = "aind_data_schema_models-0.4.2-py3-none-any.whl", hash = "sha256:52e45f5c1737f1fb1cce840efafe84a74bbaba3df5d7bc592f958c16093074d3"}, + {file = "aind_data_schema_models-0.4.2.tar.gz", hash = "sha256:3430ae3261918dd272ed490bd466e9c4fd7b8c2a2582ad95407cf2ba497f039b"}, +] + +[[package]] +name = "aind-data-transfer-models" +version = "0.5.5" +requires_python = ">=3.8" +summary = "Generated from aind-library-template" +dependencies = [ + "aind-data-schema-models>=0.3.0", + "aind-slurm-rest==0.1.0", + "email-validator", + "pydantic-settings>=2.0", + "pydantic>=2.0", +] +files = [ + {file = "aind_data_transfer_models-0.5.5-py3-none-any.whl", hash = "sha256:2d5fc349a93f6f811b95be8c71fbda57cdfa2de1c57562aca1a5900fe0fb7e28"}, + {file = "aind_data_transfer_models-0.5.5.tar.gz", hash = "sha256:b3c0b227d01f600651e2eefb5c210e2aa2a03fd4306d666b6456e6e71c709c31"}, +] + +[[package]] +name = "aind-metadata-mapper" +version = "0.6.2" +requires_python = ">=3.10" +summary = "Generated from aind-library-template" +dependencies = [ + "aind-data-schema==0.33.3", + "pillow", + "pydantic-settings>=2.0", + "scanimage-tiff-reader==1.4.1.4", + "tifffile==2024.2.12", +] +files = [ + {file = "aind-metadata-mapper-0.6.2.tar.gz", hash = "sha256:55aaf68b577f8f1f7c3aff8303b62838be60cd38a2eb74fbccb41a85f5dc116a"}, + {file = "aind_metadata_mapper-0.6.2-py3-none-any.whl", hash = "sha256:c40e695d0bb394ac5d7231f37eeae62e45df2bc41e404c74dc71bda1e76f461a"}, +] + +[[package]] +name = "aind-session" +version = "0.1.20" +requires_python = "<3.12,>=3.9" +summary = "User-friendly tools for accessing paths, metadata and assets related to AIND sessions." +dependencies = [ + "aind-data-access-api[docdb]>=0.14.0", + "codeocean>=0.1.5", + "npc-io>=0.1.29", + "npc-session>=0.1.39", +] +files = [ + {file = "aind_session-0.1.20-py3-none-any.whl", hash = "sha256:e2314dc2ec7960017b483082a49bd1bc5c9204489484bdefe43f41b5fad5740c"}, + {file = "aind_session-0.1.20.tar.gz", hash = "sha256:e281f365efcebd91a340d68ab88f44b46928f91f48f9c19b5087182542611a34"}, +] + +[[package]] +name = "aind-slurm-rest" +version = "0.1.0" +summary = "Slurm Rest API" +dependencies = [ + "pydantic>=2", + "python-dateutil", + "typing-extensions>=4.7.1", + "urllib3<2.1.0,>=1.25.3", +] +files = [ + {file = "aind-slurm-rest-0.1.0.tar.gz", hash = "sha256:28c8fa83f36de4c23ae7308226ec13aaa65f455e13d71de382f550e2d3b6e67b"}, + {file = "aind_slurm_rest-0.1.0-py3-none-any.whl", hash = "sha256:396e1d0e9e748d673bbc6491a20b0d8656a5842c53f6ed71b900d07c21d1ed27"}, +] + [[package]] name = "aiobotocore" version = "2.7.0" @@ -373,6 +484,27 @@ files = [ {file = "blosc2-2.5.1.tar.gz", hash = "sha256:47d5df50e7286edf81e629ece35f87f13f55c13c5e8545832188c420c75d1659"}, ] +[[package]] +name = "bokeh" +version = "3.4.3" +requires_python = ">=3.9" +summary = "Interactive plots and applications in the browser from Python" +dependencies = [ + "Jinja2>=2.9", + "PyYAML>=3.10", + "contourpy>=1.2", + "numpy>=1.16", + "packaging>=16.8", + "pandas>=1.2", + "pillow>=7.1.0", + "tornado>=6.2", + "xyzservices>=2021.09.1", +] +files = [ + {file = "bokeh-3.4.3-py3-none-any.whl", hash = "sha256:c6f33817f866fc67fbeb5df79cd13a8bb592c05c591f3fd7f4f22b824f7afa01"}, + {file = "bokeh-3.4.3.tar.gz", hash = "sha256:b7c22fb0f7004b04f12e1b7b26ee0269a26737a08ded848fb58f6a34ec1eb155"}, +] + [[package]] name = "boto3" version = "1.28.17" @@ -486,6 +618,23 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "codeocean" +version = "0.1.5" +requires_python = ">=3.9" +summary = "Code Ocean Python SDK" +dependencies = [ + "backports-strenum>=1.3.1; python_version < \"3.11\"", + "dataclasses", + "dataclasses-json", + "requests", + "requests-toolbelt", +] +files = [ + {file = "codeocean-0.1.5-py3-none-any.whl", hash = "sha256:aed41cac85b0dbf8df145b781b86cc2b3d269d824961b805996dec3963919037"}, + {file = "codeocean-0.1.5.tar.gz", hash = "sha256:4b314aeca2d0b13c4fde75751935d546e88b644b0068cb60936ba654485472ea"}, +] + [[package]] name = "colorama" version = "0.4.6" @@ -626,6 +775,29 @@ files = [ {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, ] +[[package]] +name = "dataclasses" +version = "0.6" +summary = "A backport of the dataclasses module for Python 3.6" +files = [ + {file = "dataclasses-0.6-py3-none-any.whl", hash = "sha256:454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f"}, + {file = "dataclasses-0.6.tar.gz", hash = "sha256:6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84"}, +] + +[[package]] +name = "dataclasses-json" +version = "0.6.7" +requires_python = "<4.0,>=3.7" +summary = "Easily serialize dataclasses to and from JSON." +dependencies = [ + "marshmallow<4.0.0,>=3.18.0", + "typing-inspect<1,>=0.4.0", +] +files = [ + {file = "dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a"}, + {file = "dataclasses_json-0.6.7.tar.gz", hash = "sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0"}, +] + [[package]] name = "debugpy" version = "1.8.1" @@ -682,6 +854,16 @@ files = [ {file = "dictdiffer-0.9.0.tar.gz", hash = "sha256:17bacf5fbfe613ccf1b6d512bd766e6b21fb798822a133aa86098b8ac9997578"}, ] +[[package]] +name = "dnspython" +version = "2.6.1" +requires_python = ">=3.8" +summary = "DNS toolkit" +files = [ + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, +] + [[package]] name = "dynamicroutingtask" version = "0.1.102" @@ -699,6 +881,20 @@ files = [ {file = "dynamicroutingtask-0.1.102.tar.gz", hash = "sha256:9e0c76197f8ee5cee1bd17b6eb5797abfda03c06d0b999ccde7f116684f4e9c6"}, ] +[[package]] +name = "email-validator" +version = "2.2.0" +requires_python = ">=3.8" +summary = "A robust email address syntax and deliverability validation library." +dependencies = [ + "dnspython>=2.0.0", + "idna>=2.0.0", +] +files = [ + {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, + {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, +] + [[package]] name = "et-xmlfile" version = "1.1.0" @@ -1118,21 +1314,21 @@ files = [ ] [[package]] -name = "hdmf-zarr" -version = "0.8.0" +name = "hdmf-zarr-bjh" +version = "0.8.1" requires_python = ">=3.8" -summary = "A package defining a Zarr I/O backend for HDMF" +summary = "A package defining a Zarr I/O backend for HDMF - forked to fix a bug" dependencies = [ "hdmf>=3.9.0", "numcodecs>=0.9.1", "numpy<2.0,>=1.24", "pynwb>=2.5.0", "threadpoolctl>=3.1.0", - "zarr>=2.11.0", + "zarr<3.0,>=2.11.0", ] files = [ - {file = "hdmf_zarr-0.8.0-py3-none-any.whl", hash = "sha256:684e1a097af75081752aa7752ebfc4b65c8ea84d77fa90522e5af7e84b4287fe"}, - {file = "hdmf_zarr-0.8.0.tar.gz", hash = "sha256:30db643668e09e690e6ae553f23f4f73f9552db8d9322321316f9bf073ab1408"}, + {file = "hdmf_zarr_bjh-0.8.1-py3-none-any.whl", hash = "sha256:68ea3062c20ab80fc9786235866bf517f27d86fdabdcdccd5671dfe8e66cb780"}, + {file = "hdmf_zarr_bjh-0.8.1.tar.gz", hash = "sha256:9e381014f8d93308381d6c523ced279308c463034f130d1a935613e08d89199c"}, ] [[package]] @@ -1423,6 +1619,20 @@ files = [ {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, ] +[[package]] +name = "jupyter-bokeh" +version = "4.0.5" +requires_python = ">=3.8" +summary = "A Jupyter extension for rendering Bokeh content." +dependencies = [ + "bokeh==3.*", + "ipywidgets==8.*", +] +files = [ + {file = "jupyter_bokeh-4.0.5-py3-none-any.whl", hash = "sha256:1110076c14c779071cf492646a1a871aefa8a477261e4721327a666e65df1a2c"}, + {file = "jupyter_bokeh-4.0.5.tar.gz", hash = "sha256:a33d6ab85588f13640b30765fa15d1111b055cbe44f67a65ca57d3593af8245d"}, +] + [[package]] name = "jupyter-client" version = "8.6.1" @@ -1655,6 +1865,19 @@ files = [ {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, ] +[[package]] +name = "linkify-it-py" +version = "2.0.3" +requires_python = ">=3.7" +summary = "Links recognition library with FULL unicode support." +dependencies = [ + "uc-micro-py", +] +files = [ + {file = "linkify-it-py-2.0.3.tar.gz", hash = "sha256:68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048"}, + {file = "linkify_it_py-2.0.3-py3-none-any.whl", hash = "sha256:6bcbc417b0ac14323382aef5c5192c0075bf8a9d6b41820a2b66371eac6b6d79"}, +] + [[package]] name = "llvmlite" version = "0.42.0" @@ -1669,6 +1892,19 @@ files = [ {file = "llvmlite-0.42.0.tar.gz", hash = "sha256:f92b09243c0cc3f457da8b983f67bd8e1295d0f5b3746c7a1861d7a99403854a"}, ] +[[package]] +name = "markdown" +version = "3.7" +requires_python = ">=3.8" +summary = "Python implementation of John Gruber's Markdown." +dependencies = [ + "importlib-metadata>=4.4; python_version < \"3.10\"", +] +files = [ + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, +] + [[package]] name = "markdown-it-py" version = "3.0.0" @@ -1701,6 +1937,19 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "marshmallow" +version = "3.22.0" +requires_python = ">=3.8" +summary = "A lightweight library for converting complex datatypes to and from native Python datatypes." +dependencies = [ + "packaging>=17.0", +] +files = [ + {file = "marshmallow-3.22.0-py3-none-any.whl", hash = "sha256:71a2dce49ef901c3f97ed296ae5051135fd3febd2bf43afe0ae9a82143a494d9"}, + {file = "marshmallow-3.22.0.tar.gz", hash = "sha256:4972f529104a220bb8637d595aa4c9762afbe7f7a77d82dc58c1615d70c5823e"}, +] + [[package]] name = "matplotlib" version = "3.8.3" @@ -1744,6 +1993,19 @@ files = [ {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, ] +[[package]] +name = "mdit-py-plugins" +version = "0.4.1" +requires_python = ">=3.8" +summary = "Collection of plugins for markdown-it-py" +dependencies = [ + "markdown-it-py<4.0.0,>=1.0.0", +] +files = [ + {file = "mdit_py_plugins-0.4.1-py3-none-any.whl", hash = "sha256:1020dfe4e6bfc2c79fb49ae4e3f5b297f5ccd20f010187acc52af2921e27dc6a"}, + {file = "mdit_py_plugins-0.4.1.tar.gz", hash = "sha256:834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c"}, +] + [[package]] name = "mdurl" version = "0.1.2" @@ -1809,6 +2071,16 @@ files = [ {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] +[[package]] +name = "mypy-extensions" +version = "1.0.0" +requires_python = ">=3.5" +summary = "Type system extensions for programs checked with the mypy type checker." +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + [[package]] name = "nbclient" version = "0.10.0" @@ -1942,22 +2214,58 @@ files = [ {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, ] +[[package]] +name = "np-aind-metadata" +version = "0.1.16" +requires_python = ">=3.10" +summary = "" +dependencies = [ + "aind-metadata-mapper==0.6.2", + "h5py>=3.10.0", + "np-config>=0.4.27", + "np-session>=0.6.40", + "pyyaml>=6.0.1", +] +files = [ + {file = "np_aind_metadata-0.1.16-py3-none-any.whl", hash = "sha256:b6650ec1b86dfc377aeaaaa8d6a74cd64b4550107c8dab2470e35e6fbf616e16"}, + {file = "np_aind_metadata-0.1.16.tar.gz", hash = "sha256:df602ddeec18f562826ad47b54cead4591c00fc4eb6e4846393b0979299cfcce"}, +] + [[package]] name = "np-codeocean" -version = "0.2.0" -requires_python = ">=3.9" +version = "0.2.1" +requires_python = ">=3.10" summary = "Tools for uploading and interacting with Mindscope Neuropixels experiments on Code Ocean" dependencies = [ - "np-config>=0.4.24", - "np-session>=0.6.4", - "np-tools>=0.1.21", + "aind-data-transfer-models>=0.5.1", + "np-config>=0.4.33", + "np-session>=0.6.44", + "np-tools>=0.1.23", + "npc-lims>=0.1.168", "npc-session>=0.1.34", "polars>=0.20.16", "requests>=2.31.0", ] files = [ - {file = "np_codeocean-0.2.0-py3-none-any.whl", hash = "sha256:fd708302b7f43e8c114fdf6df30c9a8f5816af38dd526fa7452973137fd2147f"}, - {file = "np_codeocean-0.2.0.tar.gz", hash = "sha256:1c4e99891db2d502f01fb987370d2a4ed9052dad23cc8b1729c92e89092c8d73"}, + {file = "np_codeocean-0.2.1-py3-none-any.whl", hash = "sha256:66f713975a31a23b72058c66eb21a3628d1447df2b705ca23108ae0daf4a5751"}, + {file = "np_codeocean-0.2.1.tar.gz", hash = "sha256:9f3e8fd07f36b4897b6c5a12338b035927c91ce1ff54bb89676413a7c60f101f"}, +] + +[[package]] +name = "np-codeocean" +version = "0.2.1" +extras = ["dynamic-routing-metadata"] +requires_python = ">=3.10" +summary = "Tools for uploading and interacting with Mindscope Neuropixels experiments on Code Ocean" +dependencies = [ + "np-aind-metadata==0.1.16", + "np-codeocean==0.2.1", + "npc-lims>=0.1.154", + "npc-sessions>=0.0.226", +] +files = [ + {file = "np_codeocean-0.2.1-py3-none-any.whl", hash = "sha256:66f713975a31a23b72058c66eb21a3628d1447df2b705ca23108ae0daf4a5751"}, + {file = "np_codeocean-0.2.1.tar.gz", hash = "sha256:9f3e8fd07f36b4897b6c5a12338b035927c91ce1ff54bb89676413a7c60f101f"}, ] [[package]] @@ -2077,26 +2385,28 @@ files = [ [[package]] name = "npc-ephys" -version = "0.1.15" +version = "0.1.19" requires_python = ">=3.9" summary = "Tools for accessing and processing raw ephys data, compatible with data in the cloud." dependencies = [ + "hdmf-zarr-bjh==0.8.1", "npc-io>=0.1.26", - "npc-lims>=0.1.147", + "npc-lims>=0.1.73", "npc-sync>=0.1.12", "pandas>=2.2.0", + "pynwb>=2.8.0", "tqdm>=4.66.1", "wavpack-numcodecs>=0.1.5", - "zarr>=2.16.1", + "zarr<2.18.1", ] files = [ - {file = "npc_ephys-0.1.15-py3-none-any.whl", hash = "sha256:b013adb9b02606bc78670ca4725c901b772aa59e6a66130489d4d353fef8f73f"}, - {file = "npc_ephys-0.1.15.tar.gz", hash = "sha256:b19353fcdc5339822382bbffe7ce8cd13a3b8feda4ed8956b89b29c565fb8f7b"}, + {file = "npc_ephys-0.1.19-py3-none-any.whl", hash = "sha256:46cf65afe86d0b0c32e09fcb98cbf6e7b9bcdd3833331bfb8cabd1358a21f2c4"}, + {file = "npc_ephys-0.1.19.tar.gz", hash = "sha256:31e095ea4d262713b7696978cfe0d9ab33f93011c51dc1a6a5f541536ed8c07a"}, ] [[package]] name = "npc-io" -version = "0.1.26" +version = "0.1.29" requires_python = ">=3.9" summary = "File IO tools for MindScope Neuropixels projects in the cloud." dependencies = [ @@ -2108,19 +2418,19 @@ dependencies = [ "universal-pathlib<0.2.0", ] files = [ - {file = "npc-io-0.1.26.tar.gz", hash = "sha256:009b1b870e8a85ac54e379789e2ec1f6ea413d82fabfd7d7908b88f575177402"}, - {file = "npc_io-0.1.26-py3-none-any.whl", hash = "sha256:c03f506268480997703d31a2790680ec32140f07a5711e669997669c62fe8241"}, + {file = "npc_io-0.1.29-py3-none-any.whl", hash = "sha256:2f119de10ba3093ab891b5e1bc062a40d7ca885e99ae2cfe9f88a3dd9ead20c4"}, + {file = "npc_io-0.1.29.tar.gz", hash = "sha256:d0cc19c05f2af18352ac2e7fa0f3387c2d2ca40244f37d8618995ed5ae2c778c"}, ] [[package]] name = "npc-lims" -version = "0.1.155" +version = "0.1.173" requires_python = ">=3.9" summary = "Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud." dependencies = [ - "aind-codeocean-api>=0.4.0", + "codeocean>=0.1.5", "npc-io>=0.1.24", - "npc-session>=0.1.30", + "npc-session>=0.1.36", "openpyxl>=3.1.2", "packaging>=23.2", "pydbhub-bjh>=0.0.8", @@ -2131,8 +2441,8 @@ dependencies = [ "types-requests>=2.31.0.6", ] files = [ - {file = "npc_lims-0.1.155-py3-none-any.whl", hash = "sha256:a3318f41716a913d8aec5e34253551d204b796e86526e3ba445c383395686d27"}, - {file = "npc_lims-0.1.155.tar.gz", hash = "sha256:1a2aecf36f23d599286ea16136572d30ceb91cfb7e3df8d9307824266077d3de"}, + {file = "npc_lims-0.1.173-py3-none-any.whl", hash = "sha256:aa852670a08e02c3df6e274c4f5f3d1b43f9c917b11b2f17d28071b0a796188c"}, + {file = "npc_lims-0.1.173.tar.gz", hash = "sha256:a9be2dbc01397f6e229b0fd957d495807c89d614024537c9016a8f1933407501"}, ] [[package]] @@ -2170,43 +2480,42 @@ files = [ [[package]] name = "npc-session" -version = "0.1.34" +version = "0.1.39" requires_python = ">=3.9" summary = "Basic tools for parsing subject, session, date and time associated with data from the Mindscope Neuropixels team, in the cloud." dependencies = [ "typing-extensions>=4.7.1", ] files = [ - {file = "npc_session-0.1.34-py3-none-any.whl", hash = "sha256:50e1d8fe449473798e894a384452aa7d3dae5bc48f40579f5dce12c7b6f31a58"}, - {file = "npc_session-0.1.34.tar.gz", hash = "sha256:4a8a8429410d0c5e4f5bff9e161a115937153503fe4aebefe154a3487173ad5e"}, + {file = "npc_session-0.1.39-py3-none-any.whl", hash = "sha256:b369ff7c71d9c2119fb18a4aa0f2a8bbab01c7a73ec3e67a0a0f94e594e5cbc3"}, + {file = "npc_session-0.1.39.tar.gz", hash = "sha256:b32243cb6beb58802bae63208937bca6795726c483bef3354465c06f2ee11526"}, ] [[package]] name = "npc-sessions" -version = "0.0.225" +version = "0.0.235" requires_python = ">=3.9" summary = "NWB-conversion for behavior and epyhys sessions from the Mindscope Neuropixels team, in the cloud." dependencies = [ - "DynamicRoutingTask>=0.1.94", + "DynamicRoutingTask<0.1.106", "aind-data-schema==0.33.3", "h5py>=3.9.0", - "hdmf-zarr>=0.7.0", "hdmf>=3.14.0", "matplotlib>=3.7.2", "ndx-events>=0.2.0", "ndx-pose>=0.1.1", - "npc-ephys>=0.1.15", - "npc-io>=0.1.26", - "npc-lims>=0.1.150", + "npc-ephys>=0.1.18", + "npc-io>=0.1.27", + "npc-lims>=0.1.161", "npc-mvr>=0.1.6", "npc-samstim>=0.1.4", "npc-session>=0.1.34", "npc-stim>=0.1.8", - "npc-sync>=0.1.12", + "npc-sync>=0.1.17", "numba>=0.57.1", "opencv-python-headless>=4.8.0.76", "pandas>=2.0", - "polars<=0.20.26", + "polars>=0.20.26", "pyarrow>=14.0", "pydantic>=2.6.4", "pynwb>=2.7.0", @@ -2218,8 +2527,8 @@ dependencies = [ "zarr<2.18.1", ] files = [ - {file = "npc_sessions-0.0.225-py3-none-any.whl", hash = "sha256:59e8a813c124a04b7f3af5a2d37a73d1fd3cfe06133af2f8c1ecab8f7114b54e"}, - {file = "npc_sessions-0.0.225.tar.gz", hash = "sha256:12ee9d0e99305f48ce1b0c1c57869de2398db7fcf14ac426286b136b2361601b"}, + {file = "npc_sessions-0.0.235-py3-none-any.whl", hash = "sha256:40c70f60991ee1f409c16b4715d85a3030eca1b6b5cc4a696ebc0f0abbb56166"}, + {file = "npc_sessions-0.0.235.tar.gz", hash = "sha256:54e9b466880f63606de029046dbbe38b6658c094d227d472a0f1f2d106bdaecf"}, ] [[package]] @@ -2256,7 +2565,7 @@ files = [ [[package]] name = "npc-sync" -version = "0.1.13" +version = "0.1.17" requires_python = ">=3.9" summary = "Repackaging of AllenSDK.SyncDataset with extra functionality, compatible with data in the cloud." dependencies = [ @@ -2268,8 +2577,8 @@ dependencies = [ "typing-extensions>=4.9.0", ] files = [ - {file = "npc_sync-0.1.13-py3-none-any.whl", hash = "sha256:5fa6c49dabf7708f435a685915fc3b1294f28a02c86560e1882c7755f31c0df2"}, - {file = "npc_sync-0.1.13.tar.gz", hash = "sha256:183a63f2c4d033e41ddc0d7bc7268199a837ea607333cfe6f1517f765edf6288"}, + {file = "npc_sync-0.1.17-py3-none-any.whl", hash = "sha256:49dcf2e15ded2c2c584b481034aec0992535cca8faee226e8793310a74b1eacd"}, + {file = "npc_sync-0.1.17.tar.gz", hash = "sha256:0cbb36b0a993bf66d4a0f29a5a0db8dcb83aa939c468e6673f93041d14c8b785"}, ] [[package]] @@ -2442,6 +2751,41 @@ files = [ {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, ] +[[package]] +name = "panel" +version = "1.4.5" +requires_python = ">=3.9" +summary = "The powerful data exploration & web app framework for Python." +dependencies = [ + "bleach", + "bokeh<3.5.0,>=3.4.0", + "linkify-it-py", + "markdown", + "markdown-it-py", + "mdit-py-plugins", + "pandas>=1.2", + "param<3.0,>=2.1.0", + "pyviz-comms>=2.0.0", + "requests", + "tqdm>=4.48.0", + "typing-extensions", + "xyzservices>=2021.09.1", +] +files = [ + {file = "panel-1.4.5-py3-none-any.whl", hash = "sha256:a6dbddd65e9e68c54a9b683f103b79b48fcea5dd9f463b81a783ea11520fe9cb"}, + {file = "panel-1.4.5.tar.gz", hash = "sha256:a7c9be109b57bdea16a143ce6a897500e1172a28b8a7c0dcfd5b7f61c616ea42"}, +] + +[[package]] +name = "param" +version = "2.1.1" +requires_python = ">=3.8" +summary = "Make your Python code clearer and more reliable by declaring Parameters." +files = [ + {file = "param-2.1.1-py3-none-any.whl", hash = "sha256:81066d040526fbaa44b6419f3e92348fa8856ea44c8d3915e9245937ddabe2d6"}, + {file = "param-2.1.1.tar.gz", hash = "sha256:3b1da14abafa75bfd908572378a58696826b3719a723bc31b40ffff2e9a5c852"}, +] + [[package]] name = "paramiko" version = "3.4.0" @@ -2855,6 +3199,26 @@ files = [ {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, ] +[[package]] +name = "pymongo" +version = "4.3.3" +requires_python = ">=3.7" +summary = "Python driver for MongoDB " +dependencies = [ + "dnspython<3.0.0,>=1.16.0", +] +files = [ + {file = "pymongo-4.3.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:599d3f6fbef31933b96e2d906b0f169b3371ff79ea6aaf6ecd76c947a3508a3d"}, + {file = "pymongo-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0640b4e9d008e13956b004d1971a23377b3d45491f87082161c92efb1e6c0d6"}, + {file = "pymongo-4.3.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:341221e2f2866a5960e6f8610f4cbac0bb13097f3b1a289aa55aba984fc0d969"}, + {file = "pymongo-4.3.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7fac06a539daef4fcf5d8288d0d21b412f9b750454cd5a3cf90484665db442a"}, + {file = "pymongo-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3a51901066696c4af38c6c63a1f0aeffd5e282367ff475de8c191ec9609b56d"}, + {file = "pymongo-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3055510fdfdb1775bc8baa359783022f70bb553f2d46e153c094dfcb08578ff"}, + {file = "pymongo-4.3.3-cp311-cp311-win32.whl", hash = "sha256:524d78673518dcd352a91541ecd2839c65af92dc883321c2109ef6e5cd22ef23"}, + {file = "pymongo-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b8a03af1ce79b902a43f5f694c4ca8d92c2a4195db0966f08f266549e2fc49bc"}, + {file = "pymongo-4.3.3.tar.gz", hash = "sha256:34e95ffb0a68bffbc3b437f2d1f25fc916fef3df5cdeed0992da5f42fae9b807"}, +] + [[package]] name = "pynacl" version = "1.5.0" @@ -2958,6 +3322,19 @@ files = [ {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] +[[package]] +name = "pyviz-comms" +version = "3.0.3" +requires_python = ">=3.8" +summary = "A JupyterLab extension for rendering HoloViz content." +dependencies = [ + "param", +] +files = [ + {file = "pyviz_comms-3.0.3-py3-none-any.whl", hash = "sha256:fd26951eebc7950106d481655d91ba06296d4cf352dffb1d03f88f959832448e"}, + {file = "pyviz_comms-3.0.3.tar.gz", hash = "sha256:fde4a017c2213ecee63a9a6741431c845e42a5c7b1588e4a7ba2e4370c583728"}, +] + [[package]] name = "pywin32" version = "306" @@ -3097,6 +3474,19 @@ files = [ {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "A utility belt for advanced users of python-requests" +dependencies = [ + "requests<3.0.0,>=2.0.1", +] +files = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] + [[package]] name = "rfc3339-validator" version = "0.1.4" @@ -3261,6 +3651,18 @@ files = [ {file = "s3transfer-0.6.2.tar.gz", hash = "sha256:cab66d3380cca3e70939ef2255d01cd8aece6a4907a9528740f668c4b0611861"}, ] +[[package]] +name = "scanimage-tiff-reader" +version = "1.4.1.4" +requires_python = ">=3.7" +summary = "A fast (big)tiff reader that provides access to ScanImage-specific metadata." +dependencies = [ + "numpy", +] +files = [ + {file = "scanimage-tiff-reader-1.4.1.4.tar.gz", hash = "sha256:dec8a4326541200e65efa2102c10b6ada5a7ad8bbead3a395a32dc2ea01e274e"}, +] + [[package]] name = "scipy" version = "1.12.0" @@ -3357,6 +3759,18 @@ files = [ {file = "spikeinterface-0.100.1.tar.gz", hash = "sha256:f3903e4cec8c7f9a069297df4fd048a25930ab7d67023cf5ae555f145a1a6c21"}, ] +[[package]] +name = "sshtunnel" +version = "0.4.0" +summary = "Pure python SSH tunnels" +dependencies = [ + "paramiko>=2.7.2", +] +files = [ + {file = "sshtunnel-0.4.0-py2.py3-none-any.whl", hash = "sha256:98e54c26f726ab8bd42b47a3a21fca5c3e60f58956f0f70de2fb8ab0046d0606"}, + {file = "sshtunnel-0.4.0.tar.gz", hash = "sha256:e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc"}, +] + [[package]] name = "stack-data" version = "0.6.3" @@ -3416,6 +3830,19 @@ files = [ {file = "threadpoolctl-3.3.0.tar.gz", hash = "sha256:5dac632b4fa2d43f42130267929af3ba01399ef4bd1882918e92dbc30365d30c"}, ] +[[package]] +name = "tifffile" +version = "2024.2.12" +requires_python = ">=3.9" +summary = "Read and write TIFF files" +dependencies = [ + "numpy", +] +files = [ + {file = "tifffile-2024.2.12-py3-none-any.whl", hash = "sha256:870998f82fbc94ff7c3528884c1b0ae54863504ff51dbebea431ac3fa8fb7c21"}, + {file = "tifffile-2024.2.12.tar.gz", hash = "sha256:4920a3ec8e8e003e673d3c6531863c99eedd570d1b8b7e141c072ed78ff8030d"}, +] + [[package]] name = "tinycss2" version = "1.2.1" @@ -3523,6 +3950,20 @@ files = [ {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, ] +[[package]] +name = "typing-inspect" +version = "0.9.0" +summary = "Runtime inspection utilities for typing module." +dependencies = [ + "mypy-extensions>=0.3.0", + "typing-extensions>=3.7.4", + "typing>=3.7.4; python_version < \"3.5\"", +] +files = [ + {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, + {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, +] + [[package]] name = "tzdata" version = "2024.1" @@ -3533,6 +3974,16 @@ files = [ {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] +[[package]] +name = "uc-micro-py" +version = "1.0.3" +requires_python = ">=3.7" +summary = "Micro subset of unicode data files for linkify-it-py projects." +files = [ + {file = "uc-micro-py-1.0.3.tar.gz", hash = "sha256:d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a"}, + {file = "uc_micro_py-1.0.3-py3-none-any.whl", hash = "sha256:db1dffff340817673d7b466ec86114a9dc0e9d4d9b5ba229d9d60e5c12600cd5"}, +] + [[package]] name = "universal-pathlib" version = "0.1.4" @@ -3660,6 +4111,16 @@ files = [ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] +[[package]] +name = "xyzservices" +version = "2024.9.0" +requires_python = ">=3.8" +summary = "Source of XYZ tiles providers" +files = [ + {file = "xyzservices-2024.9.0-py3-none-any.whl", hash = "sha256:776ae82b78d6e5ca63dd6a94abb054df8130887a4a308473b54a6bd364de8644"}, + {file = "xyzservices-2024.9.0.tar.gz", hash = "sha256:68fb8353c9dbba4f1ff6c0f2e5e4e596bb9e1db7f94f4f7dfbcb26e25aa66fde"}, +] + [[package]] name = "yarl" version = "1.9.4" diff --git a/pyproject.toml b/pyproject.toml index 23c013f..43a3c20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,10 @@ dependencies = [ "s3fs>=2023.6.0", "npc-shields>=0.1.10", "npc-sessions>=0.0.225", - "np-codeocean>=0.2.0", + "np-codeocean[dynamic-routing-metadata]>=0.2.1", + "panel>=1.4.5", + "aind-session>=0.1.20", + "jupyter-bokeh>=4.0.5", ] classifiers = [ "Programming Language :: Python :: 3",