Skip to main content

A Jupyter notebook with access to objects from the Django ORM is a powerful tool to introspect data and run ad-hoc queries.

Project description

dj-notebook

A Jupyter notebook with access to objects from the Django ORM is a powerful tool to introspect data and run ad-hoc queries.

Features

  • Easy ipython notebooks with Django
  • Built-in integration with the imported objects from django-extensions
  • Inheritance diagrams on any object, including ORM models

Installation

Use your installation tool of choice, here we use venv and pip:

python -m venv venv
source venv/bin/activate
pip install dj_notebook

Usage

First, find your project's manage.py file and open it. Copy whatever is being set to DJANGO_SETTINGS_MODULE into your clipboard.

Create an ipython notebook in the same directory as manage.py. Then in the first cell enter:

from dj_notebook import activate

plus = activate("DJANGO_SETTINGS_MODULE_VALUE")

In future cells, you can now load and run Django objects, including the ORM. This three line snippet should give an idea of what you can now do:

from django.contrib.auth import get_user_model
User = get_user_model()
User.objects.all()

Usage Plus

But wait, it gets better!

When you activated the Django environment, you instantiated a variable called 'plus'. The 'plus' variable is an object that contains everything loaded from django-extensions' shell_plus. Here's a demonstration, try running this snippet:

plus.User.objects.all()

We also provide a utility for introspection of classes, which can be useful in sophisticated project architectures. Running this code in a Jupyter notebook shell:

plus.diagram(plus.User)

Generates this image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dj_notebook-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

dj_notebook-0.1.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file dj_notebook-0.1.0.tar.gz.

File metadata

  • Download URL: dj_notebook-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for dj_notebook-0.1.0.tar.gz
Algorithm Hash digest
SHA256 777be234dc1ef4fd998401115a74e73a68e896629cdc7b154cbafc0c14cec7be
MD5 b754b1b5d1cbd25b2645a2fd42093759
BLAKE2b-256 b74b7956e9aec7b721ba31a732275fd61ab956999595709695d0c21a91d2cd65

See more details on using hashes here.

File details

Details for the file dj_notebook-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dj_notebook-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for dj_notebook-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc40e8f46df405f7ee729e93ac347d5b62732e369f3aa272cfe92ca5658a47da
MD5 c62852edfbef94a289484f0b91fc8725
BLAKE2b-256 0e21478067a0b135c843b036d31aaec3397eac083691c3898059e65e73fe14db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page