[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

[v3] h5py compat methods on Group - #2128

Merged
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group
Sep 4, 2024
Merged

[v3] h5py compat methods on Group#2128
jhamman merged 11 commits into
zarr-developers:v3from
jhamman:feature/h5py-compat-group

Conversation

@jhamman

@jhammanjhamman commented Aug 27, 2024

Copy link
Copy Markdown
Member

This PR adds the h5py compat methods to the Zarr Group API from v2.

The plan described in #1583 was to remove these but after looking into it, a bit more, I came to the conclusion that require_group and require_dataset are actually pretty useful. I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

closes#1597

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@jhamman
jhamman marked this pull request as ready for review August 28, 2024 00:04
@jhamman
jhamman requested a review from d-v-bAugust 30, 2024 18:48
@joshmoore

Copy link
Copy Markdown
Member

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

@d-v-bd-v-b left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm open to adding deprecation warnings to create_dataset and require_dataset (perhaps replacing the latter with require_array) if we want to phase out the h5py specific language.

+1 to this, ultimately we shouldn't use the term "dataset". But for short-term hdf5 compatibility this PR looks good.

@d-v-bd-v-b mentioned this pull request Sep 3, 2024
6 tasks
@jhamman

Copy link
Copy Markdown
MemberAuthor

In general, big 👍 for the compatibility. cc: @clbarnes of https://github.com/clbarnes/h5py_like fame in case there are any lessons learned, etc. that we should take into account.

I'm going to go ahead and merge this but happy to take feedback from @clbarnes here or in #1597.

@clbarnes

Copy link
Copy Markdown
Contributor

Nothing specific to say, just happy if h5py_like was of any use! Definitely agree on throwing PendingDeprecationWarnings whenever these short-term compatibility measures are used, otherwise you'll never be rid of them.

@jhamman
jhamman merged commit 3b793c1 into zarr-developers:v3Sep 4, 2024
@jhamman
jhamman deleted the feature/h5py-compat-group branch September 4, 2024 23:13
@jhammanjhamman added the V3 label Sep 5, 2024
@jhammanjhamman added this to the 3.0.0 milestone Sep 5, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

h5py compatibility in v3

4 participants

@jhamman@joshmoore@clbarnes@d-v-b