Skip to content

brandonhimpfen/blogger-toolkit-python

Blogger Toolkit (Python)

PyPI version   Python versions   License: MIT   Tests   Code style: Ruff   GitHub Sponsor   Buy Me a Coffee   Ko-Fi   PayPal

A practical Python toolkit for bloggers, content creators, and SEO workflows.

Blogger Toolkit focuses on simple, transparent utilities that help analyze, structure, and improve written content. It is designed for people who want lightweight tools they can understand, extend, and integrate into real editorial workflows.

Why this exists

Many blogging tools focus on interfaces, dashboards, and automation layers. This project focuses on the mechanics underneath the workflow.

It helps answer practical questions such as:

  • How often does a target keyword or phrase appear in a draft?
  • Are sentences becoming too long or difficult to scan?
  • What repeated terms might be useful for internal links or metadata?
  • What quick editorial signals can be generated before publishing?

The goal is not to automate writing. The goal is to support better editorial decisions with clear, inspectable logic.

Features

SEO and text analysis

  • Keyword density analysis with support for single-word and multi-word phrases.
  • Basic keyword extraction from normalized text.
  • N-gram analysis for repeated phrase detection.
  • Headings extraction for quick structure review.
  • Basic slug generation for blog posts.

Content analysis

  • Readability scoring using Flesch Reading Ease and Flesch-Kincaid Grade Level.
  • Sentence analysis with averages and longest-sentence reporting.
  • Passive voice estimation using lightweight heuristics.
  • Intro paragraph extraction for summaries and previews.

Workflow automation

  • Internal link suggestions based on keyword-to-URL mappings.
  • Metadata generation for titles and descriptions.
  • Draft summary generation for quick editorial review.
  • Outline extraction from Markdown headings.

Utilities

  • Text cleaning and normalization helpers.
  • File loading helpers for plain text and Markdown content.

Installation

Clone the repository:

git clone https://github.com/brandonhimpfen/blogger-toolkit-python.git
cd blogger-toolkit-python

Install dependencies:

pip install -r requirements.txt

For development:

pip install -e .[dev]

Quick start

Keyword density

from blogger_toolkit.seo.keyword_density import calculate_keyword_density

text = "SEO content strategy helps bloggers build better content systems."
keywords = ["seo", "content strategy", "bloggers"]

result = calculate_keyword_density(text, keywords)
for keyword, data in result.items():
    print(keyword, data["count"], f'{data["density"]:.2f}%')

Metadata generation

from blogger_toolkit.automation.metadata_generator import generate_metadata

text = """Building a lightweight content workflow starts with simple, repeatable steps.
This article explains how to reduce friction without losing editorial quality."""

metadata = generate_metadata(text, max_title_words=8)
print(metadata)

Draft summary

from blogger_toolkit.automation.draft_summary import generate_draft_summary

summary = generate_draft_summary(text)
print(summary)

CLI usage

You can run several tools directly from the command line.

python -m cli.main keyword-density --file examples/sample_blog_post.txt --keywords seo "content strategy" bloggers
python -m cli.main readability --file examples/sample_blog_post.txt
python -m cli.main metadata --file examples/sample_blog_post.txt
python -m cli.main slug --text "How to Build a Better Blogging Workflow"
python -m cli.main headings --file examples/sample_markdown_post.md
python -m cli.main summary --file examples/sample_blog_post.txt

Example output

seo: count=3 density=1.61%
content strategy: count=2 density=1.08%
bloggers: count=1 density=0.54%

Project structure

blogger-toolkit-python/
├── blogger_toolkit/
│   ├── automation/
│   ├── content/
│   ├── seo/
│   └── utils/
├── cli/
├── docs/
├── examples/
├── tests/
└── .github/workflows/

Design principles

This project follows a few simple principles.

  • Keep tools lightweight and understandable.
  • Avoid black-box scoring systems.
  • Prefer useful signals over inflated claims.
  • Treat outputs as editorial aids, not absolute truths.
  • Keep dependencies minimal where possible.

Limitations

Keyword density is not a ranking factor on its own. Readability scores are approximations. Passive voice detection is heuristic. Automated suggestions should always be reviewed manually before publishing.

This toolkit supports editorial decision-making. It does not replace it.

Roadmap

Planned areas for future development include:

  • Topic clustering utilities.
  • Content gap analysis.
  • Markdown and HTML processing helpers.
  • More robust metadata suggestions.
  • Optional notebook examples for content audits.

Contributing

Contributions are welcome.

When adding a new tool:

  • Keep dependencies minimal
  • Document the use case clearly
  • Include example usage
  • Add tests where practical
  • Avoid unnecessary complexity

See CONTRIBUTING.md for more detail.

License

This project is licensed under the MIT License. See LICENSE.

About

Blogger Toolkit focuses on simple, transparent utilities that help analyze, structure, and improve written content.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages