diff --git a/AGENTS.md b/AGENTS.md
index ca4dfac52..c8a3d74ec 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -71,6 +71,19 @@ re-running an importer against `content/`, which is the destructive thing the
paragraph above measures. The export is not part of maintaining this site, and
a correction to a published page goes in the page.
+The one feed that keeps moving is the YouTube channel. `data/channel_videos.yaml`
+is its inventory, the list this site maintains: one entry per video of the
+channel, with the id, the title as the channel shows it, and the decision,
+`placed: true` when an event page carries the link, or `placed: false` with a
+reason. `bin/list-channel` reads the channel with `yt-dlp` and prints what the
+inventory does not hold, which is how a new video gets noticed: write its link
+on the talk of its event page (a link of type `video`, or an entry of
+`session_videos` for the recording of a whole session), then add the entry.
+`bin/check-content` fails on a placed entry no page carries, on a YouTube link
+no entry lists, and on an unplaced entry with no reason, and it never reads the
+network. `yt-dlp` is not in this repository and not in CI: `bin/list-channel`
+says how to install it when it is absent.
+
**`unsafe=true` in `[markup.goldmark.renderer]`.** Raw HTML in front matter
and page bodies renders unescaped. Two content files still carry it,
`content/events/pyday_bcn/pyday_bcn_2018.md` and `pyday_bcn_2019.md`, which
@@ -205,7 +218,7 @@ plausible but different result.
| `themes/pybcn_theme/` | The theme, **vendored in-tree**, not a submodule |
| `themes/pybcn_theme/layouts/partials/` | Most of the interesting template logic |
| `static/archives/` | Verbatim mirrors of pre-Hugo sites, copied unprocessed |
-| `data/` | Tables the templates read: `roles.yaml` maps a heading to a role, `role_emoji.yaml` a role to a glyph, `event_emoji.yaml` an event to a glyph, `venues.yaml` the exact `venue` string of an event to the short name the `/events/` list prints (the page of the meetup keeps the full string) |
+| `data/` | Tables the templates read: `roles.yaml` maps a heading to a role, `role_emoji.yaml` a role to a glyph, `event_emoji.yaml` an event to a glyph, `venues.yaml` the exact `venue` string of an event to the short name the `/events/` list prints (the page of the meetup keeps the full string). Plus `channel_videos.yaml`, the inventory of the YouTube channel, which `bin/check-content` reads and `bin/list-channel` refreshes |
| `bin/` | Setup and build scripts, the checks, `bin/list-channel` (names a channel video the inventory lacks; needs `yt-dlp` and the network), the one-time `bin/import-*` scripts, plus the gitignored Hugo binary |
| `.hugo-version` | The pinned Hugo version, single source of truth |
@@ -213,7 +226,7 @@ The checks, which are what a pull request has to pass:
| Script | What it rejects |
|---|---|
-| `bin/check-content` | A broken reference, a photo that is not square, a source far larger than the build asks for, a field that no longer exists, a `venue` string with no row in `data/venues.yaml`, a row of that table no event uses, an `end_date` that is not a date or not later than `date` |
+| `bin/check-content` | A broken reference, a photo that is not square, a source far larger than the build asks for, a field that no longer exists, a gallery photo the template would skip in silence, a session video with no title or no url or listed twice on its page, a channel video the inventory marks placed that no page carries, a YouTube link the inventory does not list, an unplaced video with no reason, a `venue` string with no row in `data/venues.yaml`, a row of that table no event uses, an `end_date` that is not a date or not later than `date` |
| `bin/check-html-safety` | Dangerous raw HTML in content, with an allowlist for the legitimate embeds |
| `bin/check-rendered` | The same, on the built pages, plus any `http://` URL. Run it against a directory you built, never against `public/` while a dev server is writing there |
diff --git a/LICENSING.md b/LICENSING.md
index c2e1098a5..6aa643fbc 100644
--- a/LICENSING.md
+++ b/LICENSING.md
@@ -112,6 +112,26 @@ of the people in them, and that permission can be withdrawn. The event
photographs are the same case: the photographer keeps the copyright, and the
people in them keep their image rights.
+#### Where the event photographs come from
+
+Most of them were taken by a member of the association at the event and
+published on the association's own social media on the day. The archive
+import brings those back here. Each one credits the account that published
+it and links to the post it came from, so the origin is on the page and the
+post itself can prove it. The account is not the photographer: a member of
+the association took the photograph, and the copyright stays with them.
+
+A photograph the association only **shared**, rather than took, is never
+imported. Its copyright belongs to whoever took it, and sharing a post is not
+permission to republish the image. `bin/import-x-photos` separates those and
+lists them for a human to ask one by one.
+
+An event photograph also shows people who came to listen, and they gave no
+permission for anything. The association prefers a wide view of a room or a
+speaker on stage, over a portrait of somebody who came to learn. **To ask for
+a photograph to come down, write to the association.** It comes down, and
+nobody has to explain why.
+
### Person pages
`content/people/` holds one page per person. Each person wrote their own text
diff --git a/README.md b/README.md
index 823fc7e4c..5856ed723 100644
--- a/README.md
+++ b/README.md
@@ -149,11 +149,12 @@ shortcode, a partial, the theme, a Hugo internal template or the minifier.
The check needs a build made with `-D`. Three draft pages are a canary: a
sponsor and a person whose name closes the attribute it sits in and opens a
-link to `canary.invalid`, listed on `content/canary.md` through the real
-sponsor and people grids. The check fails if either name did not reach that
-page as text, or if the page is missing, so the fixture cannot disappear
-without notice. The deploy workflow builds without `-D`, so the canary never
-reaches the live site.
+link to `canary.invalid`, plus a photo caption that does the same with a
+protocol relative address, listed on `content/canary.md` through the real
+sponsor grid, people grid and photo gallery. The check fails if any of the
+three did not reach that page as text, or if the page is missing, so the
+fixture cannot disappear without notice. The deploy workflow builds without
+`-D`, so the canary never reaches the live site.
```
./bin/hugo --minify -D -d public
diff --git a/bin/check-content b/bin/check-content
index 3a4e4604b..5f8356e84 100755
--- a/bin/check-content
+++ b/bin/check-content
@@ -6,6 +6,16 @@ match its filename, a duplicate id, a page that lists a person or sponsor id
with no page behind it, a declared photo with no file behind it, and a
remote photo_url. It warns about a person photo with no colour in it.
+For an event photo gallery it catches what the template drops in silence: a
+declared photo with no file, a photo with no caption, a photo that points at
+a talk of another event, and a talk that credits a person with no page.
+
+For the videos it checks data/channel_videos.yaml, the inventory of the
+YouTube channel, against the pages: a video the inventory marks placed has
+its link on some event page, every YouTube link of an event front matter
+is in the inventory, and a video the inventory leaves out carries a
+reason. No network: bin/list-channel is what reads the channel.
+
For the venues it checks data/venues.yaml, the short name the /events/ list
prints for each venue, against the pages: every venue string of an event
front matter has a row, and every row is the venue of some event. A venue
@@ -56,6 +66,15 @@ PHOTO_DIRS = [
ROOT / "assets" / "images" / "people",
]
+# The photos of an event gallery. partials/photo_gallery.html resolves a
+# declared file as images/photos/ If you haven't already, please remember to fill the
-PyBCN Membership Form.
24th May: Program available
26th May,10AM: Early registration open for speakers, sponsors and PyLadiesBCN members
- 29th May, 9AM: General registration open through Eventbrite
+ 29th May, 9AM: General registration open through [Eventbrite](https://www.eventbrite.com/e/entradas-pydatabcn-2023-643559583037)
10th June: PyDataBCN 2023"
- title: Registration
id: registration
- content: "General registration will open on Monday 29th of May, at 9AM through Eventbrite."
+ content: "General registration will open on Monday 29th of May, at 9AM through [Eventbrite](https://www.eventbrite.com/e/entradas-pydatabcn-2023-643559583037)."
sponsor_levels:
@@ -363,6 +363,123 @@ agenda:
label: "Closing session & Kahoot"
duration_minutes: 15
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/1667433149322735616"
+ items:
+ - file: pydata-2023/01-starting-the-day-our-president-lpmayos-is-introduc.jpg
+ caption: "Starting the day: our president @lpmayos is introducing Python Barcelona https://pybcn.org"
+ source: "https://x.com/PyBCN/status/1667433149322735616"
+ time: "09:26"
+ - file: pydata-2023/02-this-event-is-only-possible-thanks-to-our-sponsors.jpg
+ caption: "This event is only possible thanks to our sponsors 👏"
+ source: "https://x.com/PyBCN/status/1667433772797640704"
+ time: "09:29"
+ - file: pydata-2023/03-data-orchestration-with-airflow-by-fiorella-piriz.jpg
+ caption: "Data orchestration with Airflow, by Fiorella Piriz Sapio"
+ source: "https://x.com/PyBCN/status/1667454807328661512"
+ time: "10:53"
+ talk: data-orchestration-with-airflow
+ - file: pydata-2023/04-jupyter-notebooks-101-by-amalia-vradi.jpg
+ caption: "Jupyter Notebooks 101, by Amalia Vradi"
+ source: "https://x.com/PyBCN/status/1667455050828992514"
+ time: "10:53"
+ talk: jupyter-notebooks-101
+ - file: pydata-2023/05-convierte-tus-notebooks-de-jupyter-en-codigo-mante.jpg
+ caption: "Convierte tus notebooks de Jupyter en código mantenible con Kedro, by Juan Luis Cano Rodríguez"
+ source: "https://x.com/PyBCN/status/1667455195125633024"
+ time: "10:54"
+ talk: convierte-tus-notebooks-de-jupyter-en-codigo-mantenible-con
+ - file: pydata-2023/06-de-los-datos-al-modelo-en-produccion-by-ricardo-an.jpg
+ caption: "De los datos al modelo en producción, by Ricardo Ander-Egg Aguilar"
+ source: "https://x.com/PyBCN/status/1667455679081086976"
+ time: "10:56"
+ talk: de-los-datos-al-modelo-en-produccion
+ - file: pydata-2023/07-had-a-nice-coffee-break-let-s-do-more-workshops.jpg
+ caption: "Had a nice coffee break, let's do more workshops!"
+ source: "https://x.com/PyBCN/status/1667475551102148610"
+ time: "12:15"
+ - file: pydata-2023/08-data-analytics-with-python-by-juan-bernardo-lince.jpg
+ caption: "Data Analytics with Python, by Juan Bernardo Lince"
+ source: "https://x.com/PyBCN/status/1667476072718278658"
+ time: "12:17"
+ talk: data-analytics-with-python
+ - file: pydata-2023/09-machine-learning-robustness-and-monitoring-by-dani.jpg
+ caption: "Machine Learning Robustness and Monitoring, by Daniel Sánchez Santolaya"
+ source: "https://x.com/PyBCN/status/1667476187122114562"
+ time: "12:17"
+ talk: machine-learning-robustness-and-monitoring
+ - file: pydata-2023/10-indices-invertidos-desde-cero-by-ricardo-ander-egg.jpg
+ caption: "Índices invertidos desde cero, by Ricardo Ander-Egg Aguilar"
+ source: "https://x.com/PyBCN/status/1667476445243793408"
+ time: "12:18"
+ talk: indices-invertidos-desde-cero
+ - file: pydata-2023/11-fine-tuning-of-llm-models-for-text-processing-by-r.jpg
+ caption: "Fine-tuning of LLM models for text processing, by Ruben Afonso"
+ source: "https://x.com/PyBCN/status/1667521263726624770"
+ time: "15:17"
+ talk: fine-tuning-of-llm-models-for-text-processing
+ - file: pydata-2023/12-ask-your-data-build-a-full-pipeline-to-get-generat.jpg
+ caption: "Ask your data! Build a full pipeline to get generative answers from a text dataset, by Carmen Iniesta López"
+ source: "https://x.com/PyBCN/status/1667521428093120515"
+ time: "15:17"
+ talk: ask-your-data-build-a-full-pipeline-to-get-generative
+ - file: pydata-2023/13-foundations-of-machine-learning-exploring-use-case.jpg
+ caption: "Foundations of Machine Learning: exploring use cases and typical tasks, by Nikita Polovinkin"
+ source: "https://x.com/PyBCN/status/1667521809040670726"
+ time: "15:19"
+ talk: foundations-of-machine-learning-exploring-use-cases-and
+ - file: pydata-2023/14-com-visualitzar-incertesa-i-models-probabilistics.jpg
+ caption: "Com visualitzar incertesa i models probabilistics, by Oriol Abril Pla"
+ source: "https://x.com/PyBCN/status/1667522020345618433"
+ time: "15:20"
+ talk: com-visualitzar-incertesa-i-models-probabilistics
+ - file: pydata-2023/15-how-data-scientists-can-be-more-productive-with-th.jpg
+ caption: "How Data Scientists Can Be More Productive with the Power of Static Typing, by Alvaro Duran"
+ source: "https://x.com/PyBCN/status/1667577219026132992"
+ time: "18:59"
+ - file: pydata-2023/16-python-models-and-alerts-within-dbt-with-dbt-fal-a.jpg
+ caption: "Python models and alerts within dbt with dbt-fal and novu, by Diego Quintana"
+ source: "https://x.com/PyBCN/status/1667577221593149441"
+ time: "18:59"
+ - file: pydata-2023/17-international-data-spaces-implementing-the-europea.jpg
+ caption: "International Data Spaces: Implementing the European Strategy on Data, by Miquel Sarrias"
+ source: "https://x.com/PyBCN/status/1667577224344616960"
+ time: "18:59"
+ - file: pydata-2023/18-data-science-in-transport-modelling-by-monica-domi.jpg
+ caption: "Data Science in Transport Modelling, by Monica Dominguez"
+ source: "https://x.com/PyBCN/status/1667577226781499393"
+ time: "18:59"
+ - file: pydata-2023/19-serverless-machine-learning-streamlining-deploymen.jpg
+ caption: "Serverless Machine Learning: Streamlining Deployment and Scaling of ML Services, by Rajdeep Pal"
+ source: "https://x.com/PyBCN/status/1667577229516079104"
+ time: "18:59"
+ - file: pydata-2023/20-bundling-a-python-app-in-a-single-file-ricardo-and.jpg
+ caption: "Bundling a Python app in a single file - Ricardo Ander-Egg"
+ source: "https://x.com/PyBCN/status/1667577233127653376"
+ time: "18:59"
+ - file: pydata-2023/21-the-workshops-and-talks-are-done-let-s-play-a-game.jpg
+ caption: "The workshops and talks are done. Let's play a game!"
+ source: "https://x.com/PyBCN/status/1667577815041032195"
+ time: "19:01"
+ - file: pydata-2023/22-the-best-programming-language-is.jpg
+ caption: "The best programming language is..."
+ source: "https://x.com/PyBCN/status/1667579239321698304"
+ time: "19:07"
+ - file: pydata-2023/23-all-our-communications-are-written-by.jpg
+ caption: "All our communications are written by..."
+ source: "https://x.com/PyBCN/status/1667579241678995456"
+ time: "19:07"
+ - file: pydata-2023/24-will-you-volunteer-at-the-next-event-sure-natalias.jpg
+ caption: "Will you volunteer at the next event? Sure, @nataliasirera!!"
+ source: "https://x.com/PyBCN/status/1667579243780349952"
+ time: "19:07"
+ - file: pydata-2023/25-nataliasirera-the-pydatabcn-2023-has-been-incredib.jpg
+ caption: "The PyDataBCN 2023 has been incredible! We are grateful for all the organizers, volunteers, speakers, sponsors and assistants. See you at our next event!"
+ source: "https://x.com/PyBCN/status/1667589285262786561"
+ time: "19:47"
---
## About PyDataBCN 2023
diff --git a/content/events/pyday_bcn/pyday_bcn_2016.md b/content/events/pyday_bcn/pyday_bcn_2016.md
index ae602519b..05f5ccefc 100644
--- a/content/events/pyday_bcn/pyday_bcn_2016.md
+++ b/content/events/pyday_bcn/pyday_bcn_2016.md
@@ -73,6 +73,28 @@ sponsor_levels:
- pyladiesbcn
- pythones
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/776469200915337217"
+ items:
+ - file: pyday-2016/01-we-are-starting-with-tensorflow.jpg
+ caption: "We are starting with TensorFlow"
+ source: "https://x.com/PyBCN/status/776469200915337217"
+ time: "19:14"
+ - file: pyday-2016/02-and-we-re-in-our-second-talk-already-radinamatic-i.jpg
+ caption: "And we're in our second talk already. @RadinaMatic is talking about accessibility in a Django project"
+ source: "https://x.com/PyBCN/status/776476825530863617"
+ time: "19:44"
+ - file: pyday-2016/03-citybik-es-talk-at-pybcn-pydaybcn16-pydayes16.jpg
+ caption: "Citybik.es talk at @pybcn #pydaybcn16 #pydayes16"
+ source: "https://x.com/PyBCN/status/776488042647449600"
+ time: "20:29"
+ - file: pyday-2016/04-it-was-an-amazing-meetup-thanks-to-all-who-helped.jpg
+ caption: "It was an amazing meetup. Thanks to All Who helped make it possible. See you tomorrow in our workshops! #PyDayBCN16"
+ source: "https://x.com/PyBCN/status/776742531241545728"
+ time: "13:20"
---
We are excited and glad to announce that we are organizing our first big event related to Python.
diff --git a/content/events/pyday_bcn/pyday_bcn_2018.md b/content/events/pyday_bcn/pyday_bcn_2018.md
index b3f20ee8e..e08de84b2 100644
--- a/content/events/pyday_bcn/pyday_bcn_2018.md
+++ b/content/events/pyday_bcn/pyday_bcn_2018.md
@@ -207,6 +207,93 @@ agenda:
- "scikit-learn"
- "spacy (with Spanish model installed)"
+# Photos published by @PyBCN on the day, from the account's own X export.
+# One photo per tweet: the lunch tweet carried four, and a caption is also
+# the alt text, so three repeated alts help nobody. The first of the four is
+# the one kept. Nothing else of the day is left out: the export holds no
+# retweet with a photo for this date, and no photograph of a credential or
+# of a screen that says nothing about the day.
+#
+# A photo carries a talk only when its caption names that talk. The eight
+# that do are the eight sessions of the programme above, each announced as
+# it started. The other eight are the room, the welcome slides, and lunch.
+photos:
+ date: 2018-11-24
+ thread: "https://x.com/PyBCN/status/1066253610957324288"
+ items:
+ - file: pyday-2018/01-about-to-start-the-pydaybcn2018.jpg
+ caption: "About to start the #PyDayBCN2018!"
+ source: "https://x.com/PyBCN/status/1066253610957324288"
+ time: "09:54"
+ - file: pyday-2018/02-welcome-to-the-pydaybcn2018-lpmayos-is-explaining.jpg
+ caption: "Welcome to the #PyDayBCN2018! @lpmayos is explaining our recent history"
+ source: "https://x.com/PyBCN/status/1066258474206679041"
+ time: "10:13"
+ - file: pyday-2018/03-full-room-the-100-tickets-were-over-in-less-than-t.jpg
+ caption: "Full room! The ~100 tickets were over in less than two hours #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066259011425701888"
+ time: "10:15"
+ - file: pyday-2018/04-pybcn-went-from-17-to-3000-members-in-11-years-pyd.jpg
+ caption: "#PyBCN went from 17 to ~3000 members in 11 years! #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066259424862453760"
+ time: "10:17"
+ - file: pyday-2018/05-we-want-to-organize-more-activities-help-us.jpg
+ caption: "We want to organize more activities. Help us! 😊"
+ source: "https://x.com/PyBCN/status/1066259982545494016"
+ time: "10:19"
+ - file: pyday-2018/06-we-just-registered-an-association-seriousbusiness.jpg
+ caption: "We just registered an association! #SeriousBusiness #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066260675356499968"
+ time: "10:22"
+ - file: pyday-2018/07-we-re-doing-a-code-tournament-with-prizes-pydaybcn.jpg
+ caption: "We're doing a code tournament, with prizes! #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066262626718687232"
+ time: "10:29"
+ - file: pyday-2018/08-developing-a-small-application-with-git-ignasi-fos.jpg
+ caption: "Developing a small application with git - Ignasi Fosch (@ifosch) #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066271782657765376"
+ time: "11:06"
+ talk: developing-a-small-application-with-git
+ - file: pyday-2018/09-introduction-to-pytorch-bartek-skorulski-pydaybcn2.jpg
+ caption: "Introduction to pytorch - Bartek Skorulski #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066272113886224386"
+ time: "11:07"
+ talk: introduction-to-pytorch
+ - file: pyday-2018/10-data-analysis-with-jupyter-notebook-pandas-and-plo.jpg
+ caption: "Data analysis with Jupyter Notebook, Pandas and Plotly - Natàlia Padilla @nataliasirera and Laura Pérez @lpmayos (@PyLadiesBCN)"
+ source: "https://x.com/PyBCN/status/1066297782099722243"
+ time: "12:49"
+ talk: data-analysis-with-jupyter-notebook-pandas-and-plotly
+ - file: pyday-2018/11-mirror-mirror-on-the-wall-who-is-the-fairest-of-th.jpg
+ caption: "Mirror, mirror on the wall, who is the fairest of them all? (Introduction to OpenCV) - Ismael Benito"
+ source: "https://x.com/PyBCN/status/1066297904976052224"
+ time: "12:50"
+ talk: mirror-mirror-on-the-wall-introduction-to-opencv
+ - file: pyday-2018/12-lunch-time-pydaybcn2018.jpg
+ caption: "Lunch time! #PyDayBCN2018"
+ source: "https://x.com/PyBCN/status/1066316089100066816"
+ time: "14:02"
+ - file: pyday-2018/13-intro-to-nosql-db-with-pymongo-jordi-guix.jpg
+ caption: "Intro to NoSQL DB with PyMongo - Jordi Guix"
+ source: "https://x.com/PyBCN/status/1066335895740141568"
+ time: "15:21"
+ talk: intro-to-nosql-db-with-pymongo
+ - file: pyday-2018/14-python-and-elasticsearch-artur-mindiyarov.jpg
+ caption: "Python and Elasticsearch - Artur Mindiyarov"
+ source: "https://x.com/PyBCN/status/1066336198262747138"
+ time: "15:22"
+ talk: python-and-elasticsearch
+ - file: pyday-2018/15-guillotina-data-framework-ramon-navarro-bosch-bloo.jpg
+ caption: "Guillotina - Data framework - Ramon Navarro Bosch (@bloodbare)"
+ source: "https://x.com/PyBCN/status/1066366658460246017"
+ time: "17:23"
+ talk: guillotina-data-framework
+ - file: pyday-2018/16-organizando-chistes-con-nlp-julio-martinez-liopic.jpg
+ caption: "Organizando chistes con NLP - Julio Martínez (@liopic)"
+ source: "https://x.com/PyBCN/status/1066366811829088258"
+ time: "17:23"
+ talk: organizando-chistes-con-nlp
+
# The index of sections in the sidebar, like every other edition.
layout: event
---
diff --git a/content/events/pyday_bcn/pyday_bcn_2019.md b/content/events/pyday_bcn/pyday_bcn_2019.md
index bc207c687..55ddbcf8b 100644
--- a/content/events/pyday_bcn/pyday_bcn_2019.md
+++ b/content/events/pyday_bcn/pyday_bcn_2019.md
@@ -237,6 +237,107 @@ agenda:
talk: quick-data-exploration-with-jupyter-and-ipywidgets
level: beginner
+# Photos published by PyBCN on the day. One per tweet, so no two share a
+# caption, and the caption is also the alt text. PyBCN organisers took them,
+# David Arcos all but the one he is standing in. The page credits the account
+# that published them, which is the part the post itself proves.
+photos:
+ date: 2019-11-16
+ thread: "https://x.com/PyBCN/status/1195623896537554944"
+ # The album the organisers kept at the time. It holds more of the day than
+ # the posts do, so the gallery links it instead of the body of the page.
+ album: "https://drive.google.com/drive/folders/1kODXtBARnTbZmQwVW1Qx2EvBCDSqhZjX?usp=sharing"
+ items:
+ - file: pyday-2019/01-the-pydaybcn-just-started-keynote-by-our-president.jpg
+ caption: "The #PyDayBCN just started! Keynote, by our President @lpmayos. This is what we do!"
+ source: "https://x.com/PyBCN/status/1195623896537554944"
+ time: "09:45"
+ talk: opening-keynote
+ - file: pyday-2019/03-python-barcelona-is-doing-lots-of-events.jpg
+ caption: "Python Barcelona is doing lots of events!"
+ source: "https://x.com/PyBCN/status/1195624998209232896"
+ time: "09:49"
+ - file: pyday-2019/04-this-is-us-the-social-media-guy.jpg
+ caption: "This is us! - the social media guy"
+ source: "https://x.com/PyBCN/status/1195625223665704960"
+ time: "09:50"
+ - file: pyday-2019/05-help-python-barcelona-send-a-proposal-become-a-mem.jpg
+ caption: "Help Python Barcelona! Send a proposal, become a member 😊"
+ source: "https://x.com/PyBCN/status/1195625991529541633"
+ time: "09:53"
+ - file: pyday-2019/06-introducing-the-djangogirlsbcn-event-by-ellaquimic.jpg
+ caption: "Introducing the #DjangoGirlsBCN event, by @EllaQuimica"
+ source: "https://x.com/PyBCN/status/1195628735539625984"
+ time: "10:04"
+ - file: pyday-2019/07-me-oh-no-a-g-balloon-is-broken-djangogirlsbcn-hold.jpg
+ caption: "- me: oh no, a \"G\" balloon is broken! - @DjangoGirlsBCN: hold my beer... #quickhack"
+ source: "https://x.com/PyBCN/status/1195630182075420674"
+ time: "10:10"
+ - file: pyday-2019/08-this-is-the-agenda-for-our-three-workshop-track.jpg
+ caption: "This is the agenda for our three workshop track:"
+ source: "https://x.com/PyBCN/status/1195637939285430272"
+ time: "10:41"
+ - file: pyday-2019/09-deep-learning-for-image-classification-using-tenso.jpg
+ caption: "Deep Learning for Image Classification using TensorFlow"
+ source: "https://x.com/PyBCN/status/1195638268727042051"
+ time: "10:42"
+ talk: deep-learning-for-image-classification-using-tensorflow
+ - file: pyday-2019/10-arquitectura-limpia-para-microservicios-un-caso-pr.jpg
+ caption: "Arquitectura limpia para microservicios: Un caso practico"
+ source: "https://x.com/PyBCN/status/1195638580137406464"
+ time: "10:43"
+ talk: arquitectura-limpia-para-microservicios
+ - file: pyday-2019/11-keep-your-repo-clean-by-hectorcanto-dev-from-bluel.jpg
+ caption: "\"Keep your repo clean\", by @hectorcanto_dev from @blueliv"
+ source: "https://x.com/PyBCN/status/1195639258599563264"
+ time: "10:46"
+ talk: keep-your-repo-clean
+ - file: pyday-2019/12-great-materials-on-our-djangogirls-track.jpg
+ caption: "Great materials on our #DjangoGirls track:"
+ source: "https://x.com/PyBCN/status/1195645166138228737"
+ time: "11:09"
+ - file: pyday-2019/13-decoradores-en-evolucion.jpg
+ caption: "\"Decoradores en evolución\""
+ source: "https://x.com/PyBCN/status/1195662968203153410"
+ time: "12:20"
+ talk: decoradores-en-evolucion
+ - file: pyday-2019/14-refactoring-a-web-application-with-python.jpg
+ caption: "\"Refactoring a Web Application with Python\""
+ source: "https://x.com/PyBCN/status/1195663218259243010"
+ time: "12:21"
+ talk: refactoring-a-web-application-with-python
+ - file: pyday-2019/15-thanks-codekiwicom-for-bringing-churros-con-chocol.jpg
+ caption: "Thanks @codekiwicom for bringing churros con chocolate, and hot wine! 👏👏👏 #PyDay"
+ source: "https://x.com/PyBCN/status/1195680425752051712"
+ time: "13:30"
+ - file: pyday-2019/16-building-interactive-data-visualizations-with-plot.jpg
+ caption: "\"Building Interactive Data Visualizations with Plotly and Dash\" by Anna Fedotova"
+ source: "https://x.com/PyBCN/status/1195729247731630080"
+ time: "16:44"
+ talk: building-interactive-data-visualizations-with-plotly-and-dash
+ - file: pyday-2019/17-sqlalchemy-from-0-to-proficient-by-bustawin.jpg
+ caption: "\"SQLAlchemy from 0 to proficient\" by @bustawin"
+ source: "https://x.com/PyBCN/status/1195729652893077504"
+ time: "16:45"
+ talk: sqlalchemy-from-0-to-proficient
+ - file: pyday-2019/18-quick-data-exploration-with-jupyter-and-ipywidgets.jpg
+ caption: "\"Quick data exploration with Jupyter and ipywidgets\""
+ source: "https://x.com/PyBCN/status/1195729783734202368"
+ time: "16:46"
+ talk: quick-data-exploration-with-jupyter-and-ipywidgets
+ - file: pyday-2019/19-thanks-codekiwicom-for-the-quiz-and-the-prizes-pyd.jpg
+ caption: "Thanks @codekiwicom for the quiz and the prizes! #PyDayBCN"
+ source: "https://x.com/PyBCN/status/1195777282914304000"
+ time: "19:54"
+ - file: pyday-2019/20-great-ending-keynote-from-dzpm-hey-is-that-a-napki.jpg
+ caption: "Great ending keynote from @DZPM! (Hey, is that a napkin?)"
+ source: "https://x.com/PyBCN/status/1195779452829097984"
+ time: "20:03"
+ talk: closing-keynote
+ - file: pyday-2019/21-finally-our-gratitude-to-the-python-barcelona-comm.jpg
+ caption: "Finally, our gratitude to the Python Barcelona community! @PyBCN, @PyLadiesBCN, @DjangoGirlsBCN, and all our awesome organizers, coaches, speakers, volunteers and assistants! 👏👏👏"
+ source: "https://x.com/PyBCN/status/1197534799130497024"
+ time: "16:18"
---

Archived content
diff --git a/content/events/pyday_bcn/pyday_bcn_2020.md b/content/events/pyday_bcn/pyday_bcn_2020.md
index 229109a93..7938baeef 100644
--- a/content/events/pyday_bcn/pyday_bcn_2020.md
+++ b/content/events/pyday_bcn/pyday_bcn_2020.md
@@ -19,7 +19,7 @@ layout: event
free_text_sections:
- title: Registration
id: registration
- content: "All attendeed must **register to the event through Meetup**, which will be the main communication channel with attendees before the event. All registered attendees will receive the links to the YouTube playlists and Slack channels through Meetup."
+ content: "All attendeed must **[register to the event through Meetup](https://www.meetup.com/python-barcelona/events/274983461/)**, which will be the main communication channel with attendees before the event. All registered attendees will receive the links to the YouTube playlists and Slack channels through Meetup."
sponsor_levels:
- sponsors_per_line: 2
@@ -231,7 +231,7 @@ talks:
language: en
topic: "Data Science, ML, DL"
duration_minutes: 15
- description: "We will explain how to switch from Pandas to Dask in order to analyze a large dataset that does not fit into single-machine memory.
Repository: https://github.com/ber2/pyday2020-counting-votes-with-dask"
+ description: "We will explain how to switch from Pandas to Dask in order to analyze a large dataset that does not fit into single-machine memory.
Repository: https://github.com/ber2/pyday2020-counting-votes-with-dask"
links:
- type: video
url: "https://www.youtube.com/watch?v=KOpW86J56CU"
diff --git a/content/events/pyday_bcn/pyday_bcn_2021.md b/content/events/pyday_bcn/pyday_bcn_2021.md
index f482f3831..dd415da70 100644
--- a/content/events/pyday_bcn/pyday_bcn_2021.md
+++ b/content/events/pyday_bcn/pyday_bcn_2021.md
@@ -23,11 +23,11 @@ free_text_sections:
24th October: Call for proposals closing
17th November: Program available
19th November, 9AM: Early registration open for PyBCN members, PyDay speakers and sponsors
- 22nd November, 9AM: General registration open through eventbrite
+ 22nd November, 9AM: General registration open through [eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2021-212686419807)
27th November: PyDay BCN 2021"
- title: Registration
id: registration
- content: "Registration to the general public will be open on Monday 22nd November, 9AM, through eventbrite.
Please have a look at the schedule below and choose which talks you would like to attend beforehand."
+ content: "Registration to the general public will be open on Monday 22nd November, 9AM, through [eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2021-212686419807).
Please have a look at the schedule below and choose which talks you would like to attend beforehand."
sponsor_levels:
- sponsors_per_line: 2
@@ -412,6 +412,153 @@ agenda:
label: "Closing session & Kahoot"
duration_minutes: 15
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/1464506413720420352"
+ items:
+ - file: pyday-2021/01-gooooood-morning-pydaybcn.jpg
+ caption: "Gooooood morning, #PyDayBCN!!"
+ source: "https://x.com/PyBCN/status/1464506413720420352"
+ time: "09:08"
+ - file: pyday-2021/02-kudos-to-our-organizing-team-lpmayos-nataliasirera.jpg
+ caption: "Kudos to our organizing team: @lpmayos @nataliasirera @DZPM @llevaNEUS @srxavi @berenguel @eloipuertas @sianna"
+ source: "https://x.com/PyBCN/status/1464529899155296257"
+ time: "10:41"
+ - file: pyday-2021/03-thanks-for-sponsoring-us.jpg
+ caption: "Thanks for sponsoring us!"
+ source: "https://x.com/PyBCN/status/1464530306246057990"
+ time: "10:43"
+ - file: pyday-2021/04-build-a-chat-application-that-lets-you-speak-multi.jpg
+ caption: "\"Build a chat application that lets you speak multiple languages\", by Diego Gonzalez from @PreplyCom"
+ source: "https://x.com/PyBCN/status/1464531105562910720"
+ time: "10:46"
+ talk: build-a-chat-application-that-lets-you-speak-multiple
+ - file: pyday-2021/05-preplycom-building-the-cloud-with-python-getting-s.jpg
+ caption: "\"Building the Cloud with Python: getting started with AWS CDK\", by Anton Caceres and Alexandre Savio"
+ source: "https://x.com/PyBCN/status/1464531763867357184"
+ time: "10:49"
+ talk: building-the-cloud-with-python-getting-started-with-aws-cdk
+ - file: pyday-2021/06-implementing-your-api-with-fastapi-by-esperanza-bu.jpg
+ caption: "\"Implementing your API with FASTAPI\", by Esperanza Buitrago (@ebuitragod)"
+ source: "https://x.com/PyBCN/status/1464531971544076290"
+ time: "10:50"
+ talk: implementing-your-api-with-fastapi
+ - file: pyday-2021/07-how-to-create-data-apps-with-python-by-sergi-ortiz.jpg
+ caption: "\"How to create Data apps with Python\", by Sergi Ortiz"
+ source: "https://x.com/PyBCN/status/1464532219498749958"
+ time: "10:51"
+ talk: how-to-create-data-apps-with-python
+ - file: pyday-2021/08-and-the-catering-for-the-coffee-break-is-ready.jpg
+ caption: "And the catering for the coffee break is ready!"
+ source: "https://x.com/PyBCN/status/1464532407172931585"
+ time: "10:51"
+ - file: pyday-2021/09-yes-we-got-the-good-stuff.jpg
+ caption: "Yes, we got the good stuff ✌️"
+ source: "https://x.com/PyBCN/status/1464545721349193729"
+ time: "11:44"
+ - file: pyday-2021/10-creating-cute-user-interfaces-in-python-with-qt-by.jpg
+ caption: "\"Creating cute user interfaces in python with Qt\", by Elisabeth Ortega (@draentropia)"
+ source: "https://x.com/PyBCN/status/1464547004923719684"
+ time: "11:49"
+ talk: creating-cute-user-interfaces-in-python-with-qt
+ - file: pyday-2021/11-microservicios-en-la-vida-moderna-un-enfoque-pytho.jpg
+ caption: "\"Microservicios en la vida moderna: Un enfoque python-centrico\", by Antonio Molina (@aydevosotros), Erik Tordera and Pablo Fernández from @qustodio"
+ source: "https://x.com/PyBCN/status/1464547526246375433"
+ time: "11:51"
+ talk: microservicios-en-la-vida-moderna-un-enfoque-python-centrico
+ - file: pyday-2021/12-aydevosotros-qustodio-introduction-to-django-by-vi.jpg
+ caption: "\"Introduction to Django\", by Vincent Choubard from Rover (@roverdotcom_es)"
+ source: "https://x.com/PyBCN/status/1464547803712172039"
+ time: "11:53"
+ talk: introduction-to-django
+ - file: pyday-2021/13-vector-search-engines-with-python-from-embeddings.jpg
+ caption: "\"Vector search engines with Python: from embeddings to similarity search\", by Gabriel de Maeztu (@gabimaeztu) from IOMED (@iomed_ehr)"
+ source: "https://x.com/PyBCN/status/1464548109808279559"
+ time: "11:54"
+ talk: vector-search-engines-with-python-from-embeddings-to
+ - file: pyday-2021/14-nice-limited-edition-pybcn-stickers.jpg
+ caption: "Nice limited-edition @PyBCN stickers!"
+ source: "https://x.com/PyBCN/status/1464548681026355201"
+ time: "11:56"
+ - file: pyday-2021/15-remember-we-ll-take-the-group-photo-at-13h-in-the.jpg
+ caption: "Remember, we'll take the group photo at 13h, in the terrace. See you there!"
+ source: "https://x.com/PyBCN/status/1464549374147678209"
+ time: "11:59"
+ - file: pyday-2021/16-at-the-end-of-each-talk-please-use-the-post-its-to.png
+ caption: "At the end of each talk, please use the post-its to leave feedback for the speakers:"
+ source: "https://x.com/PyBCN/status/1464550721731371008"
+ time: "12:04"
+ - file: pyday-2021/17-warm-coffe.jpg
+ caption: "Warm coffe!"
+ source: "https://x.com/PyBCN/status/1464554868568428548"
+ time: "12:21"
+ - file: pyday-2021/18-save-some-pastries-for-our-guys-at-the-entrance.jpg
+ caption: "Save some pastries for our guys at the entrance!!"
+ source: "https://x.com/PyBCN/status/1464555890200166403"
+ time: "12:25"
+ - file: pyday-2021/19-causal-data-science-workshop-by-jordi-mur.jpg
+ caption: "\"Causal Data Science workshop\", by Jordi Mur"
+ source: "https://x.com/PyBCN/status/1464595512926126084"
+ time: "15:02"
+ talk: causal-data-science-workshop
+ - file: pyday-2021/20-making-mlops-uncool-again-by-david-de-la-iglesia-c.jpg
+ caption: "\"Making MLOps uncool again\", by David de la Iglesia Castro (@daviddelachurch)"
+ source: "https://x.com/PyBCN/status/1464595698251358217"
+ time: "15:03"
+ talk: making-mlops-uncool-again
+ - file: pyday-2021/21-daviddelachurch-how-to-beat-imposter-syndrome-conf.jpg
+ caption: "\"How to beat imposter syndrome: confessions of a developer\", by Matteo Bruno from Onna (@onnahq)"
+ source: "https://x.com/PyBCN/status/1464596540283101190"
+ time: "15:06"
+ talk: how-to-beat-imposter-syndrome-confessions-of-a-developer
+ - file: pyday-2021/22-daviddelachurch-onnahq-building-a-dag-factory-by-a.jpg
+ caption: "\"Building a DAG Factory\", by Albert Franzi Cros (@FranziCros) from Typeform (@typeform)"
+ source: "https://x.com/PyBCN/status/1464597043339534336"
+ time: "15:08"
+ talk: building-a-dag-factory
+ - file: pyday-2021/23-burnout-paradise-buenas-practicas-para-evitar-el-b.jpg
+ caption: "\"Burnout Paradise: buenas prácticas para evitar el burnout en desarrollo\", by Alejandro Nicolás (@sander_pm) from Hybrid Theory (@HybridTheory_GL)"
+ source: "https://x.com/PyBCN/status/1464600432463032330"
+ time: "15:22"
+ talk: burnout-paradise-buenas-practicas-para-evitar-el-burnout-en
+ - file: pyday-2021/24-sander-pm-hybridtheory-gl-yes-the-lunch-was-delici.jpg
+ caption: "(Yes, the lunch was delicious)"
+ source: "https://x.com/PyBCN/status/1464600704312659973"
+ time: "15:23"
+ - file: pyday-2021/25-say-cheese.jpg
+ caption: "Say Cheese!"
+ source: "https://x.com/PyBCN/status/1464600946181292035"
+ time: "15:24"
+ - file: pyday-2021/26-build-a-machine-learning-iot-device-running-python.jpg
+ caption: "\"Build a Machine Learning IoT Device running Python\", by Marc Pous (@gy4nt)"
+ source: "https://x.com/PyBCN/status/1464619233619365899"
+ time: "16:36"
+ talk: build-a-machine-learning-iot-device-running-python
+ - file: pyday-2021/27-the-moons-of-jupyter-widgets-ecosystem-by-mariana.jpg
+ caption: "\"The moons of Jupyter: widgets ecosystem\" by Mariana Meireles (@mari_meir) and Laysa Uchoa (@laysauchoa)"
+ source: "https://x.com/PyBCN/status/1464619630924865545"
+ time: "16:38"
+ talk: the-moons-of-jupyter-widgets-ecosystem
+ - file: pyday-2021/28-signal-processing-from-neurons-to-mars-by-vivek-sh.jpg
+ caption: "\"Signal Processing - From Neurons to Mars!\", by Vivek Sharma"
+ source: "https://x.com/PyBCN/status/1464619822386397191"
+ time: "16:39"
+ talk: signal-processing-from-neurons-to-mars
+ - file: pyday-2021/29-keeping-sync-between-datasets-with-diffsync-by-chr.jpg
+ caption: "\"Keeping sync between datasets with Diffsync\", by Christian Adell (@chadell0)"
+ source: "https://x.com/PyBCN/status/1464620079518208007"
+ time: "16:40"
+ talk: keeping-sync-between-datasets-with-diffsync
+ - file: pyday-2021/30-chadell0-hey-david-hurry-up-and-finish-doing-the-k.jpg
+ caption: "Hey David, hurry up and finish doing the Kahoot!!"
+ source: "https://x.com/PyBCN/status/1464625183478755331"
+ time: "17:00"
+ - file: pyday-2021/16-finally-thanks-to-everybody-who-helped-us-organize.jpg
+ caption: "Finally, thanks to everybody who helped us organize our biggest 2021 event 💪💪 We hope to see you again in the #PyDayBCN 2022!"
+ source: "https://x.com/PyBCN/status/1465217532218982403"
+ time: "08:14"
---
## About PyDay BCN 2021
diff --git a/content/events/pyday_bcn/pyday_bcn_2022.md b/content/events/pyday_bcn/pyday_bcn_2022.md
index 3fe2d0d86..0cc0800f5 100644
--- a/content/events/pyday_bcn/pyday_bcn_2022.md
+++ b/content/events/pyday_bcn/pyday_bcn_2022.md
@@ -23,11 +23,11 @@ free_text_sections:
31th October: Call for proposals closing
16th November: Program available
18th November, 9AM: Early registration open for PyBCN members, PyDay speakers and sponsors
- 21nd November, 9AM: General registration open through Eventbrite
+ 21nd November, 9AM: General registration open through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2022-470666304587)
26th November: PyDay BCN 2022"
- title: Registration
id: registration
- content: "General registration will open on Monday 21st of November, at 9AM through Eventbrite."
+ content: "General registration will open on Monday 21st of November, at 9AM through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2022-470666304587)."
sponsor_levels:
- sponsors_per_line: 2
@@ -377,6 +377,152 @@ agenda:
room: sala-dactes-ada-lovelace
talk: lightning-talks-session-2-closing-session-kahoot
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/1596420421569908741"
+ items:
+ - file: pyday-2022/01-welcome-to-the-pydaybcn-our-president-lpmayos-is-d.jpg
+ caption: "Welcome to the #PyDayBCN! Our president @lpmayos is doing the welcome, please come to the main room! https://pybcn.org/events/pyday_bcn/pyday_bcn_2022/"
+ source: "https://x.com/PyBCN/status/1596420421569908741"
+ time: "09:27"
+ - file: pyday-2022/02-our-association-is-run-by-volunteers-we-need-your.jpg
+ caption: "Our association is run by volunteers. We need your help!"
+ source: "https://x.com/PyBCN/status/1596421097028812800"
+ time: "09:30"
+ - file: pyday-2022/03-companies-are-welcome-too-we-need-your-venues-and.jpg
+ caption: "Companies are welcome too, we need your venues and pizzas!"
+ source: "https://x.com/PyBCN/status/1596421507483586562"
+ time: "09:32"
+ - file: pyday-2022/04-today-we-ll-have-3-tracks-pf-workshops-2-lightning.jpg
+ caption: "Today we'll have 3 tracks pf workshops, 2 lightning sessions, a kahoot game with prizes, group picture, free lunch and coffee breaks, sponsor booths woth goodies, and many, many surprises! Hello world! @lpmayos"
+ source: "https://x.com/PyBCN/status/1596422075698532352"
+ time: "09:34"
+ - file: pyday-2022/05-machine-learning-en-produccion-experimentos-con-ve.jpg
+ caption: "\"Machine Learning en producción: Experimentos con versionado de datos con DVC y VSCode\" by Gema Parreño @SoyGema"
+ source: "https://x.com/PyBCN/status/1596440972757708801"
+ time: "10:49"
+ talk: machine-learning-en-produccion-experimentos-con-versionado
+ - file: pyday-2022/06-friendly-fuzzing-for-your-python-saas-applications.jpg
+ caption: "\"Friendly fuzzing for your Python SaaS applications\" by Pavel Lonkin @pavel_lonkin"
+ source: "https://x.com/PyBCN/status/1596441500862513152"
+ time: "10:51"
+ talk: friendly-fuzzing-for-your-python-saas-applications
+ - file: pyday-2022/07-how-many-ants-can-carry-an-elephant-pushing-the-li.jpg
+ caption: "\"How many ants can carry an elephant? Pushing the limits of AWS Chalice\" by Kemalcan Bora @KemalcanBora"
+ source: "https://x.com/PyBCN/status/1596442007328550912"
+ time: "10:53"
+ talk: how-many-ants-can-carry-an-elephant-pushing-the-limits-of
+ - file: pyday-2022/08-build-air-quality-sensors-with-python-and-choose-y.jpg
+ caption: "\"Build Air Quality Sensors with Python and choose your own adventure!\" Marc Pous @gy4nt"
+ source: "https://x.com/PyBCN/status/1596463444550483968"
+ time: "12:18"
+ talk: build-air-quality-sensors-with-python-and-choose-your-own
+ - file: pyday-2022/09-build-a-full-stack-app-with-flask-and-vue-by-eva-m.jpg
+ caption: "\"Build a full-stack app with Flask and Vue\" by Eva Martín del Pico"
+ source: "https://x.com/PyBCN/status/1596466419746889735"
+ time: "12:30"
+ talk: build-a-full-stack-app-with-flask-and-vue
+ - file: pyday-2022/10-python-as-a-gis-tools-howtos-and-gotchas-by-biel-s.jpg
+ caption: "\"Python as a GIS: Tools, howtos and gotchas\" by Biel Stela"
+ source: "https://x.com/PyBCN/status/1596466719924576266"
+ time: "12:31"
+ talk: python-as-a-gis-tools-howtos-and-gotchas
+ - file: pyday-2022/11-pyton-chupito.jpg
+ caption: "\"Pyton\" = chupito 🥃"
+ source: "https://x.com/PyBCN/status/1596467078600482819"
+ time: "12:33"
+ - file: pyday-2022/12-had-a-great-lunch.jpg
+ caption: "Had a great lunch! 🍴"
+ source: "https://x.com/PyBCN/status/1596494809623326720"
+ time: "14:23"
+ - file: pyday-2022/13-building-an-end-to-end-open-source-modern-data-pla.jpg
+ caption: "\"Building an End-to-End Open-Source Modern Data Platform for Biomedical Data\", by Alberto Labarga @alabarga"
+ source: "https://x.com/PyBCN/status/1596497893430812673"
+ time: "14:35"
+ talk: building-an-end-to-end-open-source-modern-data-platform-for
+ - file: pyday-2022/14-cuando-los-precios-suben-scrapy-by-jimena-escobar.jpg
+ caption: "\"Cuando los precios suben: Scrapy\" by Jimena Escobar @Jimena_y_yo"
+ source: "https://x.com/PyBCN/status/1596501266368167940"
+ time: "14:48"
+ talk: cuando-los-precios-suben-scrapy
+ - file: pyday-2022/15-inside-out-or-how-to-get-your-app-observable-by-an.jpg
+ caption: "\"Inside out. Or how to get your app observable\" by Antonio Molina @aydevosotros"
+ source: "https://x.com/PyBCN/status/1596501481338929152"
+ time: "14:49"
+ talk: inside-out-or-how-to-get-your-app-observable
+ - file: pyday-2022/16-lightning-talks-amp-coffee.jpg
+ caption: "Lightning talks & coffee!"
+ source: "https://x.com/PyBCN/status/1596517293474910208"
+ time: "15:52"
+ - file: pyday-2022/17-very-interesting-lightning-talks-we-astropy.jpg
+ caption: "Very interesting lightning talks, we ❤️ @astropy!"
+ source: "https://x.com/PyBCN/status/1596518550944243714"
+ time: "15:57"
+ - file: pyday-2022/18-making-sense-of-your-data-platform-with-openmetada.jpg
+ caption: "\"Making sense of your Data Platform with OpenMetadata\" by Pere Miquel Brull"
+ source: "https://x.com/PyBCN/status/1596528205611114496"
+ time: "16:36"
+ talk: making-sense-of-your-data-platform-with-openmetadata
+ - file: pyday-2022/19-tdd-coding-dojo-by-ana-eliza-barbosa.jpg
+ caption: "\"TDD Coding Dojo\" by Ana Eliza Barbosa"
+ source: "https://x.com/PyBCN/status/1596528574160580609"
+ time: "16:37"
+ talk: tdd-coding-dojo
+ - file: pyday-2022/20-using-numba-effectively-today-by-cheuk-ting-ho-che.jpg
+ caption: "\"Using Numba Effectively Today\" by Cheuk Ting Ho @cheukting_ho"
+ source: "https://x.com/PyBCN/status/1596528814645182465"
+ time: "16:38"
+ talk: using-numba-effectively-today
+ - file: pyday-2022/21-thank-you-thisiscloudblue-for-sponsoring-the-pyday.jpg
+ caption: "Thank you @ThisisCloudBlue for sponsoring the #PyDayBCN!"
+ source: "https://x.com/PyBCN/status/1596530443809079301"
+ time: "16:44"
+ - file: pyday-2022/22-thank-you-qustodio-for-sponsoring-the-pydaybcn.jpg
+ caption: "Thank you @qustodio for sponsoring the #PyDayBCN!"
+ source: "https://x.com/PyBCN/status/1596530641885138945"
+ time: "16:45"
+ - file: pyday-2022/23-thank-you-insideveriff-for-sponsoring-the-pydaybcn.jpg
+ caption: "Thank you @insideveriff for sponsoring the #PyDayBCN!"
+ source: "https://x.com/PyBCN/status/1596531130702139394"
+ time: "16:47"
+ - file: pyday-2022/24-thank-you-roverdotcom-es-for-sponsoring-the-pydayb.jpg
+ caption: "Thank you @roverdotcom_es for sponsoring the #PyDayBCN!"
+ source: "https://x.com/PyBCN/status/1596531320288866306"
+ time: "16:48"
+ - file: pyday-2022/25-thank-you-apsl-web-for-sponsoring-the-pydaybcn.jpg
+ caption: "Thank you @apsl_web for sponsoring the #PyDayBCN!"
+ source: "https://x.com/PyBCN/status/1596531705892204544"
+ time: "16:49"
+ - file: pyday-2022/26-now-the-second-bunch-of-lightning-talks-and-the-fi.jpg
+ caption: "Now, the second bunch of lightning talks, and the final contest! 🎉🎉"
+ source: "https://x.com/PyBCN/status/1596543523389845505"
+ time: "17:36"
+ - file: pyday-2022/27-let-s-trash-the-regular-expressions.jpg
+ caption: "Let's trash the regular expressions 🔝"
+ source: "https://x.com/PyBCN/status/1596545675742908417"
+ time: "17:45"
+ - file: pyday-2022/28-optimal-binning-using-python.jpg
+ caption: "Optimal binning using Python:"
+ source: "https://x.com/PyBCN/status/1596547451921596418"
+ time: "17:52"
+ - file: pyday-2022/29-quiz.jpg
+ caption: "Quiz!"
+ source: "https://x.com/PyBCN/status/1596564226457280512"
+ time: "18:59"
+ - file: pyday-2022/30-thank-you-lpmayos-nataliasirera-sianna-and-mochi.jpg
+ caption: "Thank you @lpmayos, @nataliasirera, @sianna... and Mochi!"
+ source: "https://x.com/PyBCN/status/1596564666586628100"
+ time: "19:00"
+ - file: pyday-2022/31-the-winners.jpg
+ caption: "The winners! 🎉"
+ source: "https://x.com/PyBCN/status/1596564775512989696"
+ time: "19:01"
+ - file: pyday-2022/32-thank-you-all-for-attending-the-pydaybcn.jpg
+ caption: "Thank you all for attending the #PyDayBCN!! 🥰"
+ source: "https://x.com/PyBCN/status/1596567778798014466"
+ time: "19:13"
---
## About PyDay BCN 2022
diff --git a/content/events/pyday_bcn/pyday_bcn_2023.md b/content/events/pyday_bcn/pyday_bcn_2023.md
index 5f6b5820b..dc7626335 100644
--- a/content/events/pyday_bcn/pyday_bcn_2023.md
+++ b/content/events/pyday_bcn/pyday_bcn_2023.md
@@ -19,15 +19,15 @@ layout: event
free_text_sections:
- title: Important dates
id: important_dates
- content: "2nd October: Call for proposals opening: Workshops and Lightning talks
+ content: "2nd October: Call for proposals opening: [Workshops](https://forms.gle/MdS3Qx64wQs9N7NQ8) and [Lightning talks](https://forms.gle/RZ2vYzGtWNgUnuBT8)
22nd October: Call for proposals closing
31st October: Program available
3rd November, 9AM: Early registration open for PyBCN members, PyDay speakers and sponsors
- 6th November, 9AM: General registration open through Eventbrite
+ 6th November, 9AM: General registration open through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2023-751258453257?aff=oddtdtcreator)
11th November: PyDay BCN 2023"
- title: Registration
id: registration
- content: "General registration will open on Monday 6th of November, at 9AM through Eventbrite."
+ content: "General registration will open on Monday 6th of November, at 9AM through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2023-751258453257?aff=oddtdtcreator)."
sponsor_levels:
- sponsors_per_line: 2
@@ -252,7 +252,7 @@ talks:
title: "Lightning talks (session 2) & Closing session & Kahoot"
type: talk
duration_minutes: 15
- description: " Lightning talks
\nCreación de APIs con Python y manejo de datos
Diego Giaquinta Implementación sencilla de APIs con Python, para poder realizar peticiones http e intercambio de información entre aplicaciones.
Susana Vázquez y Coral Olivares Come explore step4ward, a non-profit organization passionately crafted BY and FOR women. In just 5 minutes, learn how we're all about supporting women in the tech job market. We provide advice, build a community, and help with interview prep and early career steps. Let's break barriers and boost women in tech together!
Dan Neciu Best practices for developers to protect themselves from scams and hacking attempts
Raziel Amador In this light talk, I would like to present my implementation of temperature and humidity monitoring using Iot (Raspberry Pi, DHT22 sensor, all in Docker services), and Machine learning for time series analysis.
Oriol Abril I will showcase a wide array of ways for anyone to support the Python open source ecosystem, with a special focus on financial support. I won't have any special focus on special communities or libraries but will aim for a general overview: including open source contributions as part of one's job description, sponsoring events and/or libraries, donating to foundations that act as umbrella for the exisiting projects...
Isaac Bernat We'll go through tinymem, a working example of a game programmed in MicroPython which has menus, audio, sprites, text, button inputs... All this under 40 lines of code available for the Thumby hardware, which is a miniature Raspberry Pi Pico based console.
Lightning talks
\nCreación de APIs con Python y manejo de datos
Diego Giaquinta Implementación sencilla de APIs con Python, para poder realizar peticiones http e intercambio de información entre aplicaciones.
Susana Vázquez y Coral Olivares Come explore step4ward, a non-profit organization passionately crafted BY and FOR women. In just 5 minutes, learn how we're all about supporting women in the tech job market. We provide advice, build a community, and help with interview prep and early career steps. Let's break barriers and boost women in tech together!
Dan Neciu Best practices for developers to protect themselves from scams and hacking attempts
Raziel Amador In this light talk, I would like to present my implementation of temperature and humidity monitoring using Iot (Raspberry Pi, DHT22 sensor, all in Docker services), and Machine learning for time series analysis.
Oriol Abril I will showcase a wide array of ways for anyone to support the Python open source ecosystem, with a special focus on financial support. I won't have any special focus on special communities or libraries but will aim for a general overview: including open source contributions as part of one's job description, sponsoring events and/or libraries, donating to foundations that act as umbrella for the exisiting projects...
Isaac Bernat We'll go through [tinymem](https://github.com/isaacbernat/tinymem), a working example of a game programmed in MicroPython which has menus, audio, sprites, text, button inputs... All this under 40 lines of code available for the [Thumby](https://thumby.us/) hardware, which is a miniature Raspberry Pi Pico based console.
+ content: "26th September: Call for proposals opening: [Workshops](https://forms.gle/GDL2VpUTu4veHbff8) and [Lightning talks](https://forms.gle/VLDY6zdmRxRsGsmv7)
27th October: Call for proposals closing
3rd Novembre: Program available
4th November, 9AM: Early registration open for PyBCN members, PyDay speakers and sponsors
- 5th November, 9AM: General registration open through Eventbrite
+ 5th November, 9AM: General registration open through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2024-1068930563089?aff=oddtdtcreator)
9th November: PyDay BCN 2024"
- title: Registration
id: registration
- content: "General registration will open on Tuesday 5th of November, at 9AM through Eventbrite."
+ content: "General registration will open on Tuesday 5th of November, at 9AM through [Eventbrite](https://www.eventbrite.es/e/entradas-pydaybcn-2024-1068930563089?aff=oddtdtcreator)."
sponsor_levels:
- sponsors_per_line: 2
@@ -417,6 +417,116 @@ agenda:
label: "Closing session & Kahoot"
duration_minutes: 0
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/1855180142240272592"
+ items:
+ - file: pyday-2024/01-today-we-re-celebrating-the-pydaybcn-welcome-pleas.jpg
+ caption: "Today we're celebrating the #PyDayBCN! Welcome 👋, please get a seat!"
+ source: "https://x.com/PyBCN/status/1855180142240272592"
+ time: "10:26"
+ - file: pyday-2024/02-unboxing-machine-learning-models-predicting-with-n.jpg
+ caption: "\"Unboxing Machine Learning Models: Predicting with Numpy After Model Training\", by Xiang Xu"
+ source: "https://x.com/PyBCN/status/1855181919559790867"
+ time: "10:33"
+ talk: unboxing-machine-learning-models-predicting-with-numpy
+ - file: pyday-2024/03-discovering-etl-testing-essential-for-your-ai-solu.jpg
+ caption: "\"Discovering ETL Testing: Essential for Your AI Solutions\", by Paula Bassagañas"
+ source: "https://x.com/PyBCN/status/1855182272384663612"
+ time: "10:34"
+ talk: discovering-etl-testing-essential-for-your-ai-solutions
+ - file: pyday-2024/04-izi-record-revolutionizing-the-camera-app-by-ferra.jpg
+ caption: "\"IZI Record, revolutionizing the camera app\" by Ferran Jovell (@MrSwats)"
+ source: "https://x.com/PyBCN/status/1855211394183962886"
+ time: "12:30"
+ - file: pyday-2024/05-mrswats-a-solution-to-store-catalog-and-visualize.jpg
+ caption: "\"A solution to store, catalog and visualize images using Django and Django Rest Framework\" by Josep Sitjar Suñer"
+ source: "https://x.com/PyBCN/status/1855211686346510817"
+ time: "12:31"
+ - file: pyday-2024/06-mrswats-image-generation-with-ai-gans-and-diffusio.jpg
+ caption: "\"Image Generation with AI (GANs and Diffusion Techniques)\" by Marina Palma"
+ source: "https://x.com/PyBCN/status/1855213044026032482"
+ time: "12:37"
+ talk: image-generation-with-ai-gans-and-diffusion-techniques
+ - file: pyday-2024/07-introduccio-a-xarray-etiqueta-les-teves-dades-n-di.jpg
+ caption: "\"Introducció a xarray: etiqueta les teves dades n-dimensionals\" by Oriol Abril Pla"
+ source: "https://x.com/PyBCN/status/1855213518359834954"
+ time: "12:39"
+ talk: introduccio-a-xarray-etiqueta-les-teves-dades-n-dimensionals
+ - file: pyday-2024/08-static-typing-in-python-by-alex-molas.jpg
+ caption: "\"Static Typing in Python\" by Alex Molas"
+ source: "https://x.com/PyBCN/status/1855213686542983460"
+ time: "12:39"
+ talk: static-typing-in-python
+ - file: pyday-2024/09-building-data-pipelines-with-sqlmesh-by-marc-ramir.jpg
+ caption: "\"Building data pipelines with SQLMesh\" by Marc Ramirez"
+ source: "https://x.com/PyBCN/status/1855213884220600758"
+ time: "12:40"
+ talk: building-data-pipelines-with-sqlmesh
+ - file: pyday-2024/10-la-rosalia-unveiled-decoding-her-lyrics-with-ai-by.jpg
+ caption: "\"La Rosalía Unveiled: Decoding Her Lyrics with AI\", by Olga Ss"
+ source: "https://x.com/PyBCN/status/1855249867385307276"
+ time: "15:03"
+ - file: pyday-2024/11-a-kingdom-above-the-clouds-how-far-can-you-go-on-a.jpg
+ caption: "\"A kingdom above the clouds: How far can you go on AWS for $1 a month?\", by Kemalcan Bora"
+ source: "https://x.com/PyBCN/status/1855250188463411365"
+ time: "15:04"
+ talk: a-kingdom-above-the-clouds-how-far-can-you-go-on-aws-for-1
+ - file: pyday-2024/12-a-deep-dive-into-the-arrow-columnar-format-with-py.jpg
+ caption: "\"A deep dive into the Arrow Columnar format with pyarrow and nanoarrow\", by Raúl Cumplido"
+ source: "https://x.com/PyBCN/status/1855251365431288257"
+ time: "15:09"
+ talk: a-deep-dive-into-the-arrow-columnar-format-with-pyarrow-and
+ - file: pyday-2024/13-polars-procesando-datos-a-la-velocidad-de-la-luz-c.jpg
+ caption: "\"Polars: Procesando datos a la velocidad de la luz con recursos espartanos\", by Fernando Aparicio"
+ source: "https://x.com/PyBCN/status/1855263927799525470"
+ time: "15:59"
+ - file: pyday-2024/14-evita-bugs-amb-pre-commit-by-carles-julia-chaosct.jpg
+ caption: "\"Evita bugs amb Pre-Commit\", by Carles Julià (@chaosct)"
+ source: "https://x.com/PyBCN/status/1855267845711527972"
+ time: "16:14"
+ - file: pyday-2024/15-chaosct-predict-gender-equality-with-your-own-mach.jpg
+ caption: "\"Predict gender equality with your own Machine Learning model\", by Asia Noble"
+ source: "https://x.com/PyBCN/status/1855268923261767778"
+ time: "16:19"
+ talk: predict-gender-equality-with-your-own-machine-learning-model
+ - file: pyday-2024/16-chaosct-l-embolic-videojuegos-hechos-en-el-fronten.jpg
+ caption: "\"L'Embolic: Videojuegos hechos en el frontend por un lenguaje de backend\", by Jimena (@Jimena_y_yo)"
+ source: "https://x.com/PyBCN/status/1855269101087735918"
+ time: "16:19"
+ talk: lembolic-videojuegos-hechos-en-el-frontend-por-un-lenguaje
+ - file: pyday-2024/17-chaosct-jimena-y-yo-open-source-databases-python-d.jpg
+ caption: "\"Open Source Databases Python Devs\" by Dave Pitts"
+ source: "https://x.com/PyBCN/status/1855269396618355152"
+ time: "16:21"
+ talk: open-source-databases-python-devs
+ - file: pyday-2024/18-automate-end-to-end-mlflow-with-kestra-and-mlflow.jpg
+ caption: "\"Automate end to end MLflow with Kestra and MLFlow\", by Manuel Gijón"
+ source: "https://x.com/PyBCN/status/1855269627300827556"
+ time: "16:22"
+ talk: automate-end-to-end-mlflow-with-kestra-and-mlflow
+ - file: pyday-2024/19-la-iniciativa-scientific-python-by-oriol-abril-pla.jpg
+ caption: "\"La iniciativa Scientific Python\", by Oriol Abril Pla"
+ source: "https://x.com/PyBCN/status/1855316971211948104"
+ time: "19:30"
+ - file: pyday-2024/20-drugscope-a-ml-based-platform-for-drug-discovery-b.jpg
+ caption: "\"DrugScope: a ML-based platform for drug discovery\", by Verónica Larroy"
+ source: "https://x.com/PyBCN/status/1855317098773225775"
+ time: "19:30"
+ - file: pyday-2024/21-can-llms-power-product-recommendations-by-babaniyi.jpg
+ caption: "\"Can LLMs Power Product Recommendations?\", by Babaniyi Olaniyi\""
+ source: "https://x.com/PyBCN/status/1855317374867472871"
+ time: "19:31"
+ - file: pyday-2024/22-pixel2mechanics-automated-biomechanical-simulation.jpg
+ caption: "\"Pixel2Mechanics: Automated Biomechanical Simulations of High-Resolution Intervertebral Discs from Anisotropic MRIs\", by Sai Natarajan"
+ source: "https://x.com/PyBCN/status/1855317468480479312"
+ time: "19:32"
+ - file: pyday-2024/01-thanks-for-attending-the-pydaybcn-2024-see-you-nex.jpg
+ caption: "Thanks for attending the #PyDayBCN 2024! See you next year!"
+ source: "https://x.com/PyBCN/status/1855898395161805079"
+ time: "10:00"
---
diff --git a/content/events/pyday_bcn/pyday_bcn_2025.md b/content/events/pyday_bcn/pyday_bcn_2025.md
index c44e58898..50e8b9dfc 100644
--- a/content/events/pyday_bcn/pyday_bcn_2025.md
+++ b/content/events/pyday_bcn/pyday_bcn_2025.md
@@ -20,15 +20,15 @@ layout: event
free_text_sections:
- title: Important dates
id: important_dates
- content: "29th September: Call for proposals opening: Workshops and Lightning talks
+ content: "29th September: Call for proposals opening: [Workshops](https://forms.gle/tGnJHW5oNkCFQrXx7) and [Lightning talks](https://forms.gle/GzYmMU4qvqRHmgCh7)
7th November: Call for proposals closing
21th November: Program available
24th November, 9AM: Early registration open for PyBCN members, PyDay speakers and sponsors
- 25th November, 9AM: General registration open through Eventbrite
+ 25th November, 9AM: General registration open through [Eventbrite](https://www.eventbrite.es/e/pyday-2025-tickets-1924233868299?aff=oddtdtcreator)
29th November: PyDay BCN 2025"
- title: Registration
id: registration
- content: "General registration will open on Tuesday 25th of November, at 9AM through Eventbrite."
+ content: "General registration will open on Tuesday 25th of November, at 9AM through [Eventbrite](https://www.eventbrite.es/e/pyday-2025-tickets-1924233868299?aff=oddtdtcreator)."
sponsor_levels:
- sponsors_per_line: 2
@@ -524,6 +524,112 @@ agenda:
room: sala-dactes-ada-lovelace
talk: lightning-talks-closing-session-kahoot
+# Photos published by PyBCN on the day, one per post so no two share a caption,
+# which is also the alt text. Imported with bin/import-x-photos, which excludes
+# anything the account only shared: that copyright belongs to somebody else.
+photos:
+ thread: "https://x.com/PyBCN/status/1994662616132673581"
+ items:
+ - file: pyday-2025/01-18-years-since-our-first-meetup-https-www-meetup-c.jpg
+ caption: "18 years since our first meetup! https://www.meetup.com/python-barcelona/events/6778043/"
+ source: "https://x.com/PyBCN/status/1994662616132673581"
+ time: "08:00"
+ - file: pyday-2025/02-today-we-re-celebrating-the-pydaybcn-2025.jpg
+ caption: "Today we're celebrating the #PyDayBCN 2025!"
+ source: "https://x.com/PyBCN/status/1994684222666412236"
+ time: "09:25"
+ - file: pyday-2025/03-welcome-to-the-pyday-please-grab-your-lanyard.jpg
+ caption: "Welcome to the PyDay! Please grab your lanyard"
+ source: "https://x.com/PyBCN/status/1994702575589822690"
+ time: "10:38"
+ - file: pyday-2025/04-build-advanced-agentic-llm-apps-with-langgraph-and.jpg
+ caption: "Build advanced Agentic LLM Apps with LangGraph and LangChain, by Enric Domingo"
+ source: "https://x.com/PyBCN/status/1994704711178748154"
+ time: "10:47"
+ talk: build-advanced-agentic-llm-apps-with-langgraph-and-langchain
+ - file: pyday-2025/05-from-zero-to-chatbot-create-your-own-ai-assistant.jpg
+ caption: "From Zero to Chatbot: Create Your Own AI Assistant with Python, by Ester Jara"
+ source: "https://x.com/PyBCN/status/1994707695165702368"
+ time: "10:59"
+ talk: from-zero-to-chatbot-create-your-own-ai-assistant-with
+ - file: pyday-2025/06-introduction-to-analog-quantum-computing-by-natali.jpg
+ caption: "Introduction to Analog Quantum Computing, by Natàlia Padilla, Amir Azam, David Arcos, Javier Sabariego, Ely Farrés & Flavie Le Bars"
+ source: "https://x.com/PyBCN/status/1994709800337154471"
+ time: "11:07"
+ talk: introduction-to-analog-quantum-computing
+ - file: pyday-2025/07-testeando-api-s-like-a-boss-con-bdd-javier-ramos-p.jpg
+ caption: "Testeando API's like a boss con BDD, Javier Ramos Panduro"
+ source: "https://x.com/PyBCN/status/1994709904108786052"
+ time: "11:07"
+ talk: testeando-apis-like-a-boss-con-bdd
+ - file: pyday-2025/08-del-texto-al-dato-como-entienden-las-maquinas-el-l.jpg
+ caption: "Del texto al dato: cómo entienden las maquinas el lenguaje humano con Python, by Cristina Cosma"
+ source: "https://x.com/PyBCN/status/1994722041816318026"
+ time: "11:56"
+ talk: del-texto-al-dato-como-entienden-las-maquinas-el-lenguaje
+ - file: pyday-2025/09-crea-un-agente-llm-desde-cero-sin-frameworks-by-ri.jpg
+ caption: "Crea un agente LLM desde cero, sin frameworks, by Ricardo Ander-Egg"
+ source: "https://x.com/PyBCN/status/1994722652775502202"
+ time: "11:58"
+ talk: crea-un-agente-llm-desde-cero-sin-frameworks
+ - file: pyday-2025/10-building-multi-agent-system-with-pydantic-ai-by-al.jpg
+ caption: "Building Multi-Agent System with Pydantic AI, by Alberto Camara"
+ source: "https://x.com/PyBCN/status/1994722776759111743"
+ time: "11:59"
+ talk: building-multi-agent-system-with-pydantic-ai
+ - file: pyday-2025/11-mastering-word-automation-with-python-by-jordi-bos.jpg
+ caption: "Mastering Word Automation with Python, by Jordi Bosch"
+ source: "https://x.com/PyBCN/status/1994723082851029329"
+ time: "12:00"
+ talk: mastering-word-automation-with-python
+ - file: pyday-2025/12-lunch.jpg
+ caption: "Lunch!"
+ source: "https://x.com/PyBCN/status/1994776732851921080"
+ time: "15:33"
+ - file: pyday-2025/13-keywords-bm25-y-vectores-construyendo-un-buscador.jpg
+ caption: "Keywords, BM25 y vectores: construyendo un buscador de texto desde cero, by Ricardo Ander-Egg"
+ source: "https://x.com/PyBCN/status/1994776783711863011"
+ time: "15:33"
+ talk: keywords-bm25-y-vectores-construyendo-un-buscador-de-texto
+ - file: pyday-2025/14-del-desorden-visual-al-significado-una-aventura-co.jpg
+ caption: "Del Desorden Visual al Significado: Una Aventura con Transformers y Donut, by Kevin Sanchez"
+ source: "https://x.com/PyBCN/status/1994777272277164346"
+ time: "15:35"
+ talk: del-desorden-visual-al-significado-una-aventura-con
+ - file: pyday-2025/15-house-controlled-by-ai-what-could-go-wrong-by-kema.jpg
+ caption: "House, Controlled by AI (What Could Go Wrong?), by Kemalcan Bora"
+ source: "https://x.com/PyBCN/status/1994777475922997289"
+ time: "15:36"
+ talk: house-controlled-by-ai-what-could-go-wrong
+ - file: pyday-2025/16-models-de-regressio-bayesians-by-oriol-abril.jpg
+ caption: "Models de regressió bayesians, by Oriol Abril"
+ source: "https://x.com/PyBCN/status/1994777557820924408"
+ time: "15:36"
+ talk: models-de-regressio-bayesians
+ - file: pyday-2025/17-agentes-inteligentes-que-evolucionan-software-auto.jpg
+ caption: "Agentes Inteligentes que Evolucionan: Software Automodificable con LLMs y Python, by Camilo Chacón Sartori"
+ source: "https://x.com/PyBCN/status/1994801610967716187"
+ time: "17:12"
+ talk: agentes-inteligentes-que-evolucionan-software
+ - file: pyday-2025/18-fabric-en-accion-conectando-bloques-datos-y-magia.jpg
+ caption: "Fabric en Acción: conectando bloques, datos y magia en python, by Victor Garcia"
+ source: "https://x.com/PyBCN/status/1994802306496565681"
+ time: "17:15"
+ talk: fabric-en-accion-conectando-bloques-datos-y-magia-en-python
+ - file: pyday-2025/19-htmx-a-love-story-between-a-backend-dev-and-a-fron.jpg
+ caption: "HTMX: A love story between a backend dev and a frontend \"framework\", by Eric Massip"
+ source: "https://x.com/PyBCN/status/1994802513367715964"
+ time: "17:15"
+ talk: htmx-a-love-story-between-a-backend-dev-and-a-frontend
+ - file: pyday-2025/20-causal-inference-a-brief-introduction-by-ubaldo-he.jpg
+ caption: "Causal Inference: a brief introduction, by Ubaldo Hervas"
+ source: "https://x.com/PyBCN/status/1994802560104841660"
+ time: "17:16"
+ talk: causal-inference-a-brief-introduction
+ - file: pyday-2025/02-the-pydaybcn-2025-was-a-success-140-attendants-16.jpg
+ caption: "The #PyDayBCN 2025 was a success! 140 attendants, 16 workshops, many lightning talks, and hundreds of coffees! Thanks for coming, and see you next year!"
+ source: "https://x.com/PyBCN/status/1995426809425613242"
+ time: "10:36"
---
diff --git a/content/people/giorgio-polvara.md b/content/people/giorgio-polvara.md
index edffb1706..33e821384 100644
--- a/content/people/giorgio-polvara.md
+++ b/content/people/giorgio-polvara.md
@@ -1,4 +1,5 @@
---
id: giorgio-polvara
name: "Giorgio Polvara"
+photo: giorgio-polvara.jpg
---
diff --git a/content/pybcn_association/legal-notice.md b/content/pybcn_association/legal-notice.md
index 952f9100e..6707346fa 100644
--- a/content/pybcn_association/legal-notice.md
+++ b/content/pybcn_association/legal-notice.md
@@ -23,7 +23,7 @@ The Management Board is responsible for this website. You can see who sits on it
## What this site is
-This is an informational site. It describes the association, its events, the people who organise them and speak at them, and how to join, propose a talk, or sponsor us. Nothing is sold through this site. The membership fee is paid on PayPal's own site, not here. Some pages embed a Google Form or a Google Calendar; those are served by Google.
+This is an informational site. It describes the association, its events, the people who organise them and speak at them, and how to join, propose a talk, or sponsor us. Nothing is sold through this site. The membership fee is paid on PayPal's own site, not here. Some pages embed a Google Form or a Google Calendar, and the page of a recorded talk embeds its video in a YouTube player (youtube-nocookie.com); those frames are served by Google.
The site is a set of static pages, published from a public repository on GitHub and served by GitHub Pages. We keep no server of our own and we run no analytics. The [Privacy policy](/pybcn_association/privacy-policy/) says what personal data this involves.
@@ -54,4 +54,4 @@ We may update this notice. Every change is visible in the [history of this page]
Spanish law applies to this notice and to the use of this site. Any dispute goes to the courts of Barcelona, unless the law gives you the right to the courts of your own domicile.
-Last updated: 2026-10-07
+Last updated: 2026-10-14
diff --git a/content/pybcn_association/organizers.md b/content/pybcn_association/organizers.md
index 742a502a3..7bf2178e5 100644
--- a/content/pybcn_association/organizers.md
+++ b/content/pybcn_association/organizers.md
@@ -25,7 +25,7 @@ people_levels:
people: [elisabeth-ortega-carrasco, josep-martinez-vila, loris-mularoni, laura-perez-mayos, nuria-pujol-vilanova, jose-riera-sanchez, ruben-berenguel, xavi-francisco-gilabert]
name: Collaborators
- people_per_line: 5
- name: Management Board (2018 - 2025)
+ name: Former Management Board (2018 - 2025)
# An entry with a role shows that role on this page instead of the
# pybcn_position of the person file. See people-grid.html.
people:
diff --git a/content/pybcn_association/privacy-policy.md b/content/pybcn_association/privacy-policy.md
index ba0134418..81089c399 100644
--- a/content/pybcn_association/privacy-policy.md
+++ b/content/pybcn_association/privacy-policy.md
@@ -20,7 +20,7 @@ PyBCN is a volunteer association. This page says what personal data this website
**Associació Python Barcelona** (CIF G67254045) is the data controller.
- **Email**: [pybcn@googlegroups.com](mailto:pybcn@googlegroups.com)
-- **Registered address**: *pending. The association must add its registered address here before this page is published.*
+- **Registered address**: Carrer de Concepció Arenal, 165, 08027 Barcelona
The Management Board handles requests about personal data. We have no data protection officer: the law does not require one for an association of our size and activity.
@@ -61,7 +61,14 @@ Our contact addresses, such as pybcn@googlegroups.com and pyladies-bcn@googlegro
### Embedded Google content
-A few pages embed a Google Form or a Google Calendar in a frame. The frame is served by Google: when the page loads, Google sees your IP address and browser details, and may set its own cookies inside the frame. Google's [privacy policy](https://policies.google.com/privacy) applies to that.
+A few pages embed a Google Form or a Google Calendar in a frame: the two talk proposal forms and the agenda of PyDay BCN 2019. The frame is served by Google: when the page loads, Google sees your IP address and browser details, and may set its own cookies inside the frame. Google's [privacy policy](https://policies.google.com/privacy) applies to that.
+
+The page of a talk that was recorded embeds the video in a frame from **youtube-nocookie.com**, the YouTube player Google serves for sites that do not want it to set cookies. Only the page of a recorded talk carries one, one frame per talk. No other page has one: the lists of talks and the event pages carry a link to the video and nothing else. What the frame does and does not do:
+
+- When you open the page of a recorded talk and scroll near the video, your browser asks Google for the player. Google then sees your IP address and browser details, and that you opened a talk page on this site, as it would for an image loaded from its servers. This happens before you press play.
+- Until you press play, Google states that this player stores nothing in your browser and sets no cookie.
+- When you press play, you are watching a YouTube video inside this page, and Google's [privacy policy](https://policies.google.com/privacy) applies as it would on youtube.com.
+- Under every player there is the plain link to the same video on youtube.com, so you can watch it there instead, and the page reads fine with the frame blocked.
### Cookies
@@ -73,7 +80,7 @@ The site is served by [GitHub Pages](https://pages.github.com). GitHub may log t
## Who else sees your data
-Nobody buys or receives your data from us. The companies named above see it because we use their services: Google (forms, calendar, mailing lists, documents), PayPal (payments), and GitHub (hosting and the source repository). All three are based in the USA. Each publishes the safeguards it applies to data from the EU, and we rely on those.
+Nobody buys or receives your data from us. The companies named above see it because we use their services: Google (forms, calendar, mailing lists, documents, and the YouTube player on the talk pages), PayPal (payments), and GitHub (hosting and the source repository). All three are based in the USA. Each publishes the safeguards it applies to data from the EU, and we rely on those.
## Your rights
@@ -94,4 +101,4 @@ If you think we handle your data wrongly, you can complain to the Spanish data p
We may update this policy. Every change is visible in the [history of this page](https://github.com/pybcn/pybcn.github.io/commits/edition/content/pybcn_association/privacy-policy.md) on GitHub.
-Last updated: 2026-10-07
+Last updated: 2026-10-14
diff --git a/data/channel_videos.yaml b/data/channel_videos.yaml
new file mode 100644
index 000000000..9f112da92
--- /dev/null
+++ b/data/channel_videos.yaml
@@ -0,0 +1,406 @@
+# The videos of the Python Barcelona YouTube channel, and what this site does
+# with each one. One entry per video of the channel, with the id, the title
+# as the channel shows it, and the decision: placed, which means some event
+# page carries a link to it, or placed: false with the reason it belongs to
+# no page.
+#
+# This is the list the site maintains. It is not a copy of the pybcn-archive
+# export, which is one-time archaeology that is not in this repository: the
+# export says where a published fact came from, this file says what the
+# channel holds today and whether the site accounts for it.
+#
+# bin/check-content reads this file and fails on three things: a placed
+# entry that no event front matter carries, a YouTube video link in the
+# front matter that no entry lists, and an unplaced entry with no reason.
+# It never touches the network.
+#
+# How to refresh it: run bin/list-channel. It reads the two tabs of the
+# channel that hold videos (videos and streams) with yt-dlp and prints every
+# video the channel has and this list does not, and every entry of this list
+# the tabs no longer show. For a new video, write its link on the talk of
+# the event page by hand (a link of type video, or an entry of
+# session_videos for the recording of a whole session), then add the entry
+# here with placed: true. A video that belongs to no page gets placed: false
+# and a reason. bin/list-channel --yaml prints the new entries ready to
+# paste.
+#
+# unlisted: true marks a video the channel holds but no tab shows, because
+# it was uploaded unlisted and only a playlist reveals it. bin/list-channel
+# expects those to be absent from the tabs and says so, instead of reporting
+# them as removed.
+#
+# The order of the entries is by id and means nothing. Append a new entry at
+# the end if that is easier.
+#
+# First generated on 2026-10-13 from the two channel tabs read with yt-dlp
+# (84 in videos, 3 in streams) plus the two unlisted videos the export
+# found through its playlists, crossed with the video links of
+# content/events/.
+
+channel: UCEhI2CfdT5--TYq47K4en4A
+
+videos:
+ - id: "-usvyg6h3wY"
+ title: "PyBCN Meetup 2019/03 - PySpark on Kubernetes: Avoiding the pain of YARN by H. Karau"
+ placed: true
+ - id: "04ZPyA_lE8Y"
+ title: "PyBCN Meetup 2020/05 - Chatops 101 with Python and Opsdroid, by À. Fernández (@anxodio)"
+ placed: true
+ - id: "1R3WiyJhpQs"
+ title: "PyBCN Meetup 2020/02 - Intercepting & debugging all Python http(s) by T. Perry"
+ placed: true
+ - id: "1VdEN4B2OIM"
+ title: "PyBCN Meetup 2015/10 - API by example by C. Barrobés"
+ placed: true
+ - id: "1mr0Gx7qJ5E"
+ title: "PyBCN Meetup 2015/09 - Técnicas OSINT & Python by A. Sánchez"
+ placed: true
+ - id: "2VP2d_Ukj3E"
+ title: "PyBCN Meetup 2016/04 - Ingesting 35 Million Hotel Images With Python In the Cloud by A. Vinyals"
+ placed: true
+ - id: "2xqQwC2MwYY"
+ title: "PyMeetup 2023/02/23 Python & ChatGPT by Ismael Benito Altamirano"
+ placed: true
+ - id: "3V1AEXT3PrI"
+ title: "PyBCN Meetup 2016/03 - sklearn-pandas: streamline your model building process by I. Saeta"
+ placed: true
+ - id: "3mNktCVBGlc"
+ title: "PyBCN Meetup 2016/06 - Machine Learning for Dummies with Python by J. Arias"
+ placed: true
+ - id: "4-OPxy4CLAw"
+ title: "PyDayBCN 2020 Track 2 - A Day Has Only 24±1 Hours by M. Šedivý"
+ placed: true
+ - id: "4kY7IfWJ_Mg"
+ title: "PyBCN Meetup 2021/05/20 A principled approach to authorization with SQLAlchemy by Sam Scott"
+ placed: true
+ - id: "4oc0OTkks0k"
+ title: "PyDayBCN 2020 Track 1 - Transformers the all in one tool for NLP by J. Martínez"
+ placed: true
+ - id: "5lHomEoRndM"
+ title: "February 2019 Meetup"
+ placed: true
+ - id: "64gY5bXuJPY"
+ title: "PyBCN Meetup 2018/06 - Practical clean code by I. Saeta"
+ placed: true
+ - id: "68FOP7sBDes"
+ title: "Python May 2019 Meetup - Automatize reports using Google Slides API by Victor Perez"
+ placed: true
+ - id: "698441URsrc"
+ title: "PyBCN June 2018 - PySpark and Arrow - Rubén Berenguel"
+ placed: true
+ - id: "6ELCbtx3GJU"
+ title: "PyBCN Meetup 2019/03 - Houston, we have a snake: Python at Satellogic by A. Pujol & J.L. Cano"
+ placed: true
+ - id: "76jG59xQzVw"
+ title: "PyMeetup 2022/05/19 Building a Django scalable system by Samuel Parra"
+ placed: true
+ - id: "8H2PrNLEEYQ"
+ title: "PyBCN Meetup 2019/06 - Kiwi Python Tour Intro"
+ placed: true
+ - id: "8UjkfOKh6jA"
+ title: "PyDayBCN 2020 Track 2 - Alexa, te elijo a ti by E. Ortega-Carrasco"
+ placed: true
+ - id: "9ASVfIPj_M8"
+ title: "PyMeetup 2024/09 From text to actions: LLMs as the new software consumers by Pol Alvarez Vecino"
+ placed: true
+ - id: "B0YM3XkNkQs"
+ title: "PyDayBCN 2020 Track 1 - Ho sento, no ets el meu tipus by C. Barrobés"
+ placed: true
+ - id: "BOkeUX9d1Ko"
+ title: "PyBCN Meetup 2019/10 - Avoid food waste with QR codes and computer vision by I. Benito"
+ placed: true
+ - id: "BoaGrcmfVH8"
+ title: "PyDayBCN 2020 Track 1 - Documentation driven development for Python web APIs by J. Haro"
+ placed: true
+ - id: "CCxse-fiAr4"
+ title: "PyBCN Meetup 2019/04 - Building a validation scheme for a REST API using Voluptuous by A. Camara"
+ placed: true
+ - id: "Ga5Wiq0swS8"
+ title: "PyBCN Meetup 2021/10/27 Wardley mapping the Python Barcelona Association"
+ placed: true
+ - id: "GblxdxaZ5Gw"
+ title: "PyBCN Meetup 2019/02 - Pipenv: nuevo sistema de gestión de dependencias by A. Vallbona"
+ placed: true
+ - id: "GnQlVBIcunk"
+ title: "PyBCN Meetup 2020/01 - Using Pydantic for security static analysis of cloudformation by O. Blanco"
+ placed: true
+ - id: "Hnr7MH9Pd5s"
+ title: "PyDayBCN 2020 Track 1 - Lifebox a virtual ecosystem by F. Fábregas:"
+ placed: true
+ - id: "JYCcPr4QW_k"
+ title: "PyLadies Barcelona & Python Barcelona - Presentación comunidad local - PyConES 2020"
+ placed: false
+ unlisted: true
+ reason: "a presentation of the Barcelona community given at PyConES 2020, which is no event of the association"
+ - id: "JzX9WAv7PVM"
+ title: "PyBCN Meetup 2019/09 - Python for the management of IoT platforms at Worldsensing by T. Martínez"
+ placed: true
+ - id: "KOpW86J56CU"
+ title: "PyDayBCN 2020 Track 1 - Counting votes: analyzing a large dataset with Dask by A. Camara"
+ placed: true
+ - id: "LAQY4ucheQA"
+ title: "PyDayBCN 2020 Track 2 - Investigating Digital Crimes using Python by G. Deshpande"
+ placed: true
+ - id: "LvvwLYk9aIo"
+ title: "PyDayBCN 2020 Track 2 - Alice in Pythonland: Object oriented programming in [...] by M. T. Grifa"
+ placed: true
+ - id: "LwchtmM-d-s"
+ title: "PyMeetup 2026/09/16 Why LLMs Can't Make Your Code Simpler by Pol Alvarez"
+ placed: true
+ - id: "Nb4mJEn04rY"
+ title: "PyBCN Meetup 2015/10 - Data structures beyond dicts and lists by S. Sorribas"
+ placed: true
+ - id: "QIy-XGTP4WM"
+ title: "PyBCN Meetup 2016/04 - Introduction to testing and py.test by I. Fosch"
+ placed: true
+ - id: "QJ1YKtM0Kjw"
+ title: "PyBCN Meetup 2015/09 - Hacking the BCN housing market by T. Barbu"
+ placed: true
+ - id: "QNr8p1zVd54"
+ title: "PyBCN Meetup 2021/01 - Architecture Decision Records: documenta tu arquitectura [...] by H. Canto"
+ placed: true
+ - id: "QmqrBAKSB6s"
+ title: "PyBCN Meetup 2020/02 - Migracode: Creating a Migrant-Tech Community by V. van Grondelle"
+ placed: true
+ - id: "R3R9q5mf8Uw"
+ title: "PyBCN Meetup 2016/04 - Lightning Talk Session"
+ placed: true
+ - id: "RQc7KL-ne3A"
+ title: "PyBCN Meetup 2015/12 - IPython parallel by J. Deu-Pons"
+ placed: true
+ - id: "S-8tyE62unI"
+ title: "PyBCN Meetup 2016/07 - Kinto: A minimalist JSON storage service by M. Leplatre"
+ placed: true
+ - id: "S1fZAascs04"
+ title: "PyBCN Meetup 2019/04 - Does Django scale? Introducción a la escalabilidad by David Arcos"
+ placed: true
+ - id: "S3ebYJxXBRU"
+ title: "PyDayBCN 2020 Track 2 - Antifragile Software: Code that gains from disorder by A. Duran"
+ placed: true
+ - id: "SMXlwINeKyQ"
+ title: "PyBCN Meetup 2020/01 - Jazz chord generation using Deep Learning by M. Dorobek"
+ placed: true
+ - id: "Se3FmYvn6sM"
+ title: "PyDayBCN 2020 Track 2 - Network automation using Python by C. Adell"
+ placed: true
+ - id: "TLuqx4cwGPQ"
+ title: "PyBCN Meetup 2015/12 - Functional Programming by G. Blasco"
+ placed: true
+ - id: "TkrTM2Byj34"
+ title: "PyBCN Meetup 2019/02 - Repository templates with Cookiecutter by H. Cantó"
+ placed: true
+ - id: "Tppi9Fsiwp4"
+ title: "PyBCN Meetup 2016/03 - Computational complexity in Python by J. Soucheiron"
+ placed: true
+ - id: "UhNQRmAUJj0"
+ title: "PyBCN Meetup 2020/05 - Impact of the COVID-19 pandemic in the IT labor market by D. Martos"
+ placed: true
+ - id: "UtK-npeVsH0"
+ title: "PyDayBCN 2020 Track 1 - JINA AI: An Open Source Neural Search Framework by J. Fontanals"
+ placed: true
+ - id: "VE-JE4G53c8"
+ title: "PyMeetup 2023/04/27 Python Packaging 101 by Ferran Jovell"
+ placed: true
+ - id: "YFfnKTB362c"
+ title: "PyBCN Meetup 2016/06 - GeoDjango in Agroptima: Mapping Farmer Fields by D. Castillo & J. Powell"
+ placed: true
+ - id: "a8smnNogLQU"
+ title: "PyBCN Meetup 2022/03/04 Aprendizaje a través de grafos: Graph Neural Networks by @camilo_chacon_s"
+ placed: true
+ - id: "asdtq4WgbAw"
+ title: "PyBCN Meetup 2019/06 - Pytest: recomendaciones, paquetes básicos para testing [...] by A. Vallbona"
+ placed: true
+ - id: "b8s8a71AYd8"
+ title: "PyBCN Meetup 2019/09 - Data Quality and how we are trying to break the […] by A. Dorofei"
+ placed: true
+ - id: "bqphJQnp3Hw"
+ title: "PyBCN Meetup 2018/06 - Frozen Python by O. Sánchez"
+ placed: true
+ - id: "cmi4B41oOd8"
+ title: "PyDayBCN 2020 Track 2 - Efficiently share data on a [...] by F. Faraone"
+ placed: true
+ - id: "dvN0lMgQ9Pc"
+ title: "PyBCN Meetup 2019/05 - Damegender: gender detection with NLTK and Scikit by D. Arroyo"
+ placed: true
+ - id: "g2kggih_7-A"
+ title: "PyBCN Meetup 2018/11 - Time series regression with deep neural networks by S. Totaro"
+ placed: true
+ - id: "hFdOAUVAKM0"
+ title: "PyBCN Meetup 2021/03/18 Good to the last drop: Writing robust Flask and Django apps by I. Evans"
+ placed: true
+ - id: "h_LXliq1Wik"
+ title: "PyMeetup 2024/09/26 Ragtime. An Approach to Retrieval-Augmented Generation by Javier Martinez"
+ placed: true
+ - id: "ihK7TZeHakY"
+ title: "PyBCN Meetup 2019/07 - ML Against Fraud by G. Oliveira-Barra"
+ placed: true
+ - id: "j0z7GJW0EMA"
+ title: "PyBCN Meetup 2018/11 Python in metal additive manufacturing Industrial Robotics by H. Canales"
+ placed: true
+ - id: "j7pTZtDUeRc"
+ title: "PyBCN Meetup 2022/04/21 Shorter feedback loop by running impacted tests only by Mathieu Kniewallner"
+ placed: true
+ - id: "jUoJGYCWSC0"
+ title: "PyMeetup 2022/06/15 Creating Python Data Pipelines with Yaetos by Arthur Prevot"
+ placed: true
+ - id: "kwa58dEhPNY"
+ title: "PyDayBCN 2020 Track 2 - Retrying, a better way by C. Adell"
+ placed: true
+ - id: "nWVJ7HfFC5E"
+ title: "PyDayBCN 2020 Track 2 - Building My First Python IoT Device with Containers in 20 minutes by M. Pous"
+ placed: true
+ - id: "oLB0eo7tpj0"
+ title: "PyDayBCN 2020 - Welcome Session"
+ placed: true
+ unlisted: true
+ - id: "ousMvSsY0Eo"
+ title: "PyBCN Meetup 2015/10 - ofxPython: embedding Python into C++ by C. Julià"
+ placed: true
+ - id: "pOg3IbFEnlw"
+ title: "PyBCN Meetup 2022/03/24 Telegram bots - From idea to production by Ferran Jovell"
+ placed: true
+ - id: "pPMTC2XG4Gc"
+ title: "PyBCN Meetup 2015/10 - Web crawling with Notebook and Selenium by S. Puglisi"
+ placed: true
+ - id: "pQzlYyOKSTk"
+ title: "PyBCN Meetup 2019/06 - Don't talk, scheme! by T. Marković"
+ placed: true
+ - id: "pTFM5-ur8e8"
+ title: "PyBCN Meetup 2015/12 - Python for Porn by G. Gavilan"
+ placed: true
+ - id: "prWA_rqKtVo"
+ title: "PyBCN July 2018 - Building NLP Models with Python by Gabriel de Maeztu"
+ placed: true
+ - id: "qqse-zvnNn0"
+ title: "PyBCN Meetup 2019/05 - Mocking and Patching Pitfalls by E. Jung"
+ placed: true
+ - id: "rF3pLmxr3v8"
+ title: "PyMeetup 2022/05/19 Introduction to PyScript by David Arcos"
+ placed: true
+ - id: "r_upsuTDED4"
+ title: "Python Meetup 2026/09/16 What: Nothing has beaten our 14b classifier by Marta Rodriguez"
+ placed: true
+ - id: "t2Z2yscYaQA"
+ title: "PyBCN Meetup 2019/03 - Codificando átomos con Python by J. Sánchez"
+ placed: true
+ - id: "u-KDwDqMbCI"
+ title: "PyBCN Meetup 2020/01 - Inversión de control e inyección de dependencias - M. Gomez & D. Albarral"
+ placed: true
+ - id: "uUwmknHAIhU"
+ title: "PyDayBCN 2020 Track 1 - Kornia: differentiable Computer Vision with PyTorch by E. Riba"
+ placed: true
+ - id: "uzjlrbqq26M"
+ title: "PyDayBCN 2020 Track 1 - Working with Text Data in Pandas by D. Mesejo"
+ placed: true
+ - id: "v5AEK2ZEDyU"
+ title: "PyBCN Online: Taula Rodona sobre Python"
+ placed: true
+ - id: "v75bTfShH-M"
+ title: "PyDayBCN 2020 Track 1 - Performing Sentiment Analysis on Video with Serverless by E. Cespedes"
+ placed: true
+ - id: "vJMFYR1hF5E"
+ title: "PyBCN Meetup 2019/02 - Recursive generators by Joan Vilaltella"
+ placed: true
+ - id: "w9cYczex79M"
+ title: "PyDayBCN 2020 Track 1 - Ready, Set, Go with Numba by A. Mahato"
+ placed: true
+ - id: "xOT4pg5jqVU"
+ title: "PyBCN Meetup 2019/07 - Python on uControllers by J. Biondi"
+ placed: true
+ - id: "xlRek0SkGZ8"
+ title: "PyBCN Meetup 2016/06 - Efficient Django by David Arcos"
+ placed: true
+
+# Videos the event pages link that another channel hosts, so bin/list-channel
+# never expects them in the tabs above. Today these are the recordings of
+# PyData Barcelona 2017, on the PyData channel, which pyvideo kept and the
+# archive import carried over. An entry takes the id, the title as that
+# channel shows it, and the channel.
+elsewhere:
+ - id: "-nTLS7BtcGA"
+ title: "Diego Hueltes - Data science for lazy people... genetics will work for you!"
+ channel: "PyData"
+ - id: "0XYRr6MLrVA"
+ title: "Jordi Deu-Pons - Running jupyter notebook remotely in a docker swarm cluster"
+ channel: "PyData"
+ - id: "0ni90h8EErQ"
+ title: "Miguel Zavala-Ake - Python for visualization of HPC applications"
+ channel: "PyData"
+ - id: "2Ot3gyGLVA0"
+ title: "Guillem Duran Ballester - Happiness inside a job: a social network analysis"
+ channel: "PyData"
+ - id: "4YqMpYqjqps"
+ title: "Jordi Torrents - Analyzing code contributions to the CPython project using NetworkX and Matplotlib"
+ channel: "PyData"
+ - id: "8h3uyQfiMNc"
+ title: "Gema Parreño - NASA Space APPS Challenge: Asteroid prediction impact"
+ channel: "PyData"
+ - id: "8kL71zk4KNk"
+ title: "Maciej Siwek - Despicable machines: how computers can be assholes"
+ channel: "PyData"
+ - id: "9g-DaHZZKDE"
+ title: "Claudia Millán - Using network community clustering algorithms [...]"
+ channel: "PyData"
+ - id: "G2GuL-xPhJA"
+ title: "Yang Liu - Increasing the trading prediction by mining aggregated human texting messages"
+ channel: "PyData"
+ - id: "IkIfxkI5qpY"
+ title: "Ramon Navarro Bosch - Guillotina - An Async REST Resource DB to manage millions of objects"
+ channel: "PyData"
+ - id: "IlofEE7Sswc"
+ title: "Claudia Guirao - Machine Learning to know if you R coming"
+ channel: "PyData"
+ - id: "IpZeg2siLVU"
+ title: "Óscar Gallardo Román - LympHOS2, Organizing and Sharing Biological Data"
+ channel: "PyData"
+ - id: "LAy8vD4PQLg"
+ title: "Camilo Cardona - Prototyping Interactive Dashboards with Jupyter Notebooks"
+ channel: "PyData"
+ - id: "NBliyFXnWeo"
+ title: "Travis Oliphant - Chief Data Scientist and co-founder of Continuum Analytics"
+ channel: "PyData"
+ - id: "PF0HCAmzz7U"
+ title: "Pascal van Kooten - DeepCare Chatbot - Generating answers to customers using Deep Learning and NLP"
+ channel: "PyData"
+ - id: "TI05I_8uS3U"
+ title: "Holden Karau - The Magic Behind PySpark, how it impacts perf & the \"future\""
+ channel: "PyData"
+ - id: "U_Aq2cPxwss"
+ title: "Margriet Groenendijk - A Beginners Guide to Weather & Climate Data"
+ channel: "PyData"
+ - id: "WKgNNC0VLhM"
+ title: "Yufeng Guo - TensorFlow Wide & Deep: Advanced Classification the easy way"
+ channel: "PyData"
+ - id: "XM_r5La-1tA"
+ title: "Jaime Fernandez del Rio - The Secret Life Of Rolling Pandas"
+ channel: "PyData"
+ - id: "aEFR7_EzMJs"
+ title: "Massimo Domenico Sammito - How to map a protein structure into a network graph [...]"
+ channel: "PyData"
+ - id: "aTwvQZjEZhk"
+ title: "Carles Illa - Web Scraping with Python"
+ channel: "PyData"
+ - id: "aicyYd8MZWo"
+ title: "David Arcos - Security for Data Scientists"
+ channel: "PyData"
+ - id: "eSaLdLrXzO4"
+ title: "Guillem Borrell Nogueras - Blockchain and smart contracts explained (and simplified)"
+ channel: "PyData"
+ - id: "jzuQJg3bFy8"
+ title: "Joaquin Pais - Marketing Data Science"
+ channel: "PyData"
+ - id: "o9PC4JC74tU"
+ title: "Francesc Alted - Squeeze (gently) your data"
+ channel: "PyData"
+ - id: "pdrX1qdjvxE"
+ title: "Nicholas A. Del Grosso, Javier Martinez Alcantara - The Neuroscience Lab"
+ channel: "PyData"
+ - id: "qdEhJ0uT7wk"
+ title: "Constant Bridon - Feature Importance and Ensemble Methods : a new perspective"
+ channel: "PyData"
+ - id: "rPDZg2--5uM"
+ title: "Guillem Borrell Nogueras - How to manage complexity in distributed applications"
+ channel: "PyData"
+ - id: "uLC0t5JZBZs"
+ title: "Egor Bulychev - Extending Jupyter with Google Cloud Storage file system backend"
+ channel: "PyData"
diff --git a/data/role_emoji.yaml b/data/role_emoji.yaml
index 41eb4cbe1..28e44778e 100644
--- a/data/role_emoji.yaml
+++ b/data/role_emoji.yaml
@@ -4,10 +4,9 @@
# of the event page through roles.yaml. For a roles row it is the label of
# the row, which is a level name of an organizers page through roles.yaml,
# and a level name that is not a role ("Permanent Committee",
-# "Collaborators", "Management Board (2026)") is not here and takes the
-# "*" entry. Right side: one emoji. A role that is not here takes the "*"
+# "Management Board (2026)") is not here and takes the "*" entry. Right side: one emoji. A role that is not here takes the "*"
# entry, so a new role shows up with a neutral glyph rather than with
-# none, and the row does not change shape when it is added. The four
+# none, and the row does not change shape when it is added. The three
# level names above are the live test of that fallback.
#
# Every emoji here has emoji presentation by default (Emoji_Presentation
@@ -46,6 +45,5 @@ Events: 📅
# needs a row of its own, and until it has one its glyph is the neutral
# one, not a wrong one.
Permanent Committee: 🧭
-Collaborators: 🤝
Management Board (2026): 📋
-Management Board (2018 - 2025): 📋
+Former Management Board (2018 - 2025): 📋
diff --git a/data/roles.yaml b/data/roles.yaml
index e8dc8c492..401edc274 100644
--- a/data/roles.yaml
+++ b/data/roles.yaml
@@ -14,8 +14,13 @@
# itself is not mapped: no level falls back to it,
# and a new unnamed level under it would show the title as written, which
# is the signal to name the level.
+#
+# Collaborators is a level name of the organizers page and of PyDay BCN
+# 2016. Unmapped, it printed "Collaborators at PyBCN" on the page of one
+# person, a plural for one (David Arcos, 2026-10-15).
Speakers: Speaker
Organizers: Organizer
+Collaborators: Collaborator
Mentors: Mentor
Volunteers: Volunteer
PyLadiesBCN Organizers: Organizer
diff --git a/layouts/shortcodes/membership/membership-form-reminder.html b/layouts/shortcodes/membership/membership-form-reminder.html
index a3f06feab..ca65ba1be 100644
--- a/layouts/shortcodes/membership/membership-form-reminder.html
+++ b/layouts/shortcodes/membership/membership-form-reminder.html
@@ -3,4 +3,4 @@
after a payment completes.
*/ -}}
To become a member you must follow two steps:
After completing steps 1 and 2, we'll contact you by email with you membership number and a big thank you :D
diff --git a/themes/pybcn_theme/assets/images/people/giorgio-polvara.jpg b/themes/pybcn_theme/assets/images/people/giorgio-polvara.jpg new file mode 100644 index 000000000..3a2e45eee Binary files /dev/null and b/themes/pybcn_theme/assets/images/people/giorgio-polvara.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/01-today-we-re-doing-the-hands-on-django-with-pyladie.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/01-today-we-re-doing-the-hands-on-django-with-pyladie.jpg new file mode 100644 index 000000000..5f8663880 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/01-today-we-re-doing-the-hands-on-django-with-pyladie.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/02-full-house-10-mentors-and-30-mentees-coding-their.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/02-full-house-10-mentors-and-30-mentees-coding-their.jpg new file mode 100644 index 000000000..6229d800f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/02-full-house-10-mentors-and-30-mentees-coding-their.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/03-we-re-doing-a-few-lightning-talks-before-lunch.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/03-we-re-doing-a-few-lightning-talks-before-lunch.jpg new file mode 100644 index 000000000..41f9fdfd9 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/03-we-re-doing-a-few-lightning-talks-before-lunch.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/04-cool-catalan-sign-language-recognition-by-roser-ro.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/04-cool-catalan-sign-language-recognition-by-roser-ro.jpg new file mode 100644 index 000000000..79bfbdce1 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/04-cool-catalan-sign-language-recognition-by-roser-ro.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/05-best-conference-lunch-ever.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/05-best-conference-lunch-ever.jpg new file mode 100644 index 000000000..255773010 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/05-best-conference-lunch-ever.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/06-no-siesta-only-coding.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/06-no-siesta-only-coding.jpg new file mode 100644 index 000000000..9c96e7568 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/06-no-siesta-only-coding.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/07-let-s-play-a-game.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/07-let-s-play-a-game.jpg new file mode 100644 index 000000000..4a58e30c0 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/07-let-s-play-a-game.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/08-kathrin-wins-the-prize.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/08-kathrin-wins-the-prize.jpg new file mode 100644 index 000000000..a74d52235 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/08-kathrin-wins-the-prize.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/09-thanks-for-attending-it-s-been-great.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/09-thanks-for-attending-it-s-been-great.jpg new file mode 100644 index 000000000..2e60fc4fa Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/09-thanks-for-attending-it-s-been-great.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/10-the-hands-on-django-with-pyladiesbcn-was-a-huge-su.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/10-the-hands-on-django-with-pyladiesbcn-was-a-huge-su.jpg new file mode 100644 index 000000000..508182c68 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/10-the-hands-on-django-with-pyladiesbcn-was-a-huge-su.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django-2022/11-finally-a-big-applause-to-all-our-organizers-mento.jpg b/themes/pybcn_theme/assets/images/photos/django-2022/11-finally-a-big-applause-to-all-our-organizers-mento.jpg new file mode 100644 index 000000000..8b1a5c091 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/django-2022/11-finally-a-big-applause-to-all-our-organizers-mento.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/django_pyladies_2022/header.jpg b/themes/pybcn_theme/assets/images/photos/django_pyladies_2022/header.jpg index 3424affec..d9e4e83e6 100644 Binary files a/themes/pybcn_theme/assets/images/photos/django_pyladies_2022/header.jpg and b/themes/pybcn_theme/assets/images/photos/django_pyladies_2022/header.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/01-first-day-of-pydatabcn-see-you-here.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/01-first-day-of-pydatabcn-see-you-here.jpg new file mode 100644 index 000000000..32c96eae8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/01-first-day-of-pydatabcn-see-you-here.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/02-about-to-start-the-workshops-pydatabcn.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/02-about-to-start-the-workshops-pydatabcn.jpg new file mode 100644 index 000000000..12a404cac Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/02-about-to-start-the-workshops-pydatabcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/03-taking-numpy-in-stride-by-jaime-fernandez-del-rio.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/03-taking-numpy-in-stride-by-jaime-fernandez-del-rio.jpg new file mode 100644 index 000000000..efda84331 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/03-taking-numpy-in-stride-by-jaime-fernandez-del-rio.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/04-introduction-to-data-analysis-with-pandas-is-full.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/04-introduction-to-data-analysis-with-pandas-is-full.jpg new file mode 100644 index 000000000..d2332a27f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/04-introduction-to-data-analysis-with-pandas-is-full.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/05-an-introduction-to-the-tidyverse-by-jorge-cimentad.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/05-an-introduction-to-the-tidyverse-by-jorge-cimentad.jpg new file mode 100644 index 000000000..f339ca1fc Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/05-an-introduction-to-the-tidyverse-by-jorge-cimentad.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/06-waves-hackaton-by-mcarricano-pydatabcn.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/06-waves-hackaton-by-mcarricano-pydatabcn.jpg new file mode 100644 index 000000000..ddb82e798 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/06-waves-hackaton-by-mcarricano-pydatabcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/07-high-performance-python-for-data-analysis-by-guill.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/07-high-performance-python-for-data-analysis-by-guill.jpg new file mode 100644 index 000000000..1df223882 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/07-high-performance-python-for-data-analysis-by-guill.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/08-hdf5-and-pandas-by-francescalted-pydatabcn.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/08-hdf5-and-pandas-by-francescalted-pydatabcn.jpg new file mode 100644 index 000000000..a7852f540 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/08-hdf5-and-pandas-by-francescalted-pydatabcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/09-social-network-analysis-with-python-and-networkx-b.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/09-social-network-analysis-with-python-and-networkx-b.jpg new file mode 100644 index 000000000..0867b9f85 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/09-social-network-analysis-with-python-and-networkx-b.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/10-good-morning-today-we-ll-have-lightning-talks-go-t.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/10-good-morning-today-we-ll-have-lightning-talks-go-t.jpg new file mode 100644 index 000000000..ab1595b00 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/10-good-morning-today-we-ll-have-lightning-talks-go-t.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/11-welcome-to-pydatabcn-2017.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/11-welcome-to-pydatabcn-2017.jpg new file mode 100644 index 000000000..e0a9ef900 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/11-welcome-to-pydatabcn-2017.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/12-ifosch-our-great-sponsors-made-pydatabcn-possible.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/12-ifosch-our-great-sponsors-made-pydatabcn-possible.jpg new file mode 100644 index 000000000..f1d7f766c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/12-ifosch-our-great-sponsors-made-pydatabcn-possible.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/13-first-keynote-data-science-and-machine-learning-wi.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/13-first-keynote-data-science-and-machine-learning-wi.jpg new file mode 100644 index 000000000..69f67332d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/13-first-keynote-data-science-and-machine-learning-wi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/14-pydatabcn-keynote-speaker-teoliphant-is-on-stage-t.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/14-pydatabcn-keynote-speaker-teoliphant-is-on-stage-t.jpg new file mode 100644 index 000000000..a510565f1 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/14-pydatabcn-keynote-speaker-teoliphant-is-on-stage-t.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/15-second-keynote-the-magic-behind-pyspark-how-it-imp.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/15-second-keynote-the-magic-behind-pyspark-how-it-imp.jpg new file mode 100644 index 000000000..86e7dfdd8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/15-second-keynote-the-magic-behind-pyspark-how-it-imp.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/16-third-keynote-nasa-space-apps-challenge-asteroid-p.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/16-third-keynote-nasa-space-apps-challenge-asteroid-p.jpg new file mode 100644 index 000000000..c9cceb35d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/16-third-keynote-nasa-space-apps-challenge-asteroid-p.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/17-fourth-keynote-squeeze-gently-your-big-data-by-fra.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/17-fourth-keynote-squeeze-gently-your-big-data-by-fra.jpg new file mode 100644 index 000000000..3648214ee Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/17-fourth-keynote-squeeze-gently-your-big-data-by-fra.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/18-lightning-talks-pydatabcn.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/18-lightning-talks-pydatabcn.jpg new file mode 100644 index 000000000..f78b05307 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/18-lightning-talks-pydatabcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2017/19-last-keynote-closing-act-security-for-data-scienti.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2017/19-last-keynote-closing-act-security-for-data-scienti.jpg new file mode 100644 index 000000000..52d1af2cc Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2017/19-last-keynote-closing-act-security-for-data-scienti.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/01-starting-the-day-our-president-lpmayos-is-introduc.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/01-starting-the-day-our-president-lpmayos-is-introduc.jpg new file mode 100644 index 000000000..245465a84 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/01-starting-the-day-our-president-lpmayos-is-introduc.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/02-this-event-is-only-possible-thanks-to-our-sponsors.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/02-this-event-is-only-possible-thanks-to-our-sponsors.jpg new file mode 100644 index 000000000..0a541925a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/02-this-event-is-only-possible-thanks-to-our-sponsors.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/03-data-orchestration-with-airflow-by-fiorella-piriz.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/03-data-orchestration-with-airflow-by-fiorella-piriz.jpg new file mode 100644 index 000000000..bc425dc9b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/03-data-orchestration-with-airflow-by-fiorella-piriz.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/04-jupyter-notebooks-101-by-amalia-vradi.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/04-jupyter-notebooks-101-by-amalia-vradi.jpg new file mode 100644 index 000000000..5a86ff3ed Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/04-jupyter-notebooks-101-by-amalia-vradi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/05-convierte-tus-notebooks-de-jupyter-en-codigo-mante.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/05-convierte-tus-notebooks-de-jupyter-en-codigo-mante.jpg new file mode 100644 index 000000000..b4ff064e0 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/05-convierte-tus-notebooks-de-jupyter-en-codigo-mante.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/06-de-los-datos-al-modelo-en-produccion-by-ricardo-an.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/06-de-los-datos-al-modelo-en-produccion-by-ricardo-an.jpg new file mode 100644 index 000000000..b8d321cc4 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/06-de-los-datos-al-modelo-en-produccion-by-ricardo-an.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/07-had-a-nice-coffee-break-let-s-do-more-workshops.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/07-had-a-nice-coffee-break-let-s-do-more-workshops.jpg new file mode 100644 index 000000000..3f440c730 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/07-had-a-nice-coffee-break-let-s-do-more-workshops.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/08-data-analytics-with-python-by-juan-bernardo-lince.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/08-data-analytics-with-python-by-juan-bernardo-lince.jpg new file mode 100644 index 000000000..234b002fa Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/08-data-analytics-with-python-by-juan-bernardo-lince.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/09-machine-learning-robustness-and-monitoring-by-dani.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/09-machine-learning-robustness-and-monitoring-by-dani.jpg new file mode 100644 index 000000000..e64b2421a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/09-machine-learning-robustness-and-monitoring-by-dani.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/10-indices-invertidos-desde-cero-by-ricardo-ander-egg.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/10-indices-invertidos-desde-cero-by-ricardo-ander-egg.jpg new file mode 100644 index 000000000..a0e4f977d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/10-indices-invertidos-desde-cero-by-ricardo-ander-egg.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/11-fine-tuning-of-llm-models-for-text-processing-by-r.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/11-fine-tuning-of-llm-models-for-text-processing-by-r.jpg new file mode 100644 index 000000000..d04d96f53 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/11-fine-tuning-of-llm-models-for-text-processing-by-r.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/12-ask-your-data-build-a-full-pipeline-to-get-generat.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/12-ask-your-data-build-a-full-pipeline-to-get-generat.jpg new file mode 100644 index 000000000..9de2eba97 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/12-ask-your-data-build-a-full-pipeline-to-get-generat.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/13-foundations-of-machine-learning-exploring-use-case.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/13-foundations-of-machine-learning-exploring-use-case.jpg new file mode 100644 index 000000000..7c44b6932 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/13-foundations-of-machine-learning-exploring-use-case.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/14-com-visualitzar-incertesa-i-models-probabilistics.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/14-com-visualitzar-incertesa-i-models-probabilistics.jpg new file mode 100644 index 000000000..a24758cef Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/14-com-visualitzar-incertesa-i-models-probabilistics.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/15-how-data-scientists-can-be-more-productive-with-th.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/15-how-data-scientists-can-be-more-productive-with-th.jpg new file mode 100644 index 000000000..93d072abd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/15-how-data-scientists-can-be-more-productive-with-th.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/16-python-models-and-alerts-within-dbt-with-dbt-fal-a.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/16-python-models-and-alerts-within-dbt-with-dbt-fal-a.jpg new file mode 100644 index 000000000..8008be42a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/16-python-models-and-alerts-within-dbt-with-dbt-fal-a.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/17-international-data-spaces-implementing-the-europea.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/17-international-data-spaces-implementing-the-europea.jpg new file mode 100644 index 000000000..086c036ee Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/17-international-data-spaces-implementing-the-europea.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/18-data-science-in-transport-modelling-by-monica-domi.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/18-data-science-in-transport-modelling-by-monica-domi.jpg new file mode 100644 index 000000000..b4ec9a9e7 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/18-data-science-in-transport-modelling-by-monica-domi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/19-serverless-machine-learning-streamlining-deploymen.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/19-serverless-machine-learning-streamlining-deploymen.jpg new file mode 100644 index 000000000..3d24ee2ae Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/19-serverless-machine-learning-streamlining-deploymen.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/20-bundling-a-python-app-in-a-single-file-ricardo-and.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/20-bundling-a-python-app-in-a-single-file-ricardo-and.jpg new file mode 100644 index 000000000..a064b3282 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/20-bundling-a-python-app-in-a-single-file-ricardo-and.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/21-the-workshops-and-talks-are-done-let-s-play-a-game.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/21-the-workshops-and-talks-are-done-let-s-play-a-game.jpg new file mode 100644 index 000000000..1b4368532 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/21-the-workshops-and-talks-are-done-let-s-play-a-game.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/22-the-best-programming-language-is.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/22-the-best-programming-language-is.jpg new file mode 100644 index 000000000..a88207051 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/22-the-best-programming-language-is.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/23-all-our-communications-are-written-by.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/23-all-our-communications-are-written-by.jpg new file mode 100644 index 000000000..f9108d09f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/23-all-our-communications-are-written-by.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/24-will-you-volunteer-at-the-next-event-sure-natalias.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/24-will-you-volunteer-at-the-next-event-sure-natalias.jpg new file mode 100644 index 000000000..b8441a1e4 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/24-will-you-volunteer-at-the-next-event-sure-natalias.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pydata-2023/25-nataliasirera-the-pydatabcn-2023-has-been-incredib.jpg b/themes/pybcn_theme/assets/images/photos/pydata-2023/25-nataliasirera-the-pydatabcn-2023-has-been-incredib.jpg new file mode 100644 index 000000000..fbc1c9e65 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pydata-2023/25-nataliasirera-the-pydatabcn-2023-has-been-incredib.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2016/01-we-are-starting-with-tensorflow.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2016/01-we-are-starting-with-tensorflow.jpg new file mode 100644 index 000000000..6ef151daa Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2016/01-we-are-starting-with-tensorflow.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2016/02-and-we-re-in-our-second-talk-already-radinamatic-i.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2016/02-and-we-re-in-our-second-talk-already-radinamatic-i.jpg new file mode 100644 index 000000000..79ce27bcb Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2016/02-and-we-re-in-our-second-talk-already-radinamatic-i.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2016/03-citybik-es-talk-at-pybcn-pydaybcn16-pydayes16.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2016/03-citybik-es-talk-at-pybcn-pydaybcn16-pydayes16.jpg new file mode 100644 index 000000000..958730b39 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2016/03-citybik-es-talk-at-pybcn-pydaybcn16-pydayes16.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2016/04-it-was-an-amazing-meetup-thanks-to-all-who-helped.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2016/04-it-was-an-amazing-meetup-thanks-to-all-who-helped.jpg new file mode 100644 index 000000000..e4ede45b7 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2016/04-it-was-an-amazing-meetup-thanks-to-all-who-helped.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/01-about-to-start-the-pydaybcn2018.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/01-about-to-start-the-pydaybcn2018.jpg new file mode 100644 index 000000000..d8db37393 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/01-about-to-start-the-pydaybcn2018.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/02-welcome-to-the-pydaybcn2018-lpmayos-is-explaining.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/02-welcome-to-the-pydaybcn2018-lpmayos-is-explaining.jpg new file mode 100644 index 000000000..fee234fdb Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/02-welcome-to-the-pydaybcn2018-lpmayos-is-explaining.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/03-full-room-the-100-tickets-were-over-in-less-than-t.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/03-full-room-the-100-tickets-were-over-in-less-than-t.jpg new file mode 100644 index 000000000..e6a629769 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/03-full-room-the-100-tickets-were-over-in-less-than-t.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/04-pybcn-went-from-17-to-3000-members-in-11-years-pyd.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/04-pybcn-went-from-17-to-3000-members-in-11-years-pyd.jpg new file mode 100644 index 000000000..cb325ee91 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/04-pybcn-went-from-17-to-3000-members-in-11-years-pyd.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/05-we-want-to-organize-more-activities-help-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/05-we-want-to-organize-more-activities-help-us.jpg new file mode 100644 index 000000000..8e7bc7cfd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/05-we-want-to-organize-more-activities-help-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/06-we-just-registered-an-association-seriousbusiness.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/06-we-just-registered-an-association-seriousbusiness.jpg new file mode 100644 index 000000000..1d16f942f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/06-we-just-registered-an-association-seriousbusiness.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/07-we-re-doing-a-code-tournament-with-prizes-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/07-we-re-doing-a-code-tournament-with-prizes-pydaybcn.jpg new file mode 100644 index 000000000..85372c5b2 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/07-we-re-doing-a-code-tournament-with-prizes-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/08-developing-a-small-application-with-git-ignasi-fos.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/08-developing-a-small-application-with-git-ignasi-fos.jpg new file mode 100644 index 000000000..5347af670 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/08-developing-a-small-application-with-git-ignasi-fos.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/09-introduction-to-pytorch-bartek-skorulski-pydaybcn2.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/09-introduction-to-pytorch-bartek-skorulski-pydaybcn2.jpg new file mode 100644 index 000000000..7e45de016 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/09-introduction-to-pytorch-bartek-skorulski-pydaybcn2.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/10-data-analysis-with-jupyter-notebook-pandas-and-plo.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/10-data-analysis-with-jupyter-notebook-pandas-and-plo.jpg new file mode 100644 index 000000000..100a4a86b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/10-data-analysis-with-jupyter-notebook-pandas-and-plo.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/11-mirror-mirror-on-the-wall-who-is-the-fairest-of-th.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/11-mirror-mirror-on-the-wall-who-is-the-fairest-of-th.jpg new file mode 100644 index 000000000..f0d349ddd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/11-mirror-mirror-on-the-wall-who-is-the-fairest-of-th.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/12-lunch-time-pydaybcn2018.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/12-lunch-time-pydaybcn2018.jpg new file mode 100644 index 000000000..7aaadfc8f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/12-lunch-time-pydaybcn2018.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/13-intro-to-nosql-db-with-pymongo-jordi-guix.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/13-intro-to-nosql-db-with-pymongo-jordi-guix.jpg new file mode 100644 index 000000000..5532a8d03 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/13-intro-to-nosql-db-with-pymongo-jordi-guix.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/14-python-and-elasticsearch-artur-mindiyarov.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/14-python-and-elasticsearch-artur-mindiyarov.jpg new file mode 100644 index 000000000..2d6ed7e0c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/14-python-and-elasticsearch-artur-mindiyarov.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/15-guillotina-data-framework-ramon-navarro-bosch-bloo.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/15-guillotina-data-framework-ramon-navarro-bosch-bloo.jpg new file mode 100644 index 000000000..da6b6e758 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/15-guillotina-data-framework-ramon-navarro-bosch-bloo.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2018/16-organizando-chistes-con-nlp-julio-martinez-liopic.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2018/16-organizando-chistes-con-nlp-julio-martinez-liopic.jpg new file mode 100644 index 000000000..194a6005a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2018/16-organizando-chistes-con-nlp-julio-martinez-liopic.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/01-the-pydaybcn-just-started-keynote-by-our-president.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/01-the-pydaybcn-just-started-keynote-by-our-president.jpg new file mode 100644 index 000000000..0e684d433 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/01-the-pydaybcn-just-started-keynote-by-our-president.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/03-python-barcelona-is-doing-lots-of-events.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/03-python-barcelona-is-doing-lots-of-events.jpg new file mode 100644 index 000000000..f012cf994 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/03-python-barcelona-is-doing-lots-of-events.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/04-this-is-us-the-social-media-guy.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/04-this-is-us-the-social-media-guy.jpg new file mode 100644 index 000000000..69fbf97de Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/04-this-is-us-the-social-media-guy.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/05-help-python-barcelona-send-a-proposal-become-a-mem.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/05-help-python-barcelona-send-a-proposal-become-a-mem.jpg new file mode 100644 index 000000000..3c0f3d1cb Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/05-help-python-barcelona-send-a-proposal-become-a-mem.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/06-introducing-the-djangogirlsbcn-event-by-ellaquimic.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/06-introducing-the-djangogirlsbcn-event-by-ellaquimic.jpg new file mode 100644 index 000000000..8991b0b44 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/06-introducing-the-djangogirlsbcn-event-by-ellaquimic.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/07-me-oh-no-a-g-balloon-is-broken-djangogirlsbcn-hold.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/07-me-oh-no-a-g-balloon-is-broken-djangogirlsbcn-hold.jpg new file mode 100644 index 000000000..29c9362a8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/07-me-oh-no-a-g-balloon-is-broken-djangogirlsbcn-hold.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/08-this-is-the-agenda-for-our-three-workshop-track.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/08-this-is-the-agenda-for-our-three-workshop-track.jpg new file mode 100644 index 000000000..299b31444 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/08-this-is-the-agenda-for-our-three-workshop-track.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/09-deep-learning-for-image-classification-using-tenso.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/09-deep-learning-for-image-classification-using-tenso.jpg new file mode 100644 index 000000000..8ff49498a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/09-deep-learning-for-image-classification-using-tenso.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/10-arquitectura-limpia-para-microservicios-un-caso-pr.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/10-arquitectura-limpia-para-microservicios-un-caso-pr.jpg new file mode 100644 index 000000000..5fa895a21 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/10-arquitectura-limpia-para-microservicios-un-caso-pr.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/11-keep-your-repo-clean-by-hectorcanto-dev-from-bluel.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/11-keep-your-repo-clean-by-hectorcanto-dev-from-bluel.jpg new file mode 100644 index 000000000..04c0939f5 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/11-keep-your-repo-clean-by-hectorcanto-dev-from-bluel.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/12-great-materials-on-our-djangogirls-track.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/12-great-materials-on-our-djangogirls-track.jpg new file mode 100644 index 000000000..707d5c26b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/12-great-materials-on-our-djangogirls-track.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/13-decoradores-en-evolucion.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/13-decoradores-en-evolucion.jpg new file mode 100644 index 000000000..26edebd12 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/13-decoradores-en-evolucion.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/14-refactoring-a-web-application-with-python.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/14-refactoring-a-web-application-with-python.jpg new file mode 100644 index 000000000..83e449dde Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/14-refactoring-a-web-application-with-python.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/15-thanks-codekiwicom-for-bringing-churros-con-chocol.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/15-thanks-codekiwicom-for-bringing-churros-con-chocol.jpg new file mode 100644 index 000000000..0b812586c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/15-thanks-codekiwicom-for-bringing-churros-con-chocol.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/16-building-interactive-data-visualizations-with-plot.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/16-building-interactive-data-visualizations-with-plot.jpg new file mode 100644 index 000000000..4dc4cbf1b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/16-building-interactive-data-visualizations-with-plot.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/17-sqlalchemy-from-0-to-proficient-by-bustawin.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/17-sqlalchemy-from-0-to-proficient-by-bustawin.jpg new file mode 100644 index 000000000..2a699fa06 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/17-sqlalchemy-from-0-to-proficient-by-bustawin.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/18-quick-data-exploration-with-jupyter-and-ipywidgets.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/18-quick-data-exploration-with-jupyter-and-ipywidgets.jpg new file mode 100644 index 000000000..49472e843 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/18-quick-data-exploration-with-jupyter-and-ipywidgets.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/19-thanks-codekiwicom-for-the-quiz-and-the-prizes-pyd.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/19-thanks-codekiwicom-for-the-quiz-and-the-prizes-pyd.jpg new file mode 100644 index 000000000..a2fb14198 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/19-thanks-codekiwicom-for-the-quiz-and-the-prizes-pyd.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/20-great-ending-keynote-from-dzpm-hey-is-that-a-napki.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/20-great-ending-keynote-from-dzpm-hey-is-that-a-napki.jpg new file mode 100644 index 000000000..698a12ffe Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/20-great-ending-keynote-from-dzpm-hey-is-that-a-napki.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2019/21-finally-our-gratitude-to-the-python-barcelona-comm.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2019/21-finally-our-gratitude-to-the-python-barcelona-comm.jpg new file mode 100644 index 000000000..a50cbb583 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2019/21-finally-our-gratitude-to-the-python-barcelona-comm.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/01-gooooood-morning-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/01-gooooood-morning-pydaybcn.jpg new file mode 100644 index 000000000..74334f024 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/01-gooooood-morning-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/02-kudos-to-our-organizing-team-lpmayos-nataliasirera.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/02-kudos-to-our-organizing-team-lpmayos-nataliasirera.jpg new file mode 100644 index 000000000..e14f5bba9 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/02-kudos-to-our-organizing-team-lpmayos-nataliasirera.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/03-thanks-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/03-thanks-for-sponsoring-us.jpg new file mode 100644 index 000000000..9898ecc03 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/03-thanks-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/04-build-a-chat-application-that-lets-you-speak-multi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/04-build-a-chat-application-that-lets-you-speak-multi.jpg new file mode 100644 index 000000000..af281ec10 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/04-build-a-chat-application-that-lets-you-speak-multi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/05-preplycom-building-the-cloud-with-python-getting-s.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/05-preplycom-building-the-cloud-with-python-getting-s.jpg new file mode 100644 index 000000000..f0332a391 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/05-preplycom-building-the-cloud-with-python-getting-s.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/06-implementing-your-api-with-fastapi-by-esperanza-bu.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/06-implementing-your-api-with-fastapi-by-esperanza-bu.jpg new file mode 100644 index 000000000..74faaad90 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/06-implementing-your-api-with-fastapi-by-esperanza-bu.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/07-how-to-create-data-apps-with-python-by-sergi-ortiz.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/07-how-to-create-data-apps-with-python-by-sergi-ortiz.jpg new file mode 100644 index 000000000..04bdbcb69 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/07-how-to-create-data-apps-with-python-by-sergi-ortiz.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/08-and-the-catering-for-the-coffee-break-is-ready.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/08-and-the-catering-for-the-coffee-break-is-ready.jpg new file mode 100644 index 000000000..5f078e0e7 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/08-and-the-catering-for-the-coffee-break-is-ready.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/09-yes-we-got-the-good-stuff.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/09-yes-we-got-the-good-stuff.jpg new file mode 100644 index 000000000..83f6ae093 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/09-yes-we-got-the-good-stuff.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/10-creating-cute-user-interfaces-in-python-with-qt-by.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/10-creating-cute-user-interfaces-in-python-with-qt-by.jpg new file mode 100644 index 000000000..1f2de0930 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/10-creating-cute-user-interfaces-in-python-with-qt-by.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/11-microservicios-en-la-vida-moderna-un-enfoque-pytho.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/11-microservicios-en-la-vida-moderna-un-enfoque-pytho.jpg new file mode 100644 index 000000000..9ee906051 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/11-microservicios-en-la-vida-moderna-un-enfoque-pytho.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/12-aydevosotros-qustodio-introduction-to-django-by-vi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/12-aydevosotros-qustodio-introduction-to-django-by-vi.jpg new file mode 100644 index 000000000..e0e9e4f93 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/12-aydevosotros-qustodio-introduction-to-django-by-vi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/13-vector-search-engines-with-python-from-embeddings.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/13-vector-search-engines-with-python-from-embeddings.jpg new file mode 100644 index 000000000..7e081aca3 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/13-vector-search-engines-with-python-from-embeddings.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/14-nice-limited-edition-pybcn-stickers.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/14-nice-limited-edition-pybcn-stickers.jpg new file mode 100644 index 000000000..d26be3172 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/14-nice-limited-edition-pybcn-stickers.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/15-remember-we-ll-take-the-group-photo-at-13h-in-the.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/15-remember-we-ll-take-the-group-photo-at-13h-in-the.jpg new file mode 100644 index 000000000..6887c77a8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/15-remember-we-ll-take-the-group-photo-at-13h-in-the.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/16-at-the-end-of-each-talk-please-use-the-post-its-to.png b/themes/pybcn_theme/assets/images/photos/pyday-2021/16-at-the-end-of-each-talk-please-use-the-post-its-to.png new file mode 100644 index 000000000..156811e18 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/16-at-the-end-of-each-talk-please-use-the-post-its-to.png differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/16-finally-thanks-to-everybody-who-helped-us-organize.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/16-finally-thanks-to-everybody-who-helped-us-organize.jpg new file mode 100644 index 000000000..b985d498e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/16-finally-thanks-to-everybody-who-helped-us-organize.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/17-warm-coffe.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/17-warm-coffe.jpg new file mode 100644 index 000000000..1f522a89e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/17-warm-coffe.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/18-save-some-pastries-for-our-guys-at-the-entrance.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/18-save-some-pastries-for-our-guys-at-the-entrance.jpg new file mode 100644 index 000000000..9dad9760e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/18-save-some-pastries-for-our-guys-at-the-entrance.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/19-causal-data-science-workshop-by-jordi-mur.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/19-causal-data-science-workshop-by-jordi-mur.jpg new file mode 100644 index 000000000..ce4774b96 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/19-causal-data-science-workshop-by-jordi-mur.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/20-making-mlops-uncool-again-by-david-de-la-iglesia-c.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/20-making-mlops-uncool-again-by-david-de-la-iglesia-c.jpg new file mode 100644 index 000000000..dddfd7a26 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/20-making-mlops-uncool-again-by-david-de-la-iglesia-c.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/21-daviddelachurch-how-to-beat-imposter-syndrome-conf.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/21-daviddelachurch-how-to-beat-imposter-syndrome-conf.jpg new file mode 100644 index 000000000..67cfbdef7 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/21-daviddelachurch-how-to-beat-imposter-syndrome-conf.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/22-daviddelachurch-onnahq-building-a-dag-factory-by-a.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/22-daviddelachurch-onnahq-building-a-dag-factory-by-a.jpg new file mode 100644 index 000000000..dc95f001e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/22-daviddelachurch-onnahq-building-a-dag-factory-by-a.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/23-burnout-paradise-buenas-practicas-para-evitar-el-b.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/23-burnout-paradise-buenas-practicas-para-evitar-el-b.jpg new file mode 100644 index 000000000..97a8df34f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/23-burnout-paradise-buenas-practicas-para-evitar-el-b.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/24-sander-pm-hybridtheory-gl-yes-the-lunch-was-delici.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/24-sander-pm-hybridtheory-gl-yes-the-lunch-was-delici.jpg new file mode 100644 index 000000000..78858dc0d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/24-sander-pm-hybridtheory-gl-yes-the-lunch-was-delici.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/25-say-cheese.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/25-say-cheese.jpg new file mode 100644 index 000000000..551de3efd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/25-say-cheese.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/26-build-a-machine-learning-iot-device-running-python.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/26-build-a-machine-learning-iot-device-running-python.jpg new file mode 100644 index 000000000..fbd0def5a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/26-build-a-machine-learning-iot-device-running-python.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/27-the-moons-of-jupyter-widgets-ecosystem-by-mariana.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/27-the-moons-of-jupyter-widgets-ecosystem-by-mariana.jpg new file mode 100644 index 000000000..435d42d12 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/27-the-moons-of-jupyter-widgets-ecosystem-by-mariana.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/28-signal-processing-from-neurons-to-mars-by-vivek-sh.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/28-signal-processing-from-neurons-to-mars-by-vivek-sh.jpg new file mode 100644 index 000000000..68cde7a89 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/28-signal-processing-from-neurons-to-mars-by-vivek-sh.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/29-keeping-sync-between-datasets-with-diffsync-by-chr.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/29-keeping-sync-between-datasets-with-diffsync-by-chr.jpg new file mode 100644 index 000000000..5a6888c65 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/29-keeping-sync-between-datasets-with-diffsync-by-chr.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2021/30-chadell0-hey-david-hurry-up-and-finish-doing-the-k.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2021/30-chadell0-hey-david-hurry-up-and-finish-doing-the-k.jpg new file mode 100644 index 000000000..145f8a0ef Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2021/30-chadell0-hey-david-hurry-up-and-finish-doing-the-k.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/01-welcome-to-the-pydaybcn-our-president-lpmayos-is-d.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/01-welcome-to-the-pydaybcn-our-president-lpmayos-is-d.jpg new file mode 100644 index 000000000..7e0549230 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/01-welcome-to-the-pydaybcn-our-president-lpmayos-is-d.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/02-our-association-is-run-by-volunteers-we-need-your.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/02-our-association-is-run-by-volunteers-we-need-your.jpg new file mode 100644 index 000000000..02295e7a4 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/02-our-association-is-run-by-volunteers-we-need-your.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/03-companies-are-welcome-too-we-need-your-venues-and.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/03-companies-are-welcome-too-we-need-your-venues-and.jpg new file mode 100644 index 000000000..14662b964 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/03-companies-are-welcome-too-we-need-your-venues-and.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/04-today-we-ll-have-3-tracks-pf-workshops-2-lightning.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/04-today-we-ll-have-3-tracks-pf-workshops-2-lightning.jpg new file mode 100644 index 000000000..2e133ebb3 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/04-today-we-ll-have-3-tracks-pf-workshops-2-lightning.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/05-machine-learning-en-produccion-experimentos-con-ve.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/05-machine-learning-en-produccion-experimentos-con-ve.jpg new file mode 100644 index 000000000..6f3e5413a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/05-machine-learning-en-produccion-experimentos-con-ve.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/06-friendly-fuzzing-for-your-python-saas-applications.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/06-friendly-fuzzing-for-your-python-saas-applications.jpg new file mode 100644 index 000000000..80fbcb171 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/06-friendly-fuzzing-for-your-python-saas-applications.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/07-how-many-ants-can-carry-an-elephant-pushing-the-li.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/07-how-many-ants-can-carry-an-elephant-pushing-the-li.jpg new file mode 100644 index 000000000..abcddee37 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/07-how-many-ants-can-carry-an-elephant-pushing-the-li.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/08-build-air-quality-sensors-with-python-and-choose-y.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/08-build-air-quality-sensors-with-python-and-choose-y.jpg new file mode 100644 index 000000000..12cdca156 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/08-build-air-quality-sensors-with-python-and-choose-y.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/09-build-a-full-stack-app-with-flask-and-vue-by-eva-m.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/09-build-a-full-stack-app-with-flask-and-vue-by-eva-m.jpg new file mode 100644 index 000000000..228b31113 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/09-build-a-full-stack-app-with-flask-and-vue-by-eva-m.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/10-python-as-a-gis-tools-howtos-and-gotchas-by-biel-s.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/10-python-as-a-gis-tools-howtos-and-gotchas-by-biel-s.jpg new file mode 100644 index 000000000..52b16a1c5 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/10-python-as-a-gis-tools-howtos-and-gotchas-by-biel-s.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/11-pyton-chupito.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/11-pyton-chupito.jpg new file mode 100644 index 000000000..3dc0d784e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/11-pyton-chupito.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/12-had-a-great-lunch.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/12-had-a-great-lunch.jpg new file mode 100644 index 000000000..98c71177b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/12-had-a-great-lunch.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/13-building-an-end-to-end-open-source-modern-data-pla.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/13-building-an-end-to-end-open-source-modern-data-pla.jpg new file mode 100644 index 000000000..8fd669342 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/13-building-an-end-to-end-open-source-modern-data-pla.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/14-cuando-los-precios-suben-scrapy-by-jimena-escobar.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/14-cuando-los-precios-suben-scrapy-by-jimena-escobar.jpg new file mode 100644 index 000000000..4a885b2fc Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/14-cuando-los-precios-suben-scrapy-by-jimena-escobar.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/15-inside-out-or-how-to-get-your-app-observable-by-an.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/15-inside-out-or-how-to-get-your-app-observable-by-an.jpg new file mode 100644 index 000000000..e4f0a6ffd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/15-inside-out-or-how-to-get-your-app-observable-by-an.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/16-lightning-talks-amp-coffee.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/16-lightning-talks-amp-coffee.jpg new file mode 100644 index 000000000..1c64cffb0 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/16-lightning-talks-amp-coffee.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/17-very-interesting-lightning-talks-we-astropy.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/17-very-interesting-lightning-talks-we-astropy.jpg new file mode 100644 index 000000000..aea2f4562 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/17-very-interesting-lightning-talks-we-astropy.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/18-making-sense-of-your-data-platform-with-openmetada.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/18-making-sense-of-your-data-platform-with-openmetada.jpg new file mode 100644 index 000000000..cf424856b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/18-making-sense-of-your-data-platform-with-openmetada.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/19-tdd-coding-dojo-by-ana-eliza-barbosa.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/19-tdd-coding-dojo-by-ana-eliza-barbosa.jpg new file mode 100644 index 000000000..98855bd34 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/19-tdd-coding-dojo-by-ana-eliza-barbosa.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/20-using-numba-effectively-today-by-cheuk-ting-ho-che.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/20-using-numba-effectively-today-by-cheuk-ting-ho-che.jpg new file mode 100644 index 000000000..aedb0866d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/20-using-numba-effectively-today-by-cheuk-ting-ho-che.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/21-thank-you-thisiscloudblue-for-sponsoring-the-pyday.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/21-thank-you-thisiscloudblue-for-sponsoring-the-pyday.jpg new file mode 100644 index 000000000..751f81c65 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/21-thank-you-thisiscloudblue-for-sponsoring-the-pyday.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/22-thank-you-qustodio-for-sponsoring-the-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/22-thank-you-qustodio-for-sponsoring-the-pydaybcn.jpg new file mode 100644 index 000000000..918da4485 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/22-thank-you-qustodio-for-sponsoring-the-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/23-thank-you-insideveriff-for-sponsoring-the-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/23-thank-you-insideveriff-for-sponsoring-the-pydaybcn.jpg new file mode 100644 index 000000000..6d0fe20f5 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/23-thank-you-insideveriff-for-sponsoring-the-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/24-thank-you-roverdotcom-es-for-sponsoring-the-pydayb.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/24-thank-you-roverdotcom-es-for-sponsoring-the-pydayb.jpg new file mode 100644 index 000000000..bedad2280 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/24-thank-you-roverdotcom-es-for-sponsoring-the-pydayb.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/25-thank-you-apsl-web-for-sponsoring-the-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/25-thank-you-apsl-web-for-sponsoring-the-pydaybcn.jpg new file mode 100644 index 000000000..bdc9a08e8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/25-thank-you-apsl-web-for-sponsoring-the-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/26-now-the-second-bunch-of-lightning-talks-and-the-fi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/26-now-the-second-bunch-of-lightning-talks-and-the-fi.jpg new file mode 100644 index 000000000..b4de96953 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/26-now-the-second-bunch-of-lightning-talks-and-the-fi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/27-let-s-trash-the-regular-expressions.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/27-let-s-trash-the-regular-expressions.jpg new file mode 100644 index 000000000..c68649a85 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/27-let-s-trash-the-regular-expressions.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/28-optimal-binning-using-python.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/28-optimal-binning-using-python.jpg new file mode 100644 index 000000000..d528012d6 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/28-optimal-binning-using-python.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/29-quiz.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/29-quiz.jpg new file mode 100644 index 000000000..eb526987b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/29-quiz.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/30-thank-you-lpmayos-nataliasirera-sianna-and-mochi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/30-thank-you-lpmayos-nataliasirera-sianna-and-mochi.jpg new file mode 100644 index 000000000..697b1c414 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/30-thank-you-lpmayos-nataliasirera-sianna-and-mochi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/31-the-winners.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/31-the-winners.jpg new file mode 100644 index 000000000..4deb8e812 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/31-the-winners.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2022/32-thank-you-all-for-attending-the-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2022/32-thank-you-all-for-attending-the-pydaybcn.jpg new file mode 100644 index 000000000..8c103191a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2022/32-thank-you-all-for-attending-the-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/01-welcome-to-the-pydaybcn-2023-https-pybcn-org-event.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/01-welcome-to-the-pydaybcn-2023-https-pybcn-org-event.jpg new file mode 100644 index 000000000..3e97d7aab Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/01-welcome-to-the-pydaybcn-2023-https-pybcn-org-event.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/02-pydaybcn-is-an-event-full-of-free-python-related-w.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/02-pydaybcn-is-an-event-full-of-free-python-related-w.jpg new file mode 100644 index 000000000..8b17ddbf5 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/02-pydaybcn-is-an-event-full-of-free-python-related-w.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/03-introduction-to-neural-networks-with-pytorch-by-no.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/03-introduction-to-neural-networks-with-pytorch-by-no.jpg new file mode 100644 index 000000000..b3e30a561 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/03-introduction-to-neural-networks-with-pytorch-by-no.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/04-quantum-computing-for-everyone-by-vyron-vasileiadi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/04-quantum-computing-for-everyone-by-vyron-vasileiadi.jpg new file mode 100644 index 000000000..a1c53f4f1 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/04-quantum-computing-for-everyone-by-vyron-vasileiadi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/05-automating-networks-with-nornir-by-christian-adell.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/05-automating-networks-with-nornir-by-christian-adell.jpg new file mode 100644 index 000000000..9c1ea208f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/05-automating-networks-with-nornir-by-christian-adell.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/06-introduction-to-artificial-emotional-intelligence.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/06-introduction-to-artificial-emotional-intelligence.jpg new file mode 100644 index 000000000..3e3dcfed8 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/06-introduction-to-artificial-emotional-intelligence.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/07-quantum-breakthrough-from-basic-quantum-algorithms.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/07-quantum-breakthrough-from-basic-quantum-algorithms.jpg new file mode 100644 index 000000000..42a09f5e2 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/07-quantum-breakthrough-from-basic-quantum-algorithms.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/08-python-packaging-101-by-ferran-jovell.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/08-python-packaging-101-by-ferran-jovell.jpg new file mode 100644 index 000000000..0741449cb Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/08-python-packaging-101-by-ferran-jovell.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/09-had-a-great-lunch-break-thanks-sponsors.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/09-had-a-great-lunch-break-thanks-sponsors.jpg new file mode 100644 index 000000000..e93d8bc73 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/09-had-a-great-lunch-break-thanks-sponsors.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/10-creating-virtual-worlds-generating-synthetic-data.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/10-creating-virtual-worlds-generating-synthetic-data.jpg new file mode 100644 index 000000000..1fdef30e1 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/10-creating-virtual-worlds-generating-synthetic-data.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/11-creacion-de-apis-con-python-y-manejo-de-datos-by-d.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/11-creacion-de-apis-con-python-y-manejo-de-datos-by-d.jpg new file mode 100644 index 000000000..d60bbe695 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/11-creacion-de-apis-con-python-y-manejo-de-datos-by-d.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/12-create-a-personal-website-with-sphinx-by-oriol-abr.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/12-create-a-personal-website-with-sphinx-by-oriol-abr.jpg new file mode 100644 index 000000000..790e7c060 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/12-create-a-personal-website-with-sphinx-by-oriol-abr.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/13-retrieval-augmented-generation-from-scratch-by-gab.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/13-retrieval-augmented-generation-from-scratch-by-gab.jpg new file mode 100644 index 000000000..c7d9e0688 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/13-retrieval-augmented-generation-from-scratch-by-gab.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/14-gabimaeztu-iomed-ehr-mojo-el-poderoso-aliado-de-py.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/14-gabimaeztu-iomed-ehr-mojo-el-poderoso-aliado-de-py.jpg new file mode 100644 index 000000000..5958760ad Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/14-gabimaeztu-iomed-ehr-mojo-el-poderoso-aliado-de-py.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/15-gabimaeztu-iomed-ehr-mob-programming-solving-codin.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/15-gabimaeztu-iomed-ehr-mob-programming-solving-codin.jpg new file mode 100644 index 000000000..ace621610 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/15-gabimaeztu-iomed-ehr-mob-programming-solving-codin.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/16-data-visualization-using-blender-by-muhammad-usman.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/16-data-visualization-using-blender-by-muhammad-usman.jpg new file mode 100644 index 000000000..aa1343905 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/16-data-visualization-using-blender-by-muhammad-usman.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/17-writing-code-is-not-your-job-thoughts-on-data-scie.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/17-writing-code-is-not-your-job-thoughts-on-data-scie.jpg new file mode 100644 index 000000000..ceebffc31 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/17-writing-code-is-not-your-job-thoughts-on-data-scie.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/18-pycamp-2024-by-israel-saeta.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/18-pycamp-2024-by-israel-saeta.jpg new file mode 100644 index 000000000..178631e3a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/18-pycamp-2024-by-israel-saeta.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/19-demystifying-llm-deployments-in-aws-sagemaker-by-g.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/19-demystifying-llm-deployments-in-aws-sagemaker-by-g.jpg new file mode 100644 index 000000000..c25d203c7 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/19-demystifying-llm-deployments-in-aws-sagemaker-by-g.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/20-step4ward-empowering-women-in-tech-by-susana-vazqu.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/20-step4ward-empowering-women-in-tech-by-susana-vazqu.jpg new file mode 100644 index 000000000..2f842d186 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/20-step4ward-empowering-women-in-tech-by-susana-vazqu.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/21-common-security-vulnerabilities-for-developers-by.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/21-common-security-vulnerabilities-for-developers-by.jpg new file mode 100644 index 000000000..2be6bf0b9 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/21-common-security-vulnerabilities-for-developers-by.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/22-machine-learning-for-time-series-analysis-in-the-c.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/22-machine-learning-for-time-series-analysis-in-the-c.jpg new file mode 100644 index 000000000..2d5b3232c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/22-machine-learning-for-time-series-analysis-in-the-c.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/23-how-to-support-the-python-open-source-ecosytem-by.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/23-how-to-support-the-python-open-source-ecosytem-by.jpg new file mode 100644 index 000000000..51d9edd0c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/23-how-to-support-the-python-open-source-ecosytem-by.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/24-tinymem-a-game-under-40-lines-and-under-30mm-by-is.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/24-tinymem-a-game-under-40-lines-and-under-30mm-by-is.jpg new file mode 100644 index 000000000..45bc02835 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/24-tinymem-a-game-under-40-lines-and-under-30mm-by-is.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/25-thank-you-all-for-sponsoring-speaking-organizing-a.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/25-thank-you-all-for-sponsoring-speaking-organizing-a.jpg new file mode 100644 index 000000000..5ee5ea9ce Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/25-thank-you-all-for-sponsoring-speaking-organizing-a.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/26-let-s-play-a-game.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/26-let-s-play-a-game.jpg new file mode 100644 index 000000000..11ea394a2 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/26-let-s-play-a-game.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/27-congratulations-to-the-winners.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/27-congratulations-to-the-winners.jpg new file mode 100644 index 000000000..43da4d88a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/27-congratulations-to-the-winners.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/28-thanks-qustodio-qustodio-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/28-thanks-qustodio-qustodio-for-sponsoring-us.jpg new file mode 100644 index 000000000..cf1aacc22 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/28-thanks-qustodio-qustodio-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/29-thanks-travelperk-travelperk-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/29-thanks-travelperk-travelperk-for-sponsoring-us.jpg new file mode 100644 index 000000000..db54aa8a0 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/29-thanks-travelperk-travelperk-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/30-thanks-iomed-iomed-ehr-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/30-thanks-iomed-iomed-ehr-for-sponsoring-us.jpg new file mode 100644 index 000000000..79f6c905d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/30-thanks-iomed-iomed-ehr-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/31-thanks-flanks-flanks-io-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/31-thanks-flanks-flanks-io-for-sponsoring-us.jpg new file mode 100644 index 000000000..f25e43557 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/31-thanks-flanks-flanks-io-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/32-thanks-preply-preplycom-for-sponsoring-us.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/32-thanks-preply-preplycom-for-sponsoring-us.jpg new file mode 100644 index 000000000..b9f70bd7a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/32-thanks-preply-preplycom-for-sponsoring-us.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2023/33-thank-you-for-the-pydaybcn.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2023/33-thank-you-for-the-pydaybcn.jpg new file mode 100644 index 000000000..6e7ad4590 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2023/33-thank-you-for-the-pydaybcn.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/01-thanks-for-attending-the-pydaybcn-2024-see-you-nex.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/01-thanks-for-attending-the-pydaybcn-2024-see-you-nex.jpg new file mode 100644 index 000000000..6dd02f517 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/01-thanks-for-attending-the-pydaybcn-2024-see-you-nex.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/01-today-we-re-celebrating-the-pydaybcn-welcome-pleas.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/01-today-we-re-celebrating-the-pydaybcn-welcome-pleas.jpg new file mode 100644 index 000000000..f4d2a5576 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/01-today-we-re-celebrating-the-pydaybcn-welcome-pleas.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/02-unboxing-machine-learning-models-predicting-with-n.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/02-unboxing-machine-learning-models-predicting-with-n.jpg new file mode 100644 index 000000000..69eab9069 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/02-unboxing-machine-learning-models-predicting-with-n.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/03-discovering-etl-testing-essential-for-your-ai-solu.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/03-discovering-etl-testing-essential-for-your-ai-solu.jpg new file mode 100644 index 000000000..cdf407e00 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/03-discovering-etl-testing-essential-for-your-ai-solu.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/04-izi-record-revolutionizing-the-camera-app-by-ferra.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/04-izi-record-revolutionizing-the-camera-app-by-ferra.jpg new file mode 100644 index 000000000..c8baecca9 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/04-izi-record-revolutionizing-the-camera-app-by-ferra.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/05-mrswats-a-solution-to-store-catalog-and-visualize.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/05-mrswats-a-solution-to-store-catalog-and-visualize.jpg new file mode 100644 index 000000000..370327e2d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/05-mrswats-a-solution-to-store-catalog-and-visualize.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/06-mrswats-image-generation-with-ai-gans-and-diffusio.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/06-mrswats-image-generation-with-ai-gans-and-diffusio.jpg new file mode 100644 index 000000000..cb01c1330 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/06-mrswats-image-generation-with-ai-gans-and-diffusio.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/07-introduccio-a-xarray-etiqueta-les-teves-dades-n-di.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/07-introduccio-a-xarray-etiqueta-les-teves-dades-n-di.jpg new file mode 100644 index 000000000..6e88ef41b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/07-introduccio-a-xarray-etiqueta-les-teves-dades-n-di.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/08-static-typing-in-python-by-alex-molas.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/08-static-typing-in-python-by-alex-molas.jpg new file mode 100644 index 000000000..a867fd5ee Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/08-static-typing-in-python-by-alex-molas.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/09-building-data-pipelines-with-sqlmesh-by-marc-ramir.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/09-building-data-pipelines-with-sqlmesh-by-marc-ramir.jpg new file mode 100644 index 000000000..1637c32a3 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/09-building-data-pipelines-with-sqlmesh-by-marc-ramir.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/10-la-rosalia-unveiled-decoding-her-lyrics-with-ai-by.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/10-la-rosalia-unveiled-decoding-her-lyrics-with-ai-by.jpg new file mode 100644 index 000000000..d5fc0d83e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/10-la-rosalia-unveiled-decoding-her-lyrics-with-ai-by.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/11-a-kingdom-above-the-clouds-how-far-can-you-go-on-a.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/11-a-kingdom-above-the-clouds-how-far-can-you-go-on-a.jpg new file mode 100644 index 000000000..e985d33ad Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/11-a-kingdom-above-the-clouds-how-far-can-you-go-on-a.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/12-a-deep-dive-into-the-arrow-columnar-format-with-py.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/12-a-deep-dive-into-the-arrow-columnar-format-with-py.jpg new file mode 100644 index 000000000..2a01a6cbc Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/12-a-deep-dive-into-the-arrow-columnar-format-with-py.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/13-polars-procesando-datos-a-la-velocidad-de-la-luz-c.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/13-polars-procesando-datos-a-la-velocidad-de-la-luz-c.jpg new file mode 100644 index 000000000..a12880ae5 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/13-polars-procesando-datos-a-la-velocidad-de-la-luz-c.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/14-evita-bugs-amb-pre-commit-by-carles-julia-chaosct.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/14-evita-bugs-amb-pre-commit-by-carles-julia-chaosct.jpg new file mode 100644 index 000000000..98218dd55 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/14-evita-bugs-amb-pre-commit-by-carles-julia-chaosct.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/15-chaosct-predict-gender-equality-with-your-own-mach.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/15-chaosct-predict-gender-equality-with-your-own-mach.jpg new file mode 100644 index 000000000..616696c89 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/15-chaosct-predict-gender-equality-with-your-own-mach.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/16-chaosct-l-embolic-videojuegos-hechos-en-el-fronten.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/16-chaosct-l-embolic-videojuegos-hechos-en-el-fronten.jpg new file mode 100644 index 000000000..9050665f1 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/16-chaosct-l-embolic-videojuegos-hechos-en-el-fronten.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/17-chaosct-jimena-y-yo-open-source-databases-python-d.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/17-chaosct-jimena-y-yo-open-source-databases-python-d.jpg new file mode 100644 index 000000000..c06b70a0c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/17-chaosct-jimena-y-yo-open-source-databases-python-d.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/18-automate-end-to-end-mlflow-with-kestra-and-mlflow.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/18-automate-end-to-end-mlflow-with-kestra-and-mlflow.jpg new file mode 100644 index 000000000..551ebbfec Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/18-automate-end-to-end-mlflow-with-kestra-and-mlflow.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/19-la-iniciativa-scientific-python-by-oriol-abril-pla.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/19-la-iniciativa-scientific-python-by-oriol-abril-pla.jpg new file mode 100644 index 000000000..4d6595882 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/19-la-iniciativa-scientific-python-by-oriol-abril-pla.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/20-drugscope-a-ml-based-platform-for-drug-discovery-b.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/20-drugscope-a-ml-based-platform-for-drug-discovery-b.jpg new file mode 100644 index 000000000..6f55490fe Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/20-drugscope-a-ml-based-platform-for-drug-discovery-b.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/21-can-llms-power-product-recommendations-by-babaniyi.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/21-can-llms-power-product-recommendations-by-babaniyi.jpg new file mode 100644 index 000000000..251e2b82d Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/21-can-llms-power-product-recommendations-by-babaniyi.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2024/22-pixel2mechanics-automated-biomechanical-simulation.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2024/22-pixel2mechanics-automated-biomechanical-simulation.jpg new file mode 100644 index 000000000..da328192e Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2024/22-pixel2mechanics-automated-biomechanical-simulation.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/01-18-years-since-our-first-meetup-https-www-meetup-c.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/01-18-years-since-our-first-meetup-https-www-meetup-c.jpg new file mode 100644 index 000000000..873e90ebf Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/01-18-years-since-our-first-meetup-https-www-meetup-c.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/02-the-pydaybcn-2025-was-a-success-140-attendants-16.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/02-the-pydaybcn-2025-was-a-success-140-attendants-16.jpg new file mode 100644 index 000000000..03ed3003c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/02-the-pydaybcn-2025-was-a-success-140-attendants-16.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/02-today-we-re-celebrating-the-pydaybcn-2025.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/02-today-we-re-celebrating-the-pydaybcn-2025.jpg new file mode 100644 index 000000000..de46cb8dd Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/02-today-we-re-celebrating-the-pydaybcn-2025.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/03-welcome-to-the-pyday-please-grab-your-lanyard.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/03-welcome-to-the-pyday-please-grab-your-lanyard.jpg new file mode 100644 index 000000000..1090a3f8f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/03-welcome-to-the-pyday-please-grab-your-lanyard.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/04-build-advanced-agentic-llm-apps-with-langgraph-and.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/04-build-advanced-agentic-llm-apps-with-langgraph-and.jpg new file mode 100644 index 000000000..9792d7116 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/04-build-advanced-agentic-llm-apps-with-langgraph-and.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/05-from-zero-to-chatbot-create-your-own-ai-assistant.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/05-from-zero-to-chatbot-create-your-own-ai-assistant.jpg new file mode 100644 index 000000000..82efef67a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/05-from-zero-to-chatbot-create-your-own-ai-assistant.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/06-introduction-to-analog-quantum-computing-by-natali.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/06-introduction-to-analog-quantum-computing-by-natali.jpg new file mode 100644 index 000000000..ece3d9950 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/06-introduction-to-analog-quantum-computing-by-natali.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/07-testeando-api-s-like-a-boss-con-bdd-javier-ramos-p.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/07-testeando-api-s-like-a-boss-con-bdd-javier-ramos-p.jpg new file mode 100644 index 000000000..e7e120d2f Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/07-testeando-api-s-like-a-boss-con-bdd-javier-ramos-p.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/08-del-texto-al-dato-como-entienden-las-maquinas-el-l.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/08-del-texto-al-dato-como-entienden-las-maquinas-el-l.jpg new file mode 100644 index 000000000..1f65031d4 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/08-del-texto-al-dato-como-entienden-las-maquinas-el-l.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/09-crea-un-agente-llm-desde-cero-sin-frameworks-by-ri.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/09-crea-un-agente-llm-desde-cero-sin-frameworks-by-ri.jpg new file mode 100644 index 000000000..ba5558f15 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/09-crea-un-agente-llm-desde-cero-sin-frameworks-by-ri.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/10-building-multi-agent-system-with-pydantic-ai-by-al.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/10-building-multi-agent-system-with-pydantic-ai-by-al.jpg new file mode 100644 index 000000000..ae6781aaa Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/10-building-multi-agent-system-with-pydantic-ai-by-al.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/11-mastering-word-automation-with-python-by-jordi-bos.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/11-mastering-word-automation-with-python-by-jordi-bos.jpg new file mode 100644 index 000000000..fb7adec96 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/11-mastering-word-automation-with-python-by-jordi-bos.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/12-lunch.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/12-lunch.jpg new file mode 100644 index 000000000..697d78f6a Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/12-lunch.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/13-keywords-bm25-y-vectores-construyendo-un-buscador.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/13-keywords-bm25-y-vectores-construyendo-un-buscador.jpg new file mode 100644 index 000000000..067d0e69b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/13-keywords-bm25-y-vectores-construyendo-un-buscador.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/14-del-desorden-visual-al-significado-una-aventura-co.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/14-del-desorden-visual-al-significado-una-aventura-co.jpg new file mode 100644 index 000000000..33fd92434 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/14-del-desorden-visual-al-significado-una-aventura-co.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/15-house-controlled-by-ai-what-could-go-wrong-by-kema.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/15-house-controlled-by-ai-what-could-go-wrong-by-kema.jpg new file mode 100644 index 000000000..697a1b5cc Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/15-house-controlled-by-ai-what-could-go-wrong-by-kema.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/16-models-de-regressio-bayesians-by-oriol-abril.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/16-models-de-regressio-bayesians-by-oriol-abril.jpg new file mode 100644 index 000000000..1a39004f3 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/16-models-de-regressio-bayesians-by-oriol-abril.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/17-agentes-inteligentes-que-evolucionan-software-auto.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/17-agentes-inteligentes-que-evolucionan-software-auto.jpg new file mode 100644 index 000000000..93d7dbe40 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/17-agentes-inteligentes-que-evolucionan-software-auto.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/18-fabric-en-accion-conectando-bloques-datos-y-magia.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/18-fabric-en-accion-conectando-bloques-datos-y-magia.jpg new file mode 100644 index 000000000..28879dc9b Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/18-fabric-en-accion-conectando-bloques-datos-y-magia.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/19-htmx-a-love-story-between-a-backend-dev-and-a-fron.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/19-htmx-a-love-story-between-a-backend-dev-and-a-fron.jpg new file mode 100644 index 000000000..bd0b8186c Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/19-htmx-a-love-story-between-a-backend-dev-and-a-fron.jpg differ diff --git a/themes/pybcn_theme/assets/images/photos/pyday-2025/20-causal-inference-a-brief-introduction-by-ubaldo-he.jpg b/themes/pybcn_theme/assets/images/photos/pyday-2025/20-causal-inference-a-brief-introduction-by-ubaldo-he.jpg new file mode 100644 index 000000000..79a36b715 Binary files /dev/null and b/themes/pybcn_theme/assets/images/photos/pyday-2025/20-causal-inference-a-brief-introduction-by-ubaldo-he.jpg differ diff --git a/themes/pybcn_theme/assets/scss/people_page.scss b/themes/pybcn_theme/assets/scss/people_page.scss index 78e77e1df..12828cf03 100644 --- a/themes/pybcn_theme/assets/scss/people_page.scss +++ b/themes/pybcn_theme/assets/scss/people_page.scss @@ -84,9 +84,16 @@ font-size: 5rem; } + // The Bio and the social links, each a block under its h2, beside + // the portrait. The last block drops its bottom margin: the header + // sets the gap to what follows. .person_page_facts { flex: 1 1 16rem; min-width: 0; + + .person_block:last-child { + margin-bottom: 0; + } } // The social links beside the portrait (partials/person_links.html): @@ -103,7 +110,7 @@ row-gap: 0.4rem; list-style: none; padding-left: 0; - margin: 0 0 0.8rem; + margin: 0; li { position: relative; @@ -148,22 +155,6 @@ } } - // The sentence under the links: the roles, "at", and the number of - // events, the words of the row of /people/, muted like the credit - // line of a talk page and one step larger than body text, because it - // carries most of what a reader came for on a page that may hold - // little else. The count is in the colour of the text, so the number - // stands out of the grey line. - .person_role_line { - font-size: 1.15rem; - color: #51616e; - margin-bottom: 0; - - strong { - color: #212529; - } - } - // Each block gets the same air under its heading, and the h2 is the // size of the h2 of the rest of the site, as on the talk and meetup // pages. Both kinds of block, the page's own and the three lists. diff --git a/themes/pybcn_theme/assets/scss/photo_gallery.scss b/themes/pybcn_theme/assets/scss/photo_gallery.scss new file mode 100644 index 000000000..0dc5f0b7d --- /dev/null +++ b/themes/pybcn_theme/assets/scss/photo_gallery.scss @@ -0,0 +1,270 @@ +// The photo gallery of an event day: see +// partials/photo_gallery.html. One column, the photos one after another at +// the width of the text column, each caption under its own photo. +// +// Nothing here is positioned, and no text sits on an image. The carousel +// does that (.carousel-caption over the slide, see carousel.scss), and it +// works there because a hero slide is chosen to carry a line of text over +// it. These photos were not: a caption is a sentence from the post, long +// enough to wrap, and over the picture it is unreadable and it covers the +// part of the photo it talks about. + +// The rule down the left of a caption. Light enough to stay in the +// background of the card, since it carries no information a reader needs to +// see: the blockquote is what says the caption is a quotation. +$quote-rule: #ced4da; + +// The cap on the height of a photograph, in the gallery and on the page of +// a talk. The column is 900px on a large window, and a portrait at 900px +// wide is 1600px tall, which is taller than any window. 675px is 900 times +// 3/4: the height of a 4:3 landscape at the width of the column, the most +// common frame of a camera, so a 4:3 landscape fills the column and nothing +// is taller than it. Measured over the 276 photographs of the archive on +// 2026-10-14: 228 of the 251 landscapes are 4:3 or wider and keep their +// size, the 23 taller ones, 6 of them square to the pixel, come down to +// 675px, and so do the 10 squares and the 15 portraits, which David Arcos +// asked for ("limite de alto, para que las fotos verticales no salgan +// demasiado grandes"). On a 390px phone the card is 358px wide and a +// portrait 636px tall, under the cap, so nothing changes there. Measured +// in Chromium on the first and the twenty-first photo of PyDay BCN 2022: +// 900x506 and 379x675 at 1280px, 358x201 and 358x636 at 390px. +$photo-max-height: 675px; + +// The rule above the gallery, and the air above that. The gallery is the last +// section of an event page, after the sponsors and the people of the day, and +// it holds what the association published once the day was over. The rule +// and the gap are what say so to a reader who is scrolling: three sections +// of a programme in a row, and then something that is not one. +// +// There is no band of colour behind the section any more. The gallery sat on +// a light grey band, with every card on it, until David Arcos asked for a box +// per item on 2026-10-14 ("ahora están todos en una caja gris"): each figure +// is its own card, the border and the white body of the Bootstrap 4 card, on +// the white of the page, and the air between the cards is what separates +// them. The gap above and below the thread link is in .photo_thread. +.gallery_rule { + margin-top: 4rem; + margin-bottom: 0; +} + +.photo_gallery { + // The gallery is the last section and it is set apart from the + // programme, so it does not have to sit inside the reading column the + // text uses. Breaking out of it gives a photograph 900px instead of + // 775px, measured at the 1140px container of this theme: the section is + // 902px, and the 1px border of the card on each side leaves 900 for the + // photograph. The section was 950px with 1.5rem of padding each side + // while it was a band; the padding went with the band, and the width + // came down by the same 48px so the photograph kept its 900. + // + // 900 and not the full 1100 the container allows, on purpose: the source + // of an imported photograph is capped at 1000px, and a column wider than + // that would make a normal screen scale the picture up, which looks + // worse than any saving is worth. + // 992px is the lg breakpoint of Bootstrap 4, written out because this + // file is compiled without the Bootstrap mixins in scope. + @media (min-width: 992px) { + width: 902px; + max-width: calc(100vw - 3rem); + margin-left: 50%; + transform: translateX(-50%); + } + + // The fixed navigation bar is 80px of the window at the top, and this + // section does not carry the link_anchor class the other sections use to + // clear it: see partials/photo_gallery.html. A browser older than + // scroll-margin-top ignores this and lands the reader under the bar, + // which is what every anchor of a single.html page does today. + scroll-margin-top: 80px; + + // Each card has a white body, so the caption and the credit inside it + // read on white: the credit is $icon-grey at 0.9rem, which is 4.68:1 on + // white, and the page around the card is white as well. + + .photo_item { + // The width of the text column. The figure holds no float and no + // grid, so a portrait photo and a landscape one sit in the same + // column and keep their own shape. + margin: 0 0 3rem; + // Every figure is a link target, #1 to #33, and the navigation bar + // is fixed over the top 80px of the window. + scroll-margin-top: 80px; + + img { + // .img-fluid in the markup caps the width at the column and + // keeps the ratio, which is what stops a photo overflowing on a + // narrow window. This repeats the cap so the gallery does not + // depend on that one class staying in Bootstrap. + max-width: 100%; + height: auto; + // The cap on the height: $photo-max-height, with the reason + // beside it. The box of the image keeps the width of the card + // (card-img-top sets width 100%), and the photograph is + // painted inside it at its own ratio, centred, so a portrait + // shows at 380x675 on a white card instead of 900x1600 and a + // landscape up to 4:3 is not touched. object-fit and not + // width auto: with width auto a landscape whose source is + // narrower than the card, 895px say, would sit 2px inside + // the rounded corners of the card and show a second corner. + max-height: $photo-max-height; + object-fit: contain; + } + } + + // .card-body in the markup carries the padding that holds the caption + // off the photo and off the border, so the gap above it is gone. + figcaption { + font-size: 0.9rem; + + p { + margin-bottom: 0.2rem; + } + } + + // The text of the post, as a quotation: see the blockquote in + // partials/photo_gallery.html. Softer than the body text around it, + // because it is a caption and not the page, and with the rule down its + // left side that a quotation takes, so that the words of somebody else + // read as somebody else's with the stylesheet as well as without it. + // + // Bootstrap 4 has a .blockquote class and this does not use it: it sets + // font-size 1.25rem, which would print the caption larger than the body + // text of the page instead of smaller. + // + // Italic, as a quotation is set in print, so the words of the post read + // as a quotation even where the rule down the left is easy to miss, on + // a narrow window with the border of the card beside it. David Arcos + // asked on 2026-10-14 ("el blockquote, tal vez en cursiva?"). The talk + // line under it went upright at the same time: two italic blocks one + // after the other read as one, and the line under the caption is this + // site's own credit, not part of the quotation. The abstract of a talk + // (.talk_abstract in talks.scss) is italic for the same reason. + .photo_caption { + color: $dark-grey; + font-style: italic; + margin: 0 0 0.2rem; + padding-left: 0.75rem; + border-left: 3px solid $quote-rule; + + p { + margin-bottom: 0; + } + + // The links of the post: a mention, a hashtag, or a URL the post + // wrote. Underlined, because they sit inside a run of text where a + // colour alone is the only thing that would mark them, and WCAG + // 1.4.1 asks for more than colour. A mention and a hashtag carry + // the X mark in front (partials/caption_links.html), smaller than + // the mark of a credit line because it sits inside a sentence, and + // the underline stops at it: .icon_x is an inline-block. + a { + color: $blue-pybcn; + text-decoration: underline; + + .icon_x { + width: 0.8em; + height: 0.8em; + margin-right: 0.15em; + } + } + } + + // The talk the photo belongs to, when it belongs to one. Upright, so + // it reads apart from the italic quotation above it. + .photo_talk { + color: $dark-grey; + + // The line goes to the page of the talk. Same treatment as the + // credit below it: the colour of the line at rest with an + // underline, and the PyBCN blue under the pointer. The underline + // is the second mark WCAG 1.4.1 asks for, and keeping the grey + // stops two links in one figcaption from shouting at each other. + a { + color: inherit; + transition: color 0.15s linear; + text-decoration: underline; + + &:hover, + &:focus { + color: $blue-pybcn; + } + } + } + + // Where the photo came from, and at the right end of the same line the + // link to the figure itself (.photo_number, see the markup). Grey at + // rest and the PyBCN blue under the pointer, which is the treatment + // every icon link on the site takes (see $icon-grey in main.scss and + // its use in people.scss). 4.68:1 on white, so the grey passes the + // 4.5:1 WCAG asks of this text size. + // + // A flex row and not a float: a photo with no source prints the number + // alone, and a floated number in an otherwise empty paragraph would + // hang out of it over the border of the card. + .photo_source { + color: $icon-grey; + display: flex; + justify-content: space-between; + align-items: baseline; + + // The link to this figure: #3 for the third photo of the day. It + // takes the same colour and underline as the credit, and the + // margin pushes it to the right edge when there is no credit to + // sit at the left. + .photo_number { + margin-left: auto; + } + + a { + color: $icon-grey; + transition: color 0.15s linear; + // Underlined, so the credit reads as a link before the pointer + // reaches it. Grey text in a grey line said nothing, and colour + // alone would not say it either: WCAG 1.4.1 asks for a second + // mark, and this is the mark a link takes everywhere else. + text-decoration: underline; + + &:hover, + &:focus { + color: $blue-pybcn; + } + } + + // The X mark in front of the credit, see .icon_x in main.scss, with + // the gap the icon of a social row takes in a person modal. The + // underline of the link does not reach it: .icon_x is an + // inline-block, and a propagated text decoration is not drawn + // through an atomic inline-level box. + .icon_x { + margin-right: 0.4rem; + } + } + + // The two subsections, Photos and Videos, under the heading of the + // gallery: what the day left behind, in two kinds. An edition with one + // kind prints one subsection (see partials/photo_gallery.html). The air + // above each is the air the thread link had above it while the gallery + // was the photographs alone, for the one day of 2026-10-14. + .gallery_photos, + .gallery_videos { + margin-top: 1.5rem; + } + + // The rows of the videos take .talk_rows of talks.scss unchanged; the + // list stands off its heading by the air a row leaves under itself. + .gallery_videos .talk_rows { + margin-top: 1.1rem; + } + + // The link to the whole thread, at the start of the Photos subsection + // and above the first card. + .photo_thread { + margin-top: 1rem; + margin-bottom: 1.5rem; + + // The X mark in front, the gap of the credit line (.photo_source). + .icon_x { + margin-right: 0.4rem; + } + } +} diff --git a/themes/pybcn_theme/assets/scss/style.scss b/themes/pybcn_theme/assets/scss/style.scss index ed81e1dab..11a47ea42 100644 --- a/themes/pybcn_theme/assets/scss/style.scss +++ b/themes/pybcn_theme/assets/scss/style.scss @@ -12,6 +12,7 @@ @import 'carousel'; @import 'options'; @import 'event'; +@import 'photo_gallery'; @import 'agenda'; @import 'home'; @import 'monthly_events'; diff --git a/themes/pybcn_theme/assets/scss/talks.scss b/themes/pybcn_theme/assets/scss/talks.scss index 7660da36c..7715aec3f 100644 --- a/themes/pybcn_theme/assets/scss/talks.scss +++ b/themes/pybcn_theme/assets/scss/talks.scss @@ -57,6 +57,30 @@ margin-right: 0.4rem; } } + + // The photos, each as the card the gallery of an event draws, so the + // same photo looks the same on both pages. See photo_gallery.scss, + // which holds the cap on the height and the reason for it. A talk + // with two photographs prints two figures, one under the other with + // a line of air between them, and the last one carries no margin: + // the section under it sets the gap. + .talk_photo { + margin-bottom: 1rem; + + &:last-child { + margin-bottom: 0; + } + + img { + display: block; + max-height: $photo-max-height; + object-fit: contain; + } + + figcaption { + color: #51616e; + } + } } // The rows of the talks of a meetup, on the page of the meetup (see diff --git a/themes/pybcn_theme/layouts/_default/event.html b/themes/pybcn_theme/layouts/_default/event.html index ab1e511cf..404cc3403 100644 --- a/themes/pybcn_theme/layouts/_default/event.html +++ b/themes/pybcn_theme/layouts/_default/event.html @@ -1,5 +1,28 @@ {{ define "main" }} +{{- /* How many talks of this page carry a video. The heading of the Talks + block and the entry of the section index both say "& Videos" when + there are any, so the count is made once, here, before either of + them: a variable declared further down is not in scope above it. */ -}} +{{- $nvideos := 0 -}} +{{- range .Params.talks -}} + {{- range .links -}} + {{- if eq (default "" .type) "video" }}{{ $nvideos = add $nvideos 1 }}{{ break }}{{ end -}} + {{- end -}} +{{- end -}} + +{{- /* What the gallery of this page holds, from the same partial + partials/photo_gallery.html renders, so the section index below and the + section itself cannot disagree. The gallery is what the day left + behind, the photographs and the videos, in two subsections; an + edition with neither has no gallery. PyDay BCN 2020 was held on + YouTube with 20 videos and no photograph, so its gallery is the + Talks & Videos subsection alone (the header of + partials/gallery_content.html says why the videos are there and + not under the programme, and why a page with a Talks block prints + them there instead). */ -}} +{{ $gallery := partialCached "gallery_content.html" . .RelPermalink }} +