{"repo":"ma2za/python-substack","free":true,"listed":false,"github":"https://github.com/ma2za/python-substack","clone":"git clone https://github.com/ma2za/python-substack.git","description":"Write and safely manage Substack drafts from Markdown with Python, CLI, and MCP.","language":"Python","stars":161,"topics":["substack","newsletter","python","python-substack","mcp","api-wrapper","automation","cli","markdown","publishing"],"license":"MIT","category":"cli-tools","readme_excerpt":"Python Substack Write Substack posts in Markdown and safely create, inspect, schedule, and publish them through Python, a command-line interface, or MCP. Documentation · Getting started · PyPI [!IMPORTANT] Creating and publishing are separate operations. substack drafts create always creates an unpublished draft. It never schedules, sends, publishes, or deletes content. From Markdown to a Substack draft Install the package: Check the selected account and publication: Create a safe unpublished draft, then publish only when it is ready: Publishing and deletion require confirmation. Noninteractive and JSON workflows must pass --yes explicitly. Markdown source: Substack result: What it supports - Create rich Substack drafts from Markdown. - Upload local images referenced by Markdown. - Set audience, comment permissions, SEO metadata, slug, sections, and tags. - List and inspect publications and drafts. - Schedule, unschedule, publish, and delete drafts with explicit safeguards. - Use stable JSON envelopes in scripts and automation. - Authenticate with browser cookies or email and password. - Use the same publishing workflow from Python or an optional MCP server. Setup Copy .env.example to .env and configure one authentication method: Cookie authentication is usually more reliable when Substack requires captcha or magic-link sign-in. See Authentication for cookie export instructions and account-selection details. Verify the installation without authenticating: CLI Create a draft w","default_branch":null,"files":null,"tree":[],"storefront":"/r/ma2za","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ma2za/python-substack/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}