Skip to content

Simple python scripts for using the Buttondown API, Google Gemini, and edge case handling with Buttondown exports for import into 11ty

License

Notifications You must be signed in to change notification settings

JayCuthrell/buttondown-python-scripts

Repository files navigation

buttondown-python-scripts

Simple python scripts for using the Buttondown API

Each python script was based on examples from Buttondown and enrichment using Google Gemini (with significant errors) and tested in a virtual environment on OS Version: macOS 15.5 build 24F74 using omz and Python 3.12.4 with the following pip3 list

Package                      Version
---------------------------- -----------
annotated-types              0.7.0
beautifulsoup4               4.13.4
bs4                          0.0.2
cachetools                   5.5.2
certifi                      2025.6.15
charset-normalizer           3.4.2
DateTime                     5.5
feedparser                   6.0.11
google-ai-generativelanguage 0.6.15
google-api-core              2.25.1
google-api-python-client     2.174.0
google-auth                  2.40.3
google-auth-httplib2         0.2.0
google-generativeai          0.8.5
googleapis-common-protos     1.70.0
grpcio                       1.73.1
grpcio-status                1.71.0
httplib2                     0.22.0
idna                         3.10
pip                          25.1.1
proto-plus                   1.26.1
protobuf                     5.29.5
pyasn1                       0.6.1
pyasn1_modules               0.4.2
pydantic                     2.11.7
pydantic_core                2.33.2
pyparsing                    3.2.3
python-dateutil              2.9.0.post0
python-dotenv                1.1.1
pytz                         2025.2
requests                     2.32.4
rsa                          4.9.1
setuptools                   80.9.0
sgmllib3k                    1.0.0
six                          1.17.0
soupsieve                    2.7
tqdm                         4.67.1
typing_extensions            4.14.0
typing-inspection            0.4.1
uritemplate                  4.2.0
urllib3                      2.5.0
zope.interface               7.2

Start here

If you are comfortable with python and API use, start here.

If you are not, start here.

Scripts

This list will grow as my needs evolve for Hot Fudge Daily newsletter grow and my API automation comfort increases.

  • get_list.py - pulls basic information that is readable in a terminal
  • get_digest.py - pulls recent posts to be piped into a buffer i.e. python3 get_digest.py | pbcopy
  • get_models.py - verify your Google Gemini API key is functional
  • linkedin_post_generator.py - pull most recent email and apply LinkedIn content strategy prompt using Gemini
  • export_for_import.py - prepare a Buttondown email export for use in Eleventy Excellent (11ty starter)
  • parsing/*.py - odds and ends for handing rss and extracting elements from HTML

JupyterLab

This list will grow as my newsletter analysis skils improve.

  • Topics.ipynb - a quick analysis of markdown format blog posts for words and frequency from my blog post Finding My Nich (2024)
  • stay tuned...

About

Simple python scripts for using the Buttondown API, Google Gemini, and edge case handling with Buttondown exports for import into 11ty

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published