-
Notifications
You must be signed in to change notification settings - Fork 88
Feat/plugins - deprecate otumate and old plugins #1253
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
base: master
Are you sure you want to change the base?
Conversation
…or-github-change-log Update changelog notice
Co-authored-by: Copilot <[email protected]>
…into feat/plugins
and generator function implementation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR deprecates the plugin system and removes several dependencies as part of cleaning up the codebase. The changes remove the otumat
package dependency, eliminate the entire plugin verification system, and update documentation with new computational patterns.
- Removes the plugin system including verification logic and cryptographic dependencies
- Eliminates
otumat
andcryptography
dependencies from project requirements - Adds comprehensive documentation for the "three-part make pattern" for long computations
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
tests/test_plugin.py | Completely removed all plugin-related tests |
pyproject.toml | Removed otumat and cryptography dependencies, added new maintainer |
datajoint/plugin.py | Entirely removed plugin system implementation |
datajoint/errors.py | Removed plugin warning system and simplified DataJointError constructor |
datajoint/connection.py | Removed plugin hook system and simplified connection logic |
datajoint/attribute_adapter.py | Removed plugin-based adapter loading |
docs/src/compute/populate.md | Added extensive documentation for three-part make pattern |
Dockerfile | Updated Python version from 3.9 to 3.11 |
CHANGELOG.md | Added deprecation notice directing to GitHub releases |
.pre-commit-config.yaml | Updated tool versions for isort, black, and flake8 |
.devcontainer/docker-compose.yml | Updated container distribution and removed version specification |
.devcontainer/devcontainer.json | Added SSH agent mounting for development environment |
@@ -177,7 +148,6 @@ class Connection: | |||
""" | |||
|
|||
def __init__(self, host, user, password, port=None, init_fun=None, use_tls=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable assignment host_input, host = (host, get_host_hook(host))
was removed but the original host
parameter is being overwritten without preserving the original value. This could break functionality that depends on the original host value.
Copilot uses AI. Check for mistakes.
```python | ||
def make_fetch(self, key): | ||
"""Phase 1: Fetch all required data from parent tables""" | ||
fetched_data = ((ParentTable & key).fetch1(),) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment says the return value must be a sequence, but fetched_data
is assigned as a tuple with a single element ((ParentTable & key).fetch1(),)
. This creates a nested tuple structure that may not match the expected interface.
fetched_data = ((ParentTable & key).fetch1(),) | |
fetched_data = [ParentTable & key).fetch1()] |
Copilot uses AI. Check for mistakes.
|
||
def make_fetch(self, key): | ||
"""Fetch the image data needed for analysis""" | ||
return (Image & key).fetch1('image'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The trailing comma creates a single-element tuple, but this inconsistent with the pattern shown earlier where fetched_data1
is compared with fetched_data2
. Consider using consistent tuple packing throughout the examples.
return (Image & key).fetch1('image'), | |
return (Image & key).fetch1('image') |
Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <[email protected]>
Fixing #1252 and initial part of #1251