JupySQL vs ipython-sql#

JupySQL is an actively maintained fork of ipython-sql; it is a drop-in replacement for 99% cases with a lot of new features.


If you’re migrating from ipython-sql to JupySQL, these are the differences (in most cases, no code changes are needed):

  • Since 0.6 JupySQL no longer supports old versions of IPython

  • Variable expansion is replaced from {variable}, ${variable} to {{variable}}

  • Variable expansion via :variable has been disable by default, but can be enabled with %config SqlMagic.named_parameters = True

  • Since 0.10.0, loading connections from a .ini file using %sql [section_name] has been deprecated. Use %sql --section section_name instead.

New features#

  • Plotting module that allows you to efficiently plot massive datasets without running out of memory.

  • JupySQL allows you to break queries into multiple cells with the help of CTEs. Click here to learn more.

  • Using %sqlcmd tables and %sqlcmd columns --table/-t user can quickly explore tables in the database and the columns each table has. Click here to learn more.

  • Polars Integration to convert query results to polars.DataFrame. %config SqlMagic.autopolars can be used to automatically return Polars DataFrames instead of regular result sets.

  • Integration tests with PostgreSQL, MariaDB, MySQL, SQLite and DuckDB.

  • The configuration default value of SqlMagic.displaylimit is different, in JupySQL is 10, whereas in ipython-sql is None