René's URL Explorer Experiment


Title: Revamp delete by dimitri-yatsenko · Pull Request #424 · datajoint/datajoint-python · GitHub

Open Graph Title: Revamp delete by dimitri-yatsenko · Pull Request #424 · datajoint/datajoint-python

X Title: Revamp delete by dimitri-yatsenko · Pull Request #424 · datajoint/datajoint-python

Description: Optimize delete. Previously entries were counted first and then deleted. Now they are deleted within a transaction with the count reported to the users. Only afterwards, the user is asked to confirm before commit. Complete class-based relational algebra. Previously, all relational operators required instantiating user classes. Now all operators can be performed directly on the classes. For example, one can do this now stimulus.Sync & (stimulus.Trial * stimulus.Trippy.proj()) Previously this query would have required instantiating the relations: stimulus.Sync() & (stimulus.Trial() * stimulus.Trippy().proj()) This change is fully backward compatible. Add efficient iterator capability to relational operands: for session in stimulus.Sync: print(session) for trippy_trial in stimulus.Trial * stimulus.Trippy & 'animal_id=16342': plt.imshow(trippy_trial.movie[:,:,0]) This uses memory efficiently by retrieving only the primary keys first and then fetching each individual item in its entirety at each iteration. However, when the relation only has primary keys, then then only one fetch operation is performed. The following two operations are essentially equivalent: for key in stimulus.Sync.proj(): print(key) for key in stimulus.Sync.fetch('KEY'): print(key) Fix #418 Fix #430 This PR is based off #422

Open Graph Description: Optimize delete. Previously entries were counted first and then deleted. Now they are deleted within a transaction with the count reported to the users. Only afterwards, the user is asked to conf...

X Description: Optimize delete. Previously entries were counted first and then deleted. Now they are deleted within a transaction with the count reported to the users. Only afterwards, the user is asked to conf...

Opengraph URL: https://github.com/datajoint/datajoint-python/pull/424

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:ecda16a1-d925-f7cf-41d5-45dbcc70fe9d
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE84A:383777:4134710:5AF9728:6A4F5E96
html-safe-nonce6dfdac58f463ef78d8203750cd8f357095d659a09b44440e5e91ead2cb9bc876
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODRBOjM4Mzc3Nzo0MTM0NzEwOjVBRjk3Mjg6NkE0RjVFOTYiLCJ2aXNpdG9yX2lkIjoiMjMxMTg2MzE1NDk4NjkzMzkxMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmace400a1287ef534fd40d95bee303fe1eaacb1db86934d1e524fac7ee3eee25167
hovercard-subject-tagpull_request:160431092
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/datajoint/datajoint-python/pull/424/files
twitter:imagehttps://avatars.githubusercontent.com/u/1096169?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1096169?s=400&v=4
og:image:altOptimize delete. Previously entries were counted first and then deleted. Now they are deleted within a transaction with the count reported to the users. Only afterwards, the user is asked to conf...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/datajoint/datajoint-python git https://github.com/datajoint/datajoint-python.git
octolytics-dimension-user_id2375501
octolytics-dimension-user_logindatajoint
octolytics-dimension-repository_id5866704
octolytics-dimension-repository_nwodatajoint/datajoint-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id5866704
octolytics-dimension-repository_network_root_nwodatajoint/datajoint-python
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release4b249b445842943ed31549e027f57a8ade9881ed
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/datajoint/datajoint-python/pull/424/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdatajoint%2Fdatajoint-python%2Fpull%2F424%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdatajoint%2Fdatajoint-python%2Fpull%2F424%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=datajoint%2Fdatajoint-python
Reloadhttps://github.com/datajoint/datajoint-python/pull/424/files
Reloadhttps://github.com/datajoint/datajoint-python/pull/424/files
Reloadhttps://github.com/datajoint/datajoint-python/pull/424/files
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
datajoint https://github.com/datajoint
datajoint-pythonhttps://github.com/datajoint/datajoint-python
Notifications https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python
Fork 96 https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python
Star 194 https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python
Code https://github.com/datajoint/datajoint-python
Issues 8 https://github.com/datajoint/datajoint-python/issues
Pull requests 4 https://github.com/datajoint/datajoint-python/pulls
Discussions https://github.com/datajoint/datajoint-python/discussions
Actions https://github.com/datajoint/datajoint-python/actions
Security and quality 0 https://github.com/datajoint/datajoint-python/security
Insights https://github.com/datajoint/datajoint-python/pulse
Code https://github.com/datajoint/datajoint-python
Issues https://github.com/datajoint/datajoint-python/issues
Pull requests https://github.com/datajoint/datajoint-python/pulls
Discussions https://github.com/datajoint/datajoint-python/discussions
Actions https://github.com/datajoint/datajoint-python/actions
Security and quality https://github.com/datajoint/datajoint-python/security
Insights https://github.com/datajoint/datajoint-python/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fdatajoint%2Fdatajoint-python%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python%2Fissues%2Fnew%2Fchoose
eywalkerhttps://github.com/eywalker
datajoint:masterhttps://github.com/datajoint/datajoint-python/tree/master
dimitri-yatsenko:revamp-deletehttps://github.com/dimitri-yatsenko/datajoint-python/tree/revamp-delete
Conversation 20 https://github.com/datajoint/datajoint-python/pull/424
Commits 27 https://github.com/datajoint/datajoint-python/pull/424/commits
Checks 0 https://github.com/datajoint/datajoint-python/pull/424/checks
Files changed https://github.com/datajoint/datajoint-python/pull/424/files
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
Revamp delete https://github.com/datajoint/datajoint-python/pull/424/files#top
Show all changes 27 commits https://github.com/datajoint/datajoint-python/pull/424/files
c49b674 begin revamping delete dimitri-yatsenko Dec 27, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/c49b6740fad0143bca103b5735c3a667579326f1
5b0f4c0 Merge branch 'fetch-simple' into revamp-delete dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/5b0f4c094ec6be249343c586fc27861fc6f4f661
4f1cb9d allow relational binary operations with a RelationalOperand class rat… dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/4f1cb9dcd852a9cfeebe65faa9e1dab0a703248d
1546737 make quick_delete count deleted items dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/1546737b7ea93dc65912c82562e60d56596918aa
d2ae2d2 added iterator to RelationalOperand dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/d2ae2d217597f76e46aa903c73999aece783d75b
757f624 improve relation iterator dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/757f624a3dc822f2153097f34979367e85aac009
303b1e6 simplify negation in restrictions dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/303b1e6a25c771954d2d6136680aa95c896a91ab
71e4fe8 fix #372 -- a table with an applied restriction condition cannot be d… dimitri-yatsenko Dec 28, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/71e4fe85dd9c5b8e223d97d0d4d5fb1189c29b08
21d4ca8 cosmetic dimitri-yatsenko Dec 29, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/21d4ca8b5bfbb865c42c6cabc181020844c039c0
e4620b2 Merge branch 'master' of https://github.com/datajoint/datajoint-pytho… dimitri-yatsenko Dec 29, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/e4620b2220eaddbbb40bfc080f077339d70bfd1d
12402da Merge branch 'fetch-simple' into revamp-delete dimitri-yatsenko Dec 29, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/12402da7ae8ae17590ffcb212bfa96db93c9a16c
ab731f4 fix RelationalOperand operator dimitri-yatsenko Dec 29, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/ab731f4b9698cd509bfdbb19594e2228fbb85524
579e7d3 add iterator capability to UserRelation classes dimitri-yatsenko Dec 29, 2017 https://github.com/datajoint/datajoint-python/pull/424/commits/579e7d3ddbc477631862a3afa91804e6b45613a4
7581202 fix counting deleted items in delete_quick dimitri-yatsenko Jan 1, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/7581202d1143b8ae82bc00c55f534a4639571ff4
1462abc fix #418 -- create the external cache directory if missing dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/1462abc150b011ee91554137c793aea19c0a0a9f
8e98f66 Remove delete confirmation when there is nothing to delete. dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/8e98f66f42af5e4e155855ef905a03abec850f4b
2dabffa fix logic in delete confirmation dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/2dabffa02d21d88d4e51710694559a2bc6b717fb
8e07b08 cosmetic dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/8e07b0838e9834ff87ab8b612a0a7352eb9f0510
1686004 Merge branch 'master' of https://github.com/datajoint/datajoint-pytho… dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/16860049669b62c1e91d269932014fde4ea7a744
3edb603 check join compatibility in relational operators dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/3edb603d1384e539cccf1b58d331874a422ff332
2685018 correct the join compatibility test dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/2685018cfc4addd3db384068ffc7c8ec8c145575
76f8b8e Merge branch 'revamp-delete' of https://github.com/dimitri-yatsenko/d… dimitri-yatsenko Jan 2, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/76f8b8ecdb5a56544d7437681eb5556e7bb1565c
27b939f raise an error when attempting cascading deletes across renamed forei… dimitri-yatsenko Jan 8, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/27b939f72a21d093eac3659200d3357eac40c18c
18a83ce minor user message change dimitri-yatsenko Jan 9, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/18a83ce7a7130cca7ca5c7dc84345322cba5ad15
2c96ca4 alter error message is BaseRelation.drop. dimitri-yatsenko Jan 10, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/2c96ca4d2c6c99ac109971fbc7cb4dd4c8c0d5ef
1da0346 fix typo in error message in BaseRelation/delete dimitri-yatsenko Jan 10, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/1da0346529d5730769c18337ba1e51f74eced7ea
ddcd89a Fix #430 dimitri-yatsenko Jan 10, 2018 https://github.com/datajoint/datajoint-python/pull/424/commits/ddcd89ab680e77085961edd523779810d872fed5
Clear filters https://github.com/datajoint/datajoint-python/pull/424/files
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
autopopulate.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
base_relation.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
erd.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-de8d2ecb7471b7e0d130b0a0269e5e8fef0dce173a1dde8ab3c1be8408e36915
external.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
heading.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-5ff1d635d4e67b0e6f9816c539bb29cf7a95858ac7bf34b9af9b337786de4a1a
relational_operand.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-aa9a461f91360b51efb88af87d7dcfc59924ce9d549c7f4ecc1c118a42e34e10
user_relations.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-53163b55b3c0cfd7e7400314e74334b923c1bd189f90204b5c5a6499113aa012
test_foreign_keys.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-bb14ffdc3123ab302ce554bcacd83c450b9b564ef379c3c8fb9b88861b66140c
test_relation_u.py https://github.com/datajoint/datajoint-python/pull/424/files#diff-3ca04ee724601dc5126f7d421a7ab9e3b6102f809db607b653b5c0acac050257
datajoint/autopopulate.pyhttps://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
View file https://github.com/dimitri-yatsenko/datajoint-python/blob/ddcd89ab680e77085961edd523779810d872fed5/datajoint/autopopulate.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/datajoint/datajoint-python/pull/424/{{ revealButtonHref }}
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de6dc06274a555eb3f37d568c9f02252de6331f340ba257f6e8395116ceb46ba
datajoint/base_relation.pyhttps://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
View file https://github.com/dimitri-yatsenko/datajoint-python/blob/ddcd89ab680e77085961edd523779810d872fed5/datajoint/base_relation.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/datajoint/datajoint-python/pull/424/{{ revealButtonHref }}
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
eywalkerhttps://github.com/eywalker
Jan 10, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160597711
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
dimitri-yatsenkohttps://github.com/dimitri-yatsenko
Jan 10, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160661442
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
eywalkerhttps://github.com/eywalker
Jan 10, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160709670
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
eywalkerhttps://github.com/eywalker
Jan 10, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160710440
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
ixcathttps://github.com/ixcat
Jan 9, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160479877
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
dimitri-yatsenkohttps://github.com/dimitri-yatsenko
Jan 10, 2018https://github.com/datajoint/datajoint-python/pull/424/files#r160576039
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
https://github.com/datajoint/datajoint-python/pull/424/files#diff-68209779d2af93c173cafcf2cc39f17a3afd291c07c3a4d6a74bbef619026b62
datajoint/erd.pyhttps://github.com/datajoint/datajoint-python/pull/424/files#diff-de8d2ecb7471b7e0d130b0a0269e5e8fef0dce173a1dde8ab3c1be8408e36915
View file https://github.com/dimitri-yatsenko/datajoint-python/blob/ddcd89ab680e77085961edd523779810d872fed5/datajoint/erd.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/datajoint/datajoint-python/pull/424/{{ revealButtonHref }}
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de8d2ecb7471b7e0d130b0a0269e5e8fef0dce173a1dde8ab3c1be8408e36915
https://github.com/datajoint/datajoint-python/pull/424/files#diff-de8d2ecb7471b7e0d130b0a0269e5e8fef0dce173a1dde8ab3c1be8408e36915
datajoint/external.pyhttps://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
View file https://github.com/dimitri-yatsenko/datajoint-python/blob/ddcd89ab680e77085961edd523779810d872fed5/datajoint/external.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/datajoint/datajoint-python/pull/424/{{ revealButtonHref }}
https://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
https://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
https://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
https://github.com/datajoint/datajoint-python/pull/424/files#diff-d74dde519f113975986a5d9dd77587b752bb8eb4560865bc9c7a00c6fe0e55a6
datajoint/heading.pyhttps://github.com/datajoint/datajoint-python/pull/424/files#diff-5ff1d635d4e67b0e6f9816c539bb29cf7a95858ac7bf34b9af9b337786de4a1a
View file https://github.com/dimitri-yatsenko/datajoint-python/blob/ddcd89ab680e77085961edd523779810d872fed5/datajoint/heading.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/datajoint/datajoint-python/pull/424/{{ revealButtonHref }}
https://github.com/datajoint/datajoint-python/pull/424/files#diff-5ff1d635d4e67b0e6f9816c539bb29cf7a95858ac7bf34b9af9b337786de4a1a
https://github.com/datajoint/datajoint-python/pull/424/files#diff-5ff1d635d4e67b0e6f9816c539bb29cf7a95858ac7bf34b9af9b337786de4a1a
Please reload this pagehttps://github.com/datajoint/datajoint-python/pull/424/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.