Skip to main content

Publish a Jupyter Notebook as a Medium blogpost

Project description

Jupyter to Medium

Publish Jupyter Notebooks as Medium blog posts directly from your notebook with the help of jupyter_to_medium.

Installation

pip install jupyter_to_medium

Should be automatically activated

You should be able to skip the next step, but if the extension is not showing up in your notebook, run the following command:

jupyter bundlerextension enable --py jupyter_to_medium._bundler --sys-prefix

Get an Integration Token from Medium

Before using this package, you must request an integration token from Medium. Read the instructions here on how to get your integration token.

Save your integration token

Once you have your integration token, create the folder and file .jupyter_to_medium/integration_token in your home directory and save the token there. If you don't save it, you'll need to access it every time you wish to make a new post.

Usage

There are three ways to publish notebooks:

  • Within an active notebook
  • Using a Python script
  • From the command line

Publishing to Medium within a Notebook

After enabling the extension, open the notebook you wish to publish and select the option File -> Deploy as -> Medium Post

png

A new browser tab will open with a short form that needs to be completed.

png

After clicking publish, the notebook and all images will be uploaded to Medium. Any HTML tables (such as pandas DataFrames) will be converted to images (via chrome) as Medium has no ability to represent tables. This is a time consuming process, so be prepared to wait. Check your terminal for updates on what is happening.

If successful, you'll get the following response with a link to view the post.

png

Click the link to view the post.

png

I suggest keeping the setting to publish as a draft, then review on Medium and finalize the publishing there.

Publishing to Medium with a Python Script

Pass the publish function the location of the Jupyter Notebook you would like to publish as a Medium blog post

>>> import jupyter_to_medium as jtm
>>> jtm.publish('My Awesome Jupyter Notebook.ipynb',
                integration_token=None,
                pub_name=None,
                title=None,
                tags=None,
                publish_status='draft',
                notify_followers=False,
                license='all-rights-reserved',
                canonical_url=None,
                chrome_path=None,
                download_markdown=False)

If successful, JSON data will be returned with the URL.

Publishing to Medium from the Command Line

Upon installation you'll have access to the command line program jupyter_to_medium with the same options as the above function.

jupyter_to_medium --pub-name="Dunder Data" "My Awesome Blog Post.ipynb"

Dependencies

  • Google Chrome / Brave browser

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

jupyter_to_medium-0.0.7.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

jupyter_to_medium-0.0.7-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_to_medium-0.0.7.tar.gz.

File metadata

  • Download URL: jupyter_to_medium-0.0.7.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for jupyter_to_medium-0.0.7.tar.gz
Algorithm Hash digest
SHA256 6bee55fa9abf81f4a0233fac7c2e4b75a68a8ecedcca2664e29296e69b9c4faf
MD5 e9f1f73a2bffc868626ebe5e2394a3dc
BLAKE2b-256 fcf22978e2b17711b7fd92526c7062f5b67ce70f07baeabb4dd05ba7e78836ad

See more details on using hashes here.

File details

Details for the file jupyter_to_medium-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: jupyter_to_medium-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for jupyter_to_medium-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f5379297a0635ac9212ac290fc37f2b17bc9757bc6f5524b9c55808f3b3eb26a
MD5 273d0d7e4e3886652f0bd008c7327397
BLAKE2b-256 16fb230e6f8bb2b1531ad1e1776f159bebc14986bb37b7eb0fb7ea3c305fca67

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