Skip to main content

A Python wrapper around the Substack API.

Project description

Python Substack

This is an unofficial library providing a Python interface for Substack. I am in no way affiliated with Substack.

Python Downloads Release Build

Installation

You can install python-substack using:

$ pip install python-substack

Setup

Set the following environment variables by creating a .env file:

PUBLICATION_URL=https://ma2za.substack.com
EMAIL=
PASSWORD=
USER_ID=

To discover the USER_ID go to your public profile page, in the URL bar of the browser you find the substack address followed by your USER_ID and your username: https://substack.com/profile/[USER_ID]-[username]

The .env file will be ignored by git but always be careful.


Usage

Check out the examples folder for some examples 😃 🚀

import os

from substack import Api
from substack.post import Post

api = Api(
    email=os.getenv("EMAIL"),
    password=os.getenv("PASSWORD"),
    publication_url=os.getenv("PUBLICATION_URL"),
)

post = Post(
    title="How to publish a Substack post using the Python API",
    subtitle="This post was published using the Python API",
    user_id=os.getenv("USER_ID")
)

post.add({'type': 'paragraph', 'content': 'This is how you add a new paragraph to your post!'})

draft = api.post_draft(post.get_draft())

api.prepublish_draft(draft.get("id"))

api.publish_draft(draft.get("id"))

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

python_substack-0.1.11.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

python_substack-0.1.11-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

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