Turn your IPython console into a cross-database SQL client
Project description
ipydb is an IPython plugin for running SQL queries and viewing their results.
Usage
Some demonstration videos are available in the documentation
$ ipython
In [1] : %load_ext ipydb
In [2] : %automagic on
Automagic is ON, % prefix IS NOT needed for line magics.
In [3] : connecturl mysql://user:pass@localhost/employees
In [4] localhost/employees: tables
departments
dept_emp
dept_manager
employees
salaries
titles
In [5] localhost/employees: fields departments
departments
-----------
dept_name VARCHAR(40)
dept_no CHAR(4)
In [6] localhost/employees: select * from departments order by dept_name
+---------+--------------------+
| dept_no | dept_name |
+---------+--------------------+
| d009 | Customer Service |
| d005 | Development |
| d002 | Finance |
| d003 | Human Resources |
| d001 | Marketing |
| d004 | Production |
| d006 | Quality Management |
| d008 | Research |
| d007 | Sales |
Features
Tab-completion of table names, fields and joins
View query results in ascii-table format piped through less
Single-line or multi-line query editing
Tab-completion metadata is read in the background and persisted across sessions
Cross-database support, thanks to SqlAlchemy: supported databases
Installation
To install ipydb:
$ pip install ipydb
You will need a python driver for your database of choice. For example:
$ pip install mysql-python
ipydb uses SqlAlchemy to interact with databases. See the Supported Databases page for a (large!) list of supported DB-API 2.0 drivers and how to write a connection URL for your particular database.
Start ipython and load the ipydb plugin:
$ ipython
In [1]: load_ext ipydb
Documentation
Documentation is available at: http://ipydb.readthedocs.org
Connecting to Databases
There are two ways to connect to a database with ipydb. Directly via a connection url, using the connecturl magic function, or, using a connection ‘nickname’ with the connect magic function.
1. Using connecturl
You can connect to a database using an SqlAlchemy style url as follows:
%connecturl drivername://username:password@host/database
Some examples:
In [3] : connecturl mysql://myuser:mypass@localhost/mydatabase
In [4] : connecturl sqlite:///path/to/mydb.sqlite
In [5] : connecturl sqlite:///:memory:
See the SqlAlchemy Documentation for further information.
2. Using connect and a .db-connections configuration file
For this to work, you need to create a file called .db-connections located in your home directory. .db-connections is an “ini” formatted file, parsable by python’s ConfigParser module.
Here’s an example of what ~/.db-connections might look like:
[mydb]
type = mysql
username = root
password = xxxx
host = localhost
database = employees
[myotherdb]
type = sqlite
database = /path/to/file.sqlite
Each database connection defined in ~/.db-connections is then referenceable via its [section heading]. So with the above .db-connections file, the following examples would work:
In [6] : connect mydb
In [7] mydb : connect myotherdb
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ipydb-0.0.2.tar.gz
.
File metadata
- Download URL: ipydb-0.0.2.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f99840133fb88a5541f576c63b5911356e707d1cab612e80234b02a8d6b2d8ae |
|
MD5 | 1edc0ff99c8eb690eb887813233045b7 |
|
BLAKE2b-256 | 20b7363aeff3e8d73ac3faf0479719b5508b708b6c329bb4173f1d77d6520ba1 |