diff --git a/src/components/sections/media-partners.astro b/src/components/sections/media-partners.astro
new file mode 100644
index 000000000..1bc3ae2f9
--- /dev/null
+++ b/src/components/sections/media-partners.astro
@@ -0,0 +1,64 @@
+---
+import { getCollection } from "astro:content";
+import Section2 from "@ui/Section2.astro";
+import Title from "@ui/Title.astro";
+import Button from "@ui/Button.astro";
+import SponsorLogo from "@components/SponsorLogo.astro";
+
+
+const partners = (await getCollection("sponsors", ({ data }) => {
+ const isProd = import.meta.env.MODE === "production";
+ const notDraft = !isProd || data.draft !== true;
+ const isMediaPartner = data.tier === "Media Partners";
+ return notDraft && isMediaPartner;
+})).sort((a, b) => a.data.name.localeCompare(b.data.name));
+
+const sectionSubtitle = "Meet the media organisations supporting EuroPython 2026";
+---
+
+
+
+
+
+
+
+
+
+
+ {partners.map((partner) => (
+
+ ))}
+
+
+
+
+
diff --git a/src/content/sponsors/arjancodes/arjancodes.png b/src/content/sponsors/arjancodes/arjancodes.png
new file mode 100644
index 000000000..13f385491
Binary files /dev/null and b/src/content/sponsors/arjancodes/arjancodes.png differ
diff --git a/src/content/sponsors/arjancodes/index.md b/src/content/sponsors/arjancodes/index.md
new file mode 100644
index 000000000..23a959f6f
--- /dev/null
+++ b/src/content/sponsors/arjancodes/index.md
@@ -0,0 +1,24 @@
+---
+name: ArjanCodes
+url: https://www.arjancodes.com/
+location: "World"
+industry: "Technology"
+description:
+ "ArjanCodes helps software developers and engineering teams build better
+ software through practical education, training, and content. Founded by
+ software developer, educator, and entrepreneur Arjan Egges, ArjanCodes draws
+ on more than 20 years of experience in software development and teaching.
+ Through its YouTube channel, online courses, and corporate training programs,
+ ArjanCodes has helped millions of developers improve their coding,
+ architecture, and software design skills."
+socials:
+ linkedin: "https://www.linkedin.com/company/84778227"
+ twitter: "https://x.com/arjancodes"
+ youtube: "https://www.youtube.com/arjancodes"
+ instagram: "https://www.instagram.com/arjancodes/"
+ github: "https://github.com/arjancodes"
+ facebook: "https://www.facebook.com/arjancodes"
+ discord: "https://discord.com/invite/K9CKfWrX4A"
+logo_padding: 10px
+tier: Media Partners
+---
diff --git a/src/content/sponsors/django-chat/django-chat.png b/src/content/sponsors/django-chat/django-chat.png
new file mode 100644
index 000000000..57037d28e
Binary files /dev/null and b/src/content/sponsors/django-chat/django-chat.png differ
diff --git a/src/content/sponsors/django-chat/index.md b/src/content/sponsors/django-chat/index.md
new file mode 100644
index 000000000..a2beb17f1
--- /dev/null
+++ b/src/content/sponsors/django-chat/index.md
@@ -0,0 +1,14 @@
+---
+name: Django Chat
+url: https://djangochat.com/
+location: "World"
+industry: "Technology & Education"
+description:
+ "Django Chat is a podcast about the Django web framework, hosted by William
+ Vincent and Carlton Gibson. Each episode covers Django internals, best
+ practices, and interviews with developers and contributors who are shaping the
+ Django ecosystem. It's an essential listen for anyone building with Django or
+ looking to deepen their understanding of Python web development."
+logo_padding: 10px
+tier: Media Partners
+---
diff --git a/src/content/sponsors/hackerspace-wroclaw/hackerspace-wroclaw.svg b/src/content/sponsors/hackerspace-wroclaw/hackerspace-wroclaw.svg
new file mode 100644
index 000000000..ed7887afa
--- /dev/null
+++ b/src/content/sponsors/hackerspace-wroclaw/hackerspace-wroclaw.svg
@@ -0,0 +1,123 @@
+
+
+
+
diff --git a/src/content/sponsors/hackerspace-wroclaw/index.md b/src/content/sponsors/hackerspace-wroclaw/index.md
new file mode 100644
index 000000000..7e69ad48f
--- /dev/null
+++ b/src/content/sponsors/hackerspace-wroclaw/index.md
@@ -0,0 +1,17 @@
+---
+name: Hackerspace Wrocław
+url: https://hswro.org/
+location: Poland
+industry: "Technology & Community"
+description:
+ "Hackerspace Wrocław is a community of technology enthusiasts that has existed
+ in Wrocław for over 11 years. Our weekly Wednesday meetings are a perfect
+ opportunity to meet people fascinated by retro computing, amateur radio,
+ programming, electronics, woodworking and metalworking, as well as many other,
+ often surprising, things."
+socials:
+ facebook: "https://www.facebook.com/HackerspaceWroclaw"
+ mastodon: "https://mastodon.radio/@SP6HACK"
+logo_padding: 10px
+tier: Media Partners
+---
diff --git a/src/content/sponsors/paged-out/index.md b/src/content/sponsors/paged-out/index.md
new file mode 100644
index 000000000..8e9e2bded
--- /dev/null
+++ b/src/content/sponsors/paged-out/index.md
@@ -0,0 +1,17 @@
+---
+name: Paged Out!
+url: https://pagedout.institute/
+location: World
+industry: "Technology & Community"
+description:
+ "Paged Out! is a free experimental (one article == one page) technical
+ magazine about programming (especially programming tricks!), hacking, security
+ hacking, retro computers, modern computers, electronics, demoscene, and other
+ similar topics. It's made by the community for the community."
+socials:
+ linkedin: "https://www.linkedin.com/company/paged-out"
+ twitter: "https://x.com/pagedout_zine"
+ bluesky: "https://bsky.app/profile/pagedout.bsky.social"
+logo_padding: 10px
+tier: Media Partners
+---
diff --git a/src/content/sponsors/paged-out/paged-out.png b/src/content/sponsors/paged-out/paged-out.png
new file mode 100644
index 000000000..95d443ed3
Binary files /dev/null and b/src/content/sponsors/paged-out/paged-out.png differ
diff --git a/src/content/sponsors/real-python-podcast/index.md b/src/content/sponsors/real-python-podcast/index.md
new file mode 100644
index 000000000..503689e11
--- /dev/null
+++ b/src/content/sponsors/real-python-podcast/index.md
@@ -0,0 +1,19 @@
+---
+name: Real Python Podcast
+url: https://realpython.com/podcasts/rpp/
+location: "World"
+industry: "Technology & Education"
+description:
+ "The Real Python Podcast is a weekly Python podcast hosted by Christopher
+ Bailey, featuring interviews with Python developers, educators, and community
+ members from around the world. Each episode dives into topics ranging from
+ Python best practices and tools, to career advice and open source projects,
+ making it a go-to resource for Pythonistas of all skill levels."
+socials:
+ twitter: "https://x.com/realpython"
+ youtube: "https://www.youtube.com/@realpython"
+ github: "https://github.com/realpython"
+ facebook: "https://www.facebook.com/LearnRealPython"
+logo_padding: 10px
+tier: Media Partners
+---
diff --git a/src/content/sponsors/real-python-podcast/real-python-podcast.svg b/src/content/sponsors/real-python-podcast/real-python-podcast.svg
new file mode 100644
index 000000000..f08eed8f8
--- /dev/null
+++ b/src/content/sponsors/real-python-podcast/real-python-podcast.svg
@@ -0,0 +1,151 @@
+
+
+
diff --git a/src/data/nav.ts b/src/data/nav.ts
index cefe01e5b..b64a02f21 100644
--- a/src/data/nav.ts
+++ b/src/data/nav.ts
@@ -88,6 +88,10 @@ const L = {
label: "Community Partners",
url: "/community-partners",
},
+ mediaPartners: {
+ label: "Media Partners",
+ url: "/media-partners",
+ },
// Misc
jobs: { label: "Jobs", url: "/jobs" },
@@ -178,7 +182,9 @@ export const NAV_MENUS: NavMenu[] = [
{
label: "Community",
url: "/about",
- sections: [{ items: [L.about, L.eps, L.communityPartners] }],
+ sections: [
+ { items: [L.about, L.eps, L.communityPartners, L.mediaPartners] },
+ ],
},
// Jobs — single link, no dropdown
@@ -254,6 +260,13 @@ export const FOOTER_COLUMNS: FooterColumn[] = [
},
{
title: "Community",
- items: [L.about, L.eps, L.communityPartners, L.blog, L.contacts],
+ items: [
+ L.about,
+ L.eps,
+ L.communityPartners,
+ L.mediaPartners,
+ L.blog,
+ L.contacts,
+ ],
},
];
diff --git a/src/pages/index.astro b/src/pages/index.astro
index afdc9b09e..7b338812f 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -13,6 +13,7 @@ import Testimonials from "@sections/testimonials.astro";
import Programme from "@sections/programme.astro";
import EuroSciPy from "@sections/euroscipy.astro";
import CommunityPartners from "@sections/community-partners.astro";
+import MediaPartners from "@sections/media-partners.astro";
import Connect from "@sections/connect.astro";
---
@@ -32,6 +33,7 @@ import Connect from "@sections/connect.astro";
+