Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise dependencies #822

Merged
merged 7 commits into from
Feb 9, 2024
Merged

Revise dependencies #822

merged 7 commits into from
Feb 9, 2024

Conversation

CBroz1
Copy link
Member

@CBroz1 CBroz1 commented Feb 7, 2024

Description

Across pyproject.toml and both environment.yml:

  • Alphabetical sort to allow for easier comparison across toml/yaml files.
  • Remove dependencies required by other dependencies to reduce build time.
  • Move click to test dependencies. CLI should be its own package.
  • Add ruff config to pyproject.toml. Flake8 replacement to allow removal of setup.cfg.
  • Remove tqdm, as it is required by datajoint
  • Pin old panel version causing import error for ghostipy

Standard environment:

  • Add comments for all dependencies specific to position environment to allow for easier comparison across yaml files.
  • Remove dask, as it is required by ghostipy
  • Remove hdmf, as it is required by pynwb
  • Remove pymysql, as it is required by datajoint
  • Remove pyyaml, as it is required by sortingview
  • Remove pydotplus from pip section, as it is already in conda section

Position environment:

  • Rename _position or -position to _dlc or -dlc to be more precise.
  • Remove ipython, numba, and tensorflow, as they are all required by deeplabcut
  • Add items present in standard environment but not in position environment.

PyPi install check #581 : pip install .[test]; pytest in a clean conda env runs successfully after pyproject.toml edits. Is this sufficient to address the issue?

Added various fixes to facilitate auto-running the notebooks from a dev environment.

#810 - Add drafted decompose_name from issue

Checklist:

  • This PR should be accompanied by a release: yes?
  • (If release) I have updated the CITATION.cff: pending discussion
  • I have updated the CHANGELOG.md
  • I have added/edited docs/notebooks to reflect the changes

Across `pyproject.toml` and both `environment.yml`:
- Alphabetical sort to allow for easier comparison across toml/yaml files.
- Remove dependencies required by other dependencies to reduce build time.
- Move `black` to `test` dependencies. Could be `dev` instead?
- Move `click` to `test` dependencies. CLI should be its own package.
- Add ruff config to `pyproject.toml`. Flake8 replacement to allow removal of
  `setup.cfg`.
- Remove `tqdm`, as it is required by `datajoint`

Standard environment:
- Add comments for all dependencies specific to position environment to allow
  for easier comparison across yaml files.
- Remove `dask`, as it is required by `ghostipy`
- Remove `hdmf`, as it is required by `pynwb`
- Remove `pymysql`, as it is required by `datajoint`
- Remove `pyyaml`, as it is required by `sortingview`
- Remove `pydotplus` from `pip` section, as it is already in `conda` section

Position environment:
- Rename `_position` or `-position` to `_dlc` or `-dlc` to be more precise.
- Remove `ipython`, `numba`, and `tensorflow`, as they are all required by
  `deeplabcut`
- Add items present in standard environment but not in position environment.
@CBroz1 CBroz1 linked an issue Feb 7, 2024 that may be closed by this pull request
@CBroz1 CBroz1 marked this pull request as ready for review February 7, 2024 20:29
environment.yml Outdated Show resolved Hide resolved
environment.yml Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
environment_dlc.yml Outdated Show resolved Hide resolved
environment_dlc.yml Outdated Show resolved Hide resolved
environment_dlc.yml Outdated Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
@edeno
Copy link
Collaborator

edeno commented Feb 7, 2024

Have you been able to run any of the notebooks with the current environment (via pip or via conda)

- `trajectory_analysis_tools` and `replay_trajectory_classification` are
  superceded by `non_local_detector`.
- `dask-cuda` not in use, per @edeno
@CBroz1
Copy link
Member Author

CBroz1 commented Feb 7, 2024

Have you been able to run any of the notebooks with the current environment (via pip or via conda)

Unfortunately, it looks like importing ghostipy runs into errors: RuntimeError: There is no current event loop in thread 'MainThread'. - I'll look into it

@CBroz1 CBroz1 marked this pull request as draft February 7, 2024 21:47
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@CBroz1 CBroz1 linked an issue Feb 8, 2024 that may be closed by this pull request
@CBroz1
Copy link
Member Author

CBroz1 commented Feb 8, 2024

I've reported the underlying panel issue causing the RuntimeError and pinned accordingly

@CBroz1 CBroz1 marked this pull request as ready for review February 8, 2024 20:01
@@ -21,7 +21,7 @@ class LinearizedPositionV0(SpyglassMixin, dj.Part): # noqa: F811
definition = """
-> LinearizedPositionOutput
---
-> IntervalLinearizedPosition
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't change anything from datajoint's perspective right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@edeno No, DataJoint looks to the locals() namespace and takes the full_table_name attr of the object, which is not impacted by python-level reassignment

@edeno edeno merged commit 992de69 into LorenFrankLab:master Feb 9, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

sgi.insert_session crashes if first name has a space Check pypi install before paper release
2 participants