Skip to content

Conversation

@dimitri-yatsenko
Copy link
Member

@dimitri-yatsenko dimitri-yatsenko commented Jan 9, 2026

Summary

  • Add unified URL handling for all storage backends including local files
  • Remove orphaned archive documentation (migrated to datajoint-docs)

Changes

URL Representation

  • Add URL_PROTOCOLS tuple including file://
  • Add is_url() to check if path is a URL
  • Add normalize_to_url() to convert local paths to file:// URLs
  • Add parse_url() to parse any URL into protocol and path
  • Add StorageBackend.get_url() to return full URLs for any backend

Documentation Cleanup

  • Remove docs/src/archive/ directory (123 files, ~15k lines)
  • Content has been migrated to datajoint-docs repository

Benefits

  • Coherent internal representation across all storage types
  • Simpler codebase - no special-casing for local vs remote
  • Better alignment with fsspec's unified approach to filesystems
  • Cleaner repository with documentation in its proper home

Test plan

  • All unit tests pass
  • Existing storage tests pass
  • Pre-commit checks pass

Closes #1326

🤖 Generated with Claude Code

Implements unified URL handling for all storage backends including local files:

- Add URL_PROTOCOLS tuple including file://
- Add is_url() to check if path is a URL
- Add normalize_to_url() to convert local paths to file:// URLs
- Add parse_url() to parse any URL into protocol and path
- Add StorageBackend.get_url() to return full URLs for any backend
- Add comprehensive unit tests for URL functions

This enables consistent internal representation across all storage types,
aligning with fsspec's unified approach to filesystems.

Closes #1326

Co-Authored-By: Claude Opus 4.5 <[email protected]>
dimitri-yatsenko and others added 2 commits January 9, 2026 16:35
The TestRemoteURLSupport class tested is_remote_url and parse_remote_url
which were renamed to is_url and parse_url. These tests are now redundant
as comprehensive coverage exists in tests/unit/test_storage_urls.py.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@github-actions github-actions bot added the documentation Issues related to documentation label Jan 9, 2026
Content has been migrated to datajoint-docs repository.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@dimitri-yatsenko dimitri-yatsenko changed the title feat: Add consistent URL representation for all storage paths feat: Add URL representation for storage paths and remove orphaned docs Jan 9, 2026
@dimitri-yatsenko dimitri-yatsenko merged commit 1a3e3d1 into pre/v2.0 Jan 9, 2026
5 of 6 checks passed
@dimitri-yatsenko dimitri-yatsenko deleted the feature/1326-url-representation branch January 9, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Issues related to documentation enhancement Indicates new improvements feature Indicates new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants