Skip to main content

3 posts tagged with "SSG"

Static site generator tips, comparisons, and news.

View All Tags

Pycora vs Astro — Python vs JavaScript for Modern Static Sites

· 3 min read
Axcora Technology
Sovereign Web Architect & AI Research Lab

Astro is one of the most popular static site generators in 2026. It's fast, flexible, and has a huge ecosystem.

Pycora Pro takes a different approach: pure Python, zero client JS, zero build step.

Here's how they compare.

The Core Difference​

AstroPycora Pro
LanguageJavaScript / TypeScriptPython
RuntimeNode.jsPython 3.8+
BuildVite + esbuildPlain Python
Template engineAstro / JSXJinja2 + PAX
Client JSOpt-in islands0 KB by default
Dependenciesnpm (many)pip (4)

Build Speed​

AstroPycora Pro
Cold build (40 pages)3.8s0.87s
Incremental0.9s0.4s
Memory220 MB65 MB

Pycora is 4x faster on the same content.

Client JavaScript​

Astro ships ~15 KB of client JS by default (for hydration, view transitions, etc.).

Pycora Pro ships 0 KB. All interactivity is pure HTML/CSS or opt-in vanilla JS.

For sites that don't need client-side interactivity, this is a huge win for performance.

Dependencies​

Astro​

npm install
# ~500 packages in node_modules

Pycora Pro​

pip install jinja2 markdown pyyaml watchdog
# 4 packages

Astro has a build step. Pycora doesn't.

Templating​

Astro​

---
const posts = await getCollection('posts');
---
<html>
<body>
{posts.map(post => (
<article>
<h2>{post.data.title}</h2>
</article>
))}
</body>
</html>

Pycora Pro​

{% for post in collections.posts %}
<article>
<h2>{{ post.title }}</h2>
</article>
{% endfor %}

Both are clean. Jinja2 is more familiar to Python developers.

Content Format​

Astro — Content Collections​

src/content/posts/
├── post-01.md
└── post-02.md

Pycora Pro​

content/posts/
├── post-01.md
└── post-02.md

Same idea. Both use Markdown + frontmatter.

Deployment​

Both deploy anywhere. Both are static.

ProviderAstroPycora
Cloudflare Pages✅✅
Vercel✅✅
Netlify✅✅
GitHub Pages✅✅

Pycora advantage: no Node.js on the build server. Python is already there.

When to Use Astro​

  • You need React/Vue/Svelte components
  • You want view transitions
  • You need a rich ecosystem of integrations
  • Your team knows JavaScript

When to Use Pycora Pro​

  • You prefer Python
  • You want zero client JS
  • You want faster builds
  • You want zero npm dependencies
  • You want a built-in CMS

Can You Use Both?​

Yes. Astro has a Python integration via @astrojs/python. But you're still running Node.

Pycora Pro is Python all the way.

The Verdict​

Use caseRecommendation
Content site, no JSPycora Pro
Interactive appAstro
Python teamPycora Pro
JS teamAstro
Performance-firstPycora Pro
Component-heavyAstro

Get Pycora Pro​

Pycora Pro is $145, one payment, own forever.

Get Pycora Pro on Gumroad →

Why We Built a Python SSG in 2026

· 3 min read
Axcora Technology
Sovereign Web Architect & AI Research Lab
Mesin Kasir
Founder, Axcora Technology

In 2026, static site generators are everywhere. Astro, Eleventy, Hugo, Jekyll — the list goes on. So why did we build another one?

Because none of them ran on Python.

The Problem​

Every SSG forces you into a language ecosystem:

SSGLanguage
JekyllRuby
EleventyJavaScript
AstroJavaScript
HugoGo
GatsbyJavaScript
HexoJavaScript

If you're a Python developer, you're stuck. Either:

  1. Learn a new language for your static site
  2. Use Jekyll and deal with Ruby dependency hell

Neither is good.

Python Developers Are Everywhere​

Python is the most popular programming language in the world. It's used for:

  • Data science
  • Machine learning
  • Web scraping
  • Automation
  • Backend APIs
  • Static sites

Yet there was no first-class Python SSG.

What We Built​

Pycora Pro is a Python-native static site generator. It uses:

  • Python 3.8+ — no compilation, no version managers
  • Jinja2 — the most popular Python template engine
  • Markdown — with YAML frontmatter
  • PAX — our custom template loader

The result: a static site generator that feels like Python.

Why Not Just Use Jekyll?​

Jekyll works. But:

  • Ruby is a second language. Most Python devs don't know it.
  • Gem dependencies break. Every Ruby update, every gem update.
  • Slow builds. Jekyll is 4–5x slower than Pycora.
  • No Python integration. Can't use pandas, requests, or any Python library.

Why Not Eleventy or Astro?​

Both are excellent. But:

  • Node.js dependency. You need Node + npm + a bundler.
  • JavaScript-only. Can't import Python modules.
  • Build complexity. Astro has a build step; Pycora doesn't.
  • Bundle size. Astro ships client JS by default; Pycora ships 0 KB.

The Python Advantage​

Using Python for static sites gives you:

1. Scripting​

Generate content programmatically:

# fetch_posts.py
import requests

posts = requests.get("https://api.example.com/posts").json()

for post in posts:
with open(f"content/posts/{post['slug']}.md", "w") as f:
f.write(f"---\ntitle: {post['title']}\n---\n\n{post['body']}")

2. Data Processing​

Use pandas, numpy, or any Python library to generate content:

import pandas as pd

df = pd.read_csv("data.csv")

for _, row in df.iterrows():
# generate markdown from CSV
...

3. No Runtime​

Output is still pure static HTML. Python is only used at build time.

4. Zero Client JS​

Pycora ships 0 KB client JavaScript by default. Your site loads instantly.

Performance​

Pycora ProJekyllEleventyAstro
Build 40 pages0.87s4.2s2.1s3.8s
RuntimePythonRubyNodeNode
Client JS0 KB0 KB0 KB~15 KB
Dependencies4 pip packagesRuby + gemsNode + npmNode + npm

The Philosophy​

We're not trying to replace Astro or Eleventy. We're giving Python developers a native option.

If you're a Python developer, you shouldn't have to learn JavaScript to build a static site.

Get Pycora Pro​

Pycora Pro is $145, one payment, own forever.

  • Python 3.8+
  • Jinja2 + PAX
  • Bento design system
  • Decap CMS included
  • Unlimited projects

Get Pycora Pro on Gumroad →

Next Steps​

Pycora vs Jekyll — Python vs Ruby for Static Sites

· 3 min read
Axcora Technology
Sovereign Web Architect & AI Research Lab

Jekyll has been the default static site generator for over a decade. But its Ruby dependency has become a pain point for developers who've moved on to Python.

Pycora Pro is a Python-native alternative. Same Markdown + YAML workflow, same layout inheritance, but zero Ruby.

Here's how they compare.

The Core Difference​

JekyllPycora Pro
LanguageRubyPython
RuntimeRuby + BundlerPython 3.8+
Template engineLiquidJinja2 + PAX
Build speedSecondsMilliseconds
DependenciesGems, Bundlerpip (4 packages)
DeployAny static hostAny static host
LicenseMITMIT

Dependencies​

Jekyll​

Jekyll requires Ruby, then gems, then Bundler. On a fresh machine:

# Install Ruby (varies by OS)
brew install ruby

# Install Jekyll
gem install jekyll bundler

# Install project gems
bundle install

Every time Ruby updates, gems break. Every time a gem updates, Bundler complains. This is dependency hell.

Pycora Pro​

pip install jinja2 markdown pyyaml watchdog

Four packages. That's it. Python 3.8+ is already on most machines.

Build Speed​

We built a test site with 40 Markdown files, 10 layouts, and 5 partials.

JekyllPycora Pro
Cold build4.2s0.87s
Incremental1.8s0.4s
Memory180 MB65 MB

Pycora Pro is 4–5x faster on the same content.

Templating​

Jekyll — Liquid​

{% for post in site.posts limit:3 %}
<a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

Pycora Pro — Jinja2 + PAX​

{% for post in posts | limit(3) %}
<a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

PAX auto-converts old Liquid-style slices:

{{ posts[:3] }} → {{ posts | limit(3) }}

So if you're migrating from Jekyll, most Liquid templates work with minor tweaks.

Content Format​

Both use Markdown + YAML frontmatter.

Jekyll​

---
layout: post
title: "My Post"
date: 2024-01-20
tags: [python, ssg]
---

Pycora Pro​

---
layout: layouts/post
title: "My Post"
date: 2024-01-20
tags: [python, ssg]
---

Almost identical. The only difference: Pycora uses layouts/post instead of post.

Deployment​

Both output static HTML. Both deploy anywhere.

ProviderJekyllPycora Pro
Cloudflare Pages✅✅
Vercel✅✅
Netlify✅✅
GitHub Pages✅✅

Pycora Pro advantage: no Ruby version manager needed on the build server. Python is already there.

Developer Experience​

Jekyll​

  • Plugin ecosystem is mature
  • Liquid is limited for complex logic
  • Ruby debugging required for theme development
  • Slow feedback loop on large sites

Pycora Pro​

  • Python native — use any Python library
  • Jinja2 is more powerful than Liquid
  • Built-in Decap CMS admin
  • Live reload via python dev.py

When to Use Jekyll​

  • You already know Ruby
  • You need a specific Jekyll plugin
  • You're maintaining an existing Jekyll site

When to Use Pycora Pro​

  • You prefer Python
  • You want faster builds
  • You want zero Ruby dependencies
  • You want a built-in CMS
  • You want a premium bento design out of the box

Migrating from Jekyll​

Migration is straightforward:

  1. Rename _posts/ → content/posts/
  2. Convert Liquid templates to Jinja2 (PAX handles most of it)
  3. Move _config.yml → _data/site.yaml
  4. Run python ssg.py

See our Jekyll migration guide for details.

Get Pycora Pro​

Pycora Pro is $145, one payment, own forever.

  • Unlimited projects
  • No license key
  • No renewal
  • White-label resale allowed

Get Pycora Pro on Gumroad →