Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link

Summary

This PR converts Tables.jl from a hard dependency to a weak dependency (used only for testing) in SciMLBase.jl.

Context

Tables.jl was listed in the [compat] section which caused it to be installed as a dependency even though it wasn't in [deps]. The Tables interface for SciMLBase solution types is actually provided by RecursiveArrayTools through its extension RecursiveArrayToolsTablesExt, not by SciMLBase directly.

Changes

  • Removed Tables.jl from the [compat] section (it was never in [deps])
  • Kept Tables.jl in [extras] for test dependencies
  • Kept Tables.jl in the test target for running tests

Impact

  • ✅ Reduces dependency footprint of SciMLBase
  • ✅ Tables interface continues to work through RecursiveArrayTools extension
  • ✅ All tests pass
  • ✅ No breaking changes - functionality remains identical

Testing

Verified that:

  1. SciMLBase loads successfully without Tables as a dependency
  2. The Tables interface still works for solution types through RecursiveArrayTools
  3. Test suite passes

🤖 Generated with Claude Code

Tables.jl is now only needed for tests, not as a runtime dependency.
The Tables interface for solution types is provided by RecursiveArrayTools
via its Tables extension (RecursiveArrayToolsTablesExt).

This change:
- Removes Tables from [deps] section (it was never there but listed in compat)
- Removes Tables from [compat] section
- Keeps Tables in [extras] for test dependencies
- Keeps Tables in test target for running tests

The Tables interface continues to work through RecursiveArrayTools extension.
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.

2 participants