Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions src/components/sections/community-partners.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
import { getCollection } from "astro:content";
import { Image } from "astro:assets";
import Section from "@ui/Section.astro";
import Headline from "@ui/Headline.astro";
import Button from "@ui/Button.astro";
import { sponsorLogos } from "@data/sponsorLogos";

const allPartners = await getCollection("sponsors", ({ data }) => {
const isProd = import.meta.env.MODE === "production";
const notDraft = !isProd || data.draft !== true;
const isPartner = data.tier === "Partners";
return notDraft && isPartner;
});

const isPyData = (name: string) => name.startsWith("PyData");

const regular = allPartners
.filter(p => !isPyData(p.data.name))
.sort((a, b) => a.data.name.localeCompare(b.data.name));

const pydata = allPartners
.filter(p => isPyData(p.data.name))
.sort((a, b) => a.data.name.localeCompare(b.data.name));

const partners = [...regular, ...pydata];

const sectionTitle = "Community Partners";
const sectionSubtitle = "Meet the local Python communities joining us at EuroPython 2026";
---

<Section variant="secondary">
<Headline id="community-partners" title={sectionTitle} center="true" />
<div class="container mx-auto px-6">
<div class="text-center mb-12">
<p class="text-lg text-gray-600 max-w-2xl mx-auto">{sectionSubtitle}</p>
</div>

<div class="partners-grid grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-3 gap-8 max-w-4xl mx-auto">
{partners.map((partner) => {
const logo = sponsorLogos[partner.id];
return (
<a
href={`/community-partners#sponsor-${partner.id}`}
class="partner-card bg-white rounded-xl shadow-lg hover:shadow-xl transition-all duration-300 p-4 border border-gray-100 hover:border-primary hover:-translate-y-1 flex flex-col items-center justify-center aspect-square"
>
{logo && (
<Image
src={logo}
alt={`${partner.data.name} Logo`}
class="max-h-36 max-w-[80%] w-auto object-contain mb-2"
/>
)}
<h3 class="font-semibold text-gray-900 text-center text-sm">
{partner.data.name}
</h3>
</a>
);
})}
</div>

<div class="mt-10 text-center">
<Button url="/community-partners">Learn more about our partners</Button>
</div>
</div>
</Section>

<style>
.partner-card:hover {
transform: translateY(-4px);
}

.partners-grid {
animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.container {
max-width: 1150px;
}
</style>
38 changes: 0 additions & 38 deletions src/content/sponsors/dsf/dsf.svg

This file was deleted.

17 changes: 0 additions & 17 deletions src/content/sponsors/dsf/index.md

This file was deleted.

122 changes: 122 additions & 0 deletions src/content/sponsors/euroscipy/euroscipy.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions src/content/sponsors/euroscipy/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: EuroSciPy
url: https://euroscipy.org/
location: "Europe"
industry: "Technology & Science"
description:
"EuroSciPy is an annual conference for the European community of users and
developers of Python for scientific computing. It brings together scientists,
engineers, and data analysts to share knowledge about the Python ecosystem for
science."
socials:
linkedin:
twitter:
github:
discord:
mastodon:
bluesky:
logo_padding: 10px
tier: Partners
---
Binary file not shown.
25 changes: 0 additions & 25 deletions src/content/sponsors/hablemospython/index.md

This file was deleted.

19 changes: 19 additions & 0 deletions src/content/sponsors/pyconwro/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: "PyCon Wrocław"
url: https://pyconwroclaw.com/
location: "Poland"
industry: "Technology & Community"
description:
"PyCon Wrocław is a Python conference in Wrocław, Poland. We bring together
Python developers and enthusiasts for talks, workshops, and community
networking in one of Poland's most vibrant tech cities."
socials:
linkedin:
twitter:
github:
discord:
mastodon:
bluesky:
logo_padding: 10px
tier: Partners
---
4 changes: 4 additions & 0 deletions src/content/sponsors/pyconwro/pyconwro.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions src/content/sponsors/pydatabydgoszcz/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: PyData Bydgoszcz
url: https://www.meetup.com/PyData-Bydgoszcz/
location: "Poland"
industry: "Technology & Data Science"
description:
"PyData Bydgoszcz is a local chapter of PyData, bringing together developers
and data scientists in Bydgoszcz, Poland to share knowledge about Python and
open source data tools."
socials:
linkedin:
twitter:
github:
discord:
mastodon:
bluesky:
logo_padding: 10px
tier: Partners
---
Loading