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
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 installation, open the notebook you wish to publish and select the option File -> Deploy as -> Medium Post
A new browser tab will open with a short form that needs to be completed.
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. If successful, you'll get the following response with a link to view the post.
Click the link to view the post.
Finalize and publish on Medium
As of now, your post will be published as a draft. Review and publish the post on Medium.
Publishing to Medium with a Python Script
In a separate script/notebook import juptyer_to_medium
as a module. 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 as a dictionary 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
- nbconvert
- requests
- pillow (if you have HTML tables)
- Google Chrome / Brave browser
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
Built Distribution
File details
Details for the file jupyter_to_medium-0.0.9.tar.gz
.
File metadata
- Download URL: jupyter_to_medium-0.0.9.tar.gz
- Upload date:
- Size: 17.1 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1be50d75c81613cbdedaf1284d67f94677b4404089037d09dc64e25e1106aef |
|
MD5 | ca3f67938010fff431b0a04148e00f98 |
|
BLAKE2b-256 | 4c16cf1be05348b4822001957c56542d14c977edc1508a7fc027c8d7967aa987 |
File details
Details for the file jupyter_to_medium-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: jupyter_to_medium-0.0.9-py3-none-any.whl
- Upload date:
- Size: 19.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36b11cc02fc551543059cee9b1dd1f060988ba9f93ac7c9703419b91aed3e0d0 |
|
MD5 | a5ea2ee2c977dcf86b65574eb881df4d |
|
BLAKE2b-256 | 56799e25fd093182654c2483c44cd361528d9c8cd533c05d787c2a0bbb10ed4e |