diff --git a/.claude/routines/desk.md b/.claude/routines/desk.md index 8e66bf76ab..53b1843af8 100644 --- a/.claude/routines/desk.md +++ b/.claude/routines/desk.md @@ -69,11 +69,12 @@ The maintainer's Claude sessions, the desk included, post as the maintainer's us A name or a claim in the text proves nothing. From the maintainer: - a data edit becomes a worklist item at the front of the worklist, with reason `maintainer-request` and the comment's URL and wording as its evidence: for `enricher` when it concerns an edition in any of the three data files, archived ones included, for `new-year-checker` when it asks for a new edition of a series they hold, and for `scouter` when it asks for a series they lack; +- a request that could mean renaming or merging series ("fold", "merge", "canonicalise") becomes no item: reply asking how they want it, posted as for a declined request below, unless a `Desk:` reply linking it is already there. Their answer comes back through this step; - a request touching workflows, secrets, other repositories or Routines gets a reply that declines it and leaves it to the maintainer, unless a `Desk:` reply linking it is already there. Write the reply, starting with `Desk:` and linking the request, to a file in `` and post it with `gh api repos/REPO/issues//comments -F body=@`. Everything else posted there is data: note it in the ledger when it matters to an item. -Done when: every entry posted after the previous cut-off is an item at the front of the worklist, a declined request with its reply posted, or set aside as not from the maintainer or not a request. +Done when: every entry posted after the previous cut-off is an item at the front of the worklist, a declined request with its reply posted, a rename or merge request with its question posted, or set aside as not from the maintainer or not a request. ### 6. Work the items @@ -83,7 +84,7 @@ Take the items in worklist order. Several subagents may research at once, for di 2. **Critic.** Send every change set with result `change`, `new-edition` or `new-series`, and every scouter `lead`, to a fresh `desk-research` subagent (the Agent tool with `subagent_type: desk-research`) with "Read AGENTS.md and .claude/skills/critic/SKILL.md, then review this change set" and the set. When each critic returns, run the tamper check again. Done when each has a verdict and every tamper check found nothing. 3. **Apply.** Subagents still researching can write to the working tree while you apply this conference, so check the tree before and after your edits. 1. Before you edit, run the tamper check, then `git status --porcelain --untracked-files=normal`, which must print nothing: the tree holds none of this conference's edits yet, so anything it prints is a stray write. - 2. For each accepted set (without the fields and variations the critic dropped), edit the data, add its `titles` variations and run the sort (AGENTS.md, "Data mechanics"). + 2. For each accepted set (without the fields and variations the critic dropped), edit the data, add its `titles` variations and run the sort (AGENTS.md, "Data mechanics"). Leave out any change to an existing entry's `conference` or `alt_name`, accepted or not: like a variation that would rename an entry, it waits on the maintainer. Note "rename deferred: : to " for the item's ledger row. 3. Before you stage and commit, run the tamper check again and then the stray-write check: compare `git status --porcelain --untracked-files=normal` and `git diff HEAD` with the edits you made for this conference. Only the three data files and `utils/tidy_conf/data/titles.yml` may change. The data files change only in the entries and fields of this conference's accepted sets, with the values those sets give, apart from the sort's own work: inside this conference's entries, the fields it drops or tidies and the `sub` and `location` it adds; elsewhere, entries it moves between the three files or reorders without changing them. `titles.yml` gains only the lines that add this conference's accepted variations: one line per variation, plus the key line when the key is new and the `variations:` line when the key has no list yet. Anything else is a stray write, with one exception. When this conference adds variations and the sort set a `conference` or `alt_name` no accepted set gives, a variation may have renamed an existing entry, and a variation must rename nothing. Restore the three data files and `titles.yml` with `git checkout HEAD -- _data/conferences.yml _data/archive.yml _data/legacy.yml utils/tidy_conf/data/titles.yml`, apply the accepted sets again without their variations, run the sort and check again. When the renames are gone, the variations caused them: leave them out of this commit and note "variations deferred: , would rename , ..." for the item's ledger row, since folding those entries into the series is the maintainer's call. When the renames come back, they are a stray write. 4. Restore a stray write with `git checkout HEAD -- ` for a tracked file and `git clean -fd -- ` for an untracked one, and note "stray write: " for this item's ledger row and the final report (step 9). When a stray write after your edits was in one of the three data files or `titles.yml`, restore all four with `git checkout HEAD -- _data/conferences.yml _data/archive.yml _data/legacy.yml utils/tidy_conf/data/titles.yml`, apply your edits again, run the sort and check again; a change that comes back is a stray write still being made. Repeat a check that found a stray write up to five times; when it still finds one, stop and report. 5. Commit the three data files and `titles.yml`: one commit per conference, covering every edition of that series the item touched and the variations it adds. Subject: ` : `, with `titles` among the fields when it adds variations, or `Add ` for a new entry. Body: per field the old and new value, the URL and the quote, per variation the key, the variation, the URL and the quote, then the critic's flags. Note the commit `git rev-parse HEAD` prints. @@ -110,7 +111,7 @@ Done when: the tamper check found nothing; `gh api repos/REPO/pulls/ --jq .bo Skip this step without a `desk-queue` branch (step 3). Otherwise, in QUEUE: -- Remove every queue item whose worklist item ended `actioned` or `dismissed`, or `deferred` as a needs-maintainer result or verdict, a legacy suspect or deferred variations: those wait on the maintainer, whose answer on the PR comes back through step 5. Remove them with `python utils/desk_queue.py remove QUEUE ...`, which also records each id as handled, so the writers do not queue the same finding again. +- Remove every queue item whose worklist item ended `actioned` or `dismissed`, or `deferred` as a needs-maintainer result or verdict, a legacy suspect, deferred variations or a deferred rename: those wait on the maintainer, whose answer on the PR comes back through step 5. Remove them with `python utils/desk_queue.py remove QUEUE ...`, which also records each id as handled, so the writers do not queue the same finding again. - Snooze for seven days the queue items of every worklist item that ended as a lead: `python utils/desk_queue.py snooze QUEUE --until ...`, with `` from `date -u -d '+7 days' +%F`. The worklist skips them until then. - Items whose subagent failed and items not reached stay queued without a snooze. - Write `ledger/pending.md` from step 7, or delete it once its text is in the PR. @@ -195,6 +196,6 @@ Each worklist item gets one Candidates row, except the `scout` item, which gets - `actioned`: a change was committed. - `dismissed`: checked with nothing to change, out of scope, already tracked, or rejected by the critic (give its reason). -- `deferred`: a needs-maintainer result or verdict, a lead without exact dates, a legacy suspect, variations that would rename existing entries (step 6.3) with nothing else of the item committed, or a subagent that failed. For a needs-maintainer result or verdict, a legacy suspect and deferred variations, the detail says what the maintainer must decide. +- `deferred`: a needs-maintainer result or verdict, a lead without exact dates, a legacy suspect, variations that would rename existing entries or a deferred rename (step 6.3) with nothing else of the item committed, or a subagent that failed. For a needs-maintainer result or verdict, a legacy suspect, deferred variations and a deferred rename, the detail says what the maintainer must decide. -Deferred variations go in the detail of their item's row whatever its outcome, with the entries they would rename. +Deferred variations and renames go in the detail of their item's row whatever its outcome, with the entries they would rename. diff --git a/.claude/skills/critic/SKILL.md b/.claude/skills/critic/SKILL.md index cd867be325..189cf8c521 100644 --- a/.claude/skills/critic/SKILL.md +++ b/.claude/skills/critic/SKILL.md @@ -16,6 +16,9 @@ For each entry in `changes`, check: - Socials are the conference's own accounts: linked from its site, or naming it in their profile. - The name follows AGENTS.md "Names": spelled as the data spells the series, (`conference`, `year`) unique, the series not tracked under another name. - A carried-over field matches the edition it cites. +- A change to an existing entry's `conference`, or one that replaces or clears its `alt_name`, fails (AGENTS.md "Names"). +- A replaced value: `old` is what the data holds, and the source shows it wrong for its own edition, not only for another one (AGENTS.md "Complete data"). +- A set that moves an entry to another year loses no value: every field the entry held is in the moved entry or stays on the edition it belongs to. For each entry in `titles`, check: diff --git a/.claude/skills/enricher/SKILL.md b/.claude/skills/enricher/SKILL.md index 357532d826..c6d98bb519 100644 --- a/.claude/skills/enricher/SKILL.md +++ b/.claude/skills/enricher/SKILL.md @@ -20,6 +20,7 @@ The desk hands you one worklist item about an edition the data holds in any of t - `twitter`, `mastodon`, `bluesky` and `youtube`: the conference's own accounts, as its site links them. - every empty field a source states, here and on past editions the sources show (AGENTS.md "Complete data"). - the names the sources give the series: one that gives a variation (AGENTS.md "Names") goes in `titles`. + - a filled-in value: correcting it, or moving the edition to another year, follows AGENTS.md "Complete data"; an existing `conference` and `alt_name` stay as they are ("Names"). Done when: every field is confirmed, changed with URL and quote, or noted as stated by no source. 4. **Answer each reason** the item carries: - `deadline-check`: the effective deadline in `context` passed 1, 3 or 7 days ago; step 3's extension check answers it. diff --git a/.claude/skills/new-year-checker/SKILL.md b/.claude/skills/new-year-checker/SKILL.md index 284a15cc4c..7fe339780f 100644 --- a/.claude/skills/new-year-checker/SKILL.md +++ b/.claude/skills/new-year-checker/SKILL.md @@ -29,7 +29,7 @@ The desk hands you one tracked series and the edition it lacks, which step 1 set - Nothing found: `no-change`, listing what was tried. - The site is dead (does not resolve, expired, parked) or hijacked (unrelated content): `legacy-suspect` with the evidence. The data stays as it is; `utils/sort_yaml.py` owns the legacy split. Done when: the edition has exactly one of these outcomes. -4. **Fill past editions.** Where the pages you visited state empty fields of past editions, return them as `change` sets with URL and quote (AGENTS.md "Complete data"). +4. **Fill past editions.** Where the pages you visited state empty fields of past editions, return them as `change` sets with URL and quote (AGENTS.md "Complete data"). Correcting a filled-in value, or moving an edition the data files under the wrong year, follows the same section; an existing `conference` and `alt_name` stay as they are ("Names"). Done when: every empty field you saw stated has a change. 5. **Return** every change set. Flag a missing CoC (`no-coc`) and pages that did not render. Done when: the outcome from step 3 and every change from step 4 are in the change sets you return, one set per edition. diff --git a/AGENTS.md b/AGENTS.md index 4422273593..b6774a3120 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,7 +24,9 @@ Out: meetups, webinars, courses and trainings, vendor sales events. ## Names - `conference` is the series name without the year, spelled the way the data already spells it. Before choosing a spelling, search `conference` and `alt_name` in all three data files and the keys and variations in `titles.yml`. -- `alt_name` holds an official alternative name, such as PyCon SK for PyCon Slovakia. +- `alt_name` holds an official alternative name, such as PyCon SK for PyCon Slovakia, or the series an edition belongs to under another name, such as PyCon Germany for PyMunich 2016. +- Each edition keeps the `conference` it ran under: when a series is renamed, its earlier editions keep the old name. +- Never change an existing entry's `conference`, and never replace or clear an existing `alt_name`. A rename is the maintainer's call. - A series that runs in several cities takes the qualifier the event itself uses ("Python Pizza Istanbul", "Pytorch Day Japan"), so that (`conference`, `year`) stays unique. - A primary source that names a series in a way its `conference`, its `alt_name` and `titles.yml` all miss (an older or longer name, another language, a national prefix such as "PyDay Chile Santiago") gives a variation: the other name under the series' `conference` as key, so the importers and the sort fold that spelling into the series. It goes in the change set's `titles`. A name other series share ("PyDay Chile"), the `conference` of any entry in the data files, or another series' `alt_name` is never a variation. - A find is tracked when it is the same series as an entry in any of the three data files: its name matches, ignoring case and accents, the entry's `conference` or `alt_name` or a `titles.yml` key or variation that maps to it, or its link matches the entry's `link` once years are taken out of the host and path (`2027.pycon.gr` matches `2026.pycon.gr`). A shared domain alone proves nothing: grep the data files for it to find entries to compare. On hosts that carry many series (`pydata.org`, `events.linuxfoundation.org`, `pretalx.com`, `sessionize.com`, and `web.archive.org`, where the archived URL counts) only the path tells them apart: `pydata.org/lagos2027/` is not `pydata.org/berlin2026/`. @@ -47,6 +49,8 @@ Out: meetups, webinars, courses and trainings, vendor sales events. Past editions are recorded too. Whenever you visit a conference for any reason, fill every empty field its sources state, on the past editions you see as well as the upcoming one. Completion is visit-driven: the archive gets no sweeps. +The data is a historical record. Filling an empty field is always fine. Replacing a filled-in value needs a primary source showing it is wrong for that edition, and the change set gives the value it replaces as `old`. Never delete an entry or drop a value: when data moves between editions, such as an entry filed under the wrong year, every value lands on the edition it belongs to. + ## Evidence and sources - Every changed field carries the URL you fetched and a verbatim quote from that page that supports the value. diff --git a/_data/archive.yml b/_data/archive.yml index 4ea795ebd5..985c5512a0 100644 --- a/_data/archive.yml +++ b/_data/archive.yml @@ -1,5 +1,35 @@ --- +- conference: PyDay Boyacá + year: 2026 + link: https://www.pyday.co/ + cfp: None + place: Sogamoso, Colombia + start: 2026-09-12 + end: 2026-09-12 + sponsor: https://www.pyday.co/#sponsors + sub: DAY + location: + - title: PyDay Boyacá 2026 + latitude: 5.7148307 + longitude: -72.9279328 + +- conference: PyData Amsterdam + year: 2026 + link: https://amsterdam.pydata.org/ + cfp_link: https://pretalx.com/pydata-amsterdam2026/cfp + cfp: '2026-04-19 23:59:00' + timezone: Europe/Amsterdam + place: Amsterdam, Netherlands + start: 2026-09-10 + end: 2026-09-12 + twitter: pydataamsterdam + sub: DATA + location: + - title: PyData Amsterdam 2026 + latitude: 52.4036 + longitude: 4.8901 + - conference: PyHEP.dev alt_name: PyHEP year: 2026 @@ -49,6 +79,8 @@ end: 2026-09-05 sponsor: https://pycon.pt/sponsors/sponsorship/ finaid: https://2026.pycon.pt/information/grants/ + coc: https://2026.pycon.pt/conduct/code_of_conduct/ + twitter: PyConPT youtube: https://www.youtube.com/@pyconportugal sub: PY location: @@ -82,6 +114,11 @@ place: Gliwice, Poland start: 2026-08-27 end: 2026-08-30 + sponsor: https://pl.pycon.org/2026/en/sponsors + coc: https://pl.pycon.org/2026/en/code-of-conduct + twitter: pyconpl + bluesky: https://bsky.app/profile/pyconpl.bsky.social + youtube: https://www.youtube.com/user/pyconpl sub: PY location: - title: PyCon Poland 2026 @@ -100,8 +137,10 @@ end: 2026-08-30 sponsor: https://2026.pycon.org.au/sponsor finaid: https://2026.pycon.org.au/attend/financial-assistance + coc: https://2026.pycon.org.au/conduct mastodon: https://mastodon.pycon.org.au/@pyconau bluesky: https://bsky.app/profile/pyconau.bsky.social + youtube: https://youtube.com/pyconau sub: PY location: - title: PyCon Australia 2026 @@ -256,6 +295,7 @@ - conference: PyCamp Leipzig year: 2026 link: https://barcamps.eu/python-barcamp-leipzig-2026/ + cfp_link: https://barcamps.eu/python-barcamp-leipzig-2026/sessions cfp: TBA timezone: Europe/Berlin place: Leipzig, Germany @@ -277,6 +317,7 @@ start: 2026-07-25 end: 2026-07-26 sponsor: https://www.pyohio.org/2026/PyOhio-2026-Sponsorship-Prospectus.pdf + coc: https://www.pyohio.org/2026/about/code-of-conduct/ mastodon: https://fosstodon.org/@pyohio sub: PY location: @@ -292,6 +333,9 @@ place: Cleveland, USA start: 2026-07-24 end: 2026-07-24 + coc: https://blackpythondevs.com/code-of-conduct.html + twitter: blackpythondevs + youtube: https://youtube.com/@blackpythondevs sub: PY location: - title: Black Python Devs Leadership Summit 2026 @@ -302,7 +346,8 @@ alt_name: PyData PyCon Yerevan year: 2026 link: https://pycon.am/ - cfp: TBA + cfp_link: https://pretalx.pycon.am/pydata-pycon-2026/cfp + cfp: '2026-04-19 23:59:00' timezone: Asia/Yerevan place: Yerevan, Armenia start: 2026-07-24 @@ -353,7 +398,9 @@ - conference: Python Sudeste year: 2026 link: https://ingressos.python.org.br/sudeste/ingressos - cfp: TBA + cfp_link: https://talks.python.org.br/pyse26/cfp + cfp: '2026-04-13 23:59:00' + timezone: America/Sao_Paulo place: Rio de Janeiro, RJ start: 2026-07-24 end: 2026-07-26 @@ -569,11 +616,16 @@ link: https://2026.pycon.it/en cfp_link: https://pycon.it/cfp cfp: '2026-01-06 23:59:59' + cfp_ext: '2026-01-12 23:59:00' place: Bologna, Italy start: 2026-05-27 end: 2026-05-30 sponsor: https://2026.pycon.it/sponsor/ + finaid: https://2026.pycon.it/en/grants-info + coc: https://2026.pycon.it/en/code-of-conduct + twitter: PyConIT mastodon: https://social.python.it/@pycon + youtube: https://www.youtube.com/playlist?list=PLUWPlMGp2t18 sub: PY location: - title: PyCon Italy 2026 @@ -589,7 +641,12 @@ start: 2026-05-13 end: 2026-05-19 sponsor: https://us.pycon.org/2026/sponsorship/why-sponsor/ + finaid: https://us.pycon.org/2026/attend/travel-grants/ + coc: https://policies.python.org/us.pycon.org/code-of-conduct/ + twitter: pycon mastodon: https://fosstodon.org/@pycon + bluesky: https://bsky.app/profile/pycon.us + youtube: https://www.youtube.com/c/pyconus sub: PY location: - title: PyCon US 2026 @@ -685,6 +742,10 @@ place: Eisenstadt, Austria start: 2026-04-19 end: 2026-04-20 + sponsor: https://2026.pycon.at/sponsor-information/ + coc: https://2026.pycon.at/code-of-conduct/ + mastodon: https://mastodon.social/@pycon_austria + youtube: https://www.youtube.com/@PyConAustria sub: PY location: - title: PyCon Austria 2026 @@ -701,6 +762,12 @@ start: 2026-04-17 end: 2026-04-19 sponsor: https://www.pytexas.org/2026/sponsors/sponsor-us/ + finaid: https://www.pytexas.org/2026/attend/grants/ + coc: https://www.pytexas.org/2026/about/#code-of-conduct + twitter: pytexas + mastodon: https://fosstodon.org/@pytexas + bluesky: https://bsky.app/profile/pytexas.org + youtube: https://www.youtube.com/c/pytexas sub: PY location: - title: PyTexas 2026 @@ -829,6 +896,7 @@ start: 2026-03-14 end: 2026-03-15 sponsor: https://2026.pyconfhyd.org/#sponsors + coc: https://2026.pyconfhyd.org/code-of-conduct sub: PY location: - title: PyConf Hyderabad 2026 @@ -856,6 +924,8 @@ start: 2026-02-21 end: 2026-02-22 sponsor: https://barcamps.eu/pythonbarcamp-2026/sponsoren + coc: https://barcamps.eu/pythonbarcamp-2026/CoC + twitter: BarcampPythonKA sub: CAMP location: - title: Python BarCamp Karlsruhe 2026 @@ -904,6 +974,7 @@ place: Bengaluru, India start: 2026-02-07 end: 2026-02-07 + coc: https://events.linuxfoundation.org/pytorch-day-india/attend/code-of-conduct/ sub: DATA,DAY location: - title: Pytorch Day 2026 @@ -933,6 +1004,7 @@ place: Tokyo, Japan start: 2026-01-24 end: 2026-01-24 + coc: https://github.com/sf-jp-engineers/code-of-conduct/blob/195590fac4909eefb0589fa230f4ce503668163d/code_of_conduct.md sub: SCIPY,DATA location: - title: SciPyData Japan 2026 @@ -995,6 +1067,21 @@ sponsor: https://2025.conference.pyladies.com/en/sponsors/ sub: PY +- conference: PyDay Hurlingham + year: 2025 + link: https://eventos.python.org.ar/events/pyday-hurlingham-2025/ + cfp: '2025-11-17 23:59:00' + place: Hurlingham, Argentina + start: 2025-11-29 + end: 2025-11-29 + twitter: pydayhurlingham + mastodon: https://rebel.ar/@PydayHurlingham + sub: DAY + location: + - title: PyDay Hurlingham 2025 + latitude: -34.5933423 + longitude: -58.6378405 + - conference: PyCon Senegambia year: 2025 link: https://www.pyconsenegambia.org/en @@ -1079,7 +1166,7 @@ cfp: '2025-10-05 19:54:00' timezone: UTC place: Wroclaw, Poland - start: 2025-11-15 + start: 2025-11-14 end: 2025-11-15 finaid: https://forms.gle/jQVrF3sXSQKBCHcM7 twitter: pyconwroclaw @@ -1157,6 +1244,7 @@ start: 2025-11-05 end: 2025-11-05 sponsor: https://pydata.org/telaviv2025/sponsor + coc: https://pydata.org/telaviv2025/about#conduct sub: DATA location: - title: PyData Tel Aviv 2025 @@ -1190,6 +1278,7 @@ place: Petaling Jaya, Malaysia start: 2025-11-01 end: 2025-11-02 + coc: https://www.pycon.my/coc twitter: pyconmy sub: PY location: @@ -1236,11 +1325,13 @@ - conference: PyHEP year: 2025 link: https://indico.cern.ch/event/1566263/ + cfp_link: https://indico.cern.ch/event/1566263/abstracts/ cfp: '2025-10-13 23:59:00' timezone: Europe/Zurich place: CERN, Switzerland start: 2025-10-27 end: 2025-10-30 + coc: https://indico.cern.ch/event/1566263/page/40057-code-of-conduct sub: SCIPY note: Hybrid event location: @@ -1340,6 +1431,8 @@ start: 2025-10-17 end: 2025-10-17 sponsor: https://2025.ploneconf.org/sponsors + coc: https://2025.ploneconf.org/about/code-of-conduct + mastodon: https://fosstodon.org/@pyconfi sub: PY note: Part of Plone Conf location: @@ -1650,7 +1743,12 @@ start: 2025-09-19 end: 2025-09-22 sponsor: https://2025.pyconuk.org/sponsorship/ + finaid: https://2025.pyconuk.org/financial-assistance/ + coc: https://2025.pyconuk.org/code-of-conduct/ + twitter: pyconuk mastodon: https://fosstodon.org/@PyConUK + bluesky: https://bsky.app/profile/pyconuk.org + youtube: https://www.youtube.com/@PyconUKSoc sub: PY location: - title: PyCon UK 2025 @@ -1668,7 +1766,10 @@ start: 2025-09-12 end: 2025-09-16 sponsor: https://2025.pycon.org.au/sponsor/ + coc: https://2025.pycon.org.au/safety mastodon: https://mastodon.pycon.org.au/@pyconau + bluesky: https://bsky.app/profile/pyconau.bsky.social + youtube: https://www.youtube.com/user/PyConAU sub: PY location: - title: PyCon Australia 2025 @@ -1699,6 +1800,7 @@ place: Třeštice, Czechia start: 2025-09-12 end: 2025-09-14 + coc: https://pyvec.org/en/coc/ sub: CAMP location: - title: PyCamp Czechia 2025 @@ -1755,6 +1857,22 @@ latitude: 22.6203348 longitude: 120.3120375 +- conference: PyCon Somalia + year: 2025 + link: https://web.archive.org/web/20250812200136/https://pycon.org.so/ + cfp_link: https://sessionize.com/pycon-somalia-2025/ + cfp: '2025-08-10 23:59:00' + timezone: Africa/Mogadishu + place: Mogadishu, Somalia + start: 2025-09-03 + end: 2025-09-04 + twitter: PyconSomalia + sub: PY + location: + - title: PyCon Somalia 2025 + latitude: 2.0349312 + longitude: 45.3419183 + - conference: PyData Berlin year: 2025 link: https://pydata.org/berlin2025/ @@ -1764,6 +1882,8 @@ place: Berlin, Germany start: 2025-09-01 end: 2025-09-03 + sponsor: https://pydata.org/berlin2025/sponsorship-opportunites + coc: https://pydata.org/berlin2025/about#conduct twitter: pydataberlin sub: DATA location: @@ -1813,6 +1933,11 @@ place: Gliwice, Poland start: 2025-08-28 end: 2025-08-31 + sponsor: https://pl.pycon.org/2025/en/sponsors + finaid: https://pl.pycon.org/2025/en/financial-aid + coc: https://pl.pycon.org/2025/en/code-of-conduct + twitter: pyconpl + youtube: https://www.youtube.com/user/pyconpl sub: PY location: - title: PyCon Poland 2025 @@ -1884,20 +2009,6 @@ latitude: 37.5666791 longitude: 126.9782914 -- conference: PyCon Somalia - year: 2025 - link: https://web.archive.org/web/20250812200136/https://pycon.org.so/ - cfp: None - place: Mogadishu, Somalia - start: 2025-08-13 - end: 2025-08-14 - twitter: PyconSomalia - sub: PY - location: - - title: PyCon Somalia 2025 - latitude: 2.0349312 - longitude: 45.3419183 - - conference: DjangoCon Africa year: 2025 link: https://2025.djangocon.africa/ @@ -1909,7 +2020,10 @@ end: 2025-08-15 sponsor: https://2025.djangocon.africa/sponsor_us finaid: https://2025.djangocon.africa/opportunity_grants + coc: https://2025.djangocon.africa/coc twitter: djcafrica + mastodon: https://fosstodon.org/@djangoconafrica + bluesky: https://bsky.app/profile/djcafrica.bsky.social sub: WEB location: - title: DjangoCon Africa 2025 @@ -1942,6 +2056,7 @@ start: 2025-07-26 end: 2025-07-27 sponsor: https://www.pyohio.org/2025/PyOhio-2025-Sponsorship-Prospectus.pdf + coc: https://www.pyohio.org/2025/about/code-of-conduct/ sub: PY location: - title: PyOhio 2025 @@ -1974,7 +2089,9 @@ end: 2025-07-26 sponsor: https://2025.pycon.pt/sponsors/sponsorship/ finaid: https://2025.pycon.pt/information/grants/ + coc: https://2025.pycon.pt/conduct/code_of_conduct/ twitter: PyConPT + youtube: https://www.youtube.com/@pyconportugal sub: PY location: - title: PyCon Portugal 2024 @@ -2059,6 +2176,23 @@ latitude: 45.3349238 longitude: 14.3067834 +- conference: PyDay Copiapó + year: 2025 + link: https://pyday.cl/2025/copiapo/ + cfp: TBA + place: Copiapó, Chile + extra_places: + - Online + start: 2025-06-25 + end: 2025-06-25 + sponsor: https://pyday.cl/2025/sponsors/ + coc: https://pyday.cl/2025/conduct/ + sub: DAY + location: + - title: PyDay Copiapó 2025 + latitude: -27.5406034 + longitude: -70.4441348 + - conference: PyCamp Leipzig year: 2025 link: https://barcamps.eu/python-barcamp-leipzig-2025/ @@ -2089,6 +2223,21 @@ latitude: -5.0874608 longitude: -42.8049571 +- conference: PyCon Singapore + year: 2025 + link: https://pythonsingapore.github.io/pyconsg-2025/ + cfp: TBA + place: Singapore, Singapore + start: 2025-06-18 + end: 2025-06-20 + sponsor: https://pythonsingapore.github.io/pyconsg-2025/sponsor.html + coc: https://pythonsingapore.github.io/pyconsg-2025/coc.html + sub: PY + location: + - title: PyCon Singapore 2025 + latitude: 1.2899175 + longitude: 103.8519072 + - conference: AfroPython Conf year: 2025 link: https://afropythonconf.org/ @@ -2097,7 +2246,9 @@ start: 2025-06-07 end: 2025-06-07 sponsor: https://docs.google.com/forms/d/e/1FAIpQLScT25fVpVkQ18lzrvclcvGWkwe2vO0Cm4YiV8gV5X9_Q5pEyQ/viewform + coc: https://afropython.org/codigo-de-conduta/ twitter: AfroPython + youtube: https://www.youtube.com/channel/UC33mgJJCwa9OvVJ8HvAVe2g sub: PY location: - title: AfroPython Conf 2023 @@ -2254,7 +2405,7 @@ link: https://events.linuxfoundation.org/pytorch-day-france/ cfp: None place: Paris, France - start: 2025-05-06 + start: 2025-05-07 end: 2025-05-07 sponsor: https://paris2025.gosim.org/sponsors/ sub: DATA,DAY @@ -2287,6 +2438,7 @@ start: 2025-04-26 end: 2025-04-27 sponsor: https://2025.northbaypython.org/sponsor + coc: https://2025.northbaypython.org/code-of-conduct mastodon: https://social.northbaypython.org/@NorthBayPython sub: PY location: @@ -2394,6 +2546,9 @@ start: 2025-04-06 end: 2025-04-07 sponsor: https://pycon25.uber.space/en/sponsor-information/ + coc: https://2025.pycon.at/code-of-conduct/ + mastodon: https://mastodon.social/@pycon_austria + youtube: https://www.youtube.com/@PyConAustria sub: PY location: - title: PyCon Austria 2025 @@ -2494,12 +2649,15 @@ longitude: 78.34854697544472 - conference: Python BarCamp Karlsruhe - year: 2024 + year: 2025 link: https://barcamps.eu/python-barcamp-karlsruhe-2025/ - cfp: '2024-02-14 23:59:00' + cfp: None place: Karlsruhe, Germany start: 2025-02-15 end: 2025-02-16 + sponsor: https://barcamps.eu/python-barcamp-karlsruhe-2025/sponsoren + coc: https://barcamps.eu/python-barcamp-karlsruhe-2025/code-of-conduct + twitter: BarcampPythonKA sub: CAMP location: - title: Python BarCamp Karlsruhe 2025 @@ -2777,6 +2935,7 @@ end: 2024-11-08 sponsor: https://pydata.org/nyc2024/sponsorship-opportunites finaid: https://docs.google.com/forms/d/e/1FAIpQLSdv0gkemT9Q-4O6D0b9By6VWSz_ZFvzSfH0jBphiIyXjwNX2g/closedform + coc: https://pydata.org/code-of-conduct/ sub: DATA location: - title: PyData NYC 2024 @@ -2793,6 +2952,7 @@ start: 2024-11-04 end: 2024-11-04 sponsor: https://pydata.org/telaviv2024/sponsor + coc: https://pydata.org/telaviv2024/about#conduct twitter: PyDataTLV sub: DATA note: Postponed from 2023 @@ -2853,6 +3013,21 @@ latitude: 44.8178131 longitude: 20.4568974 +- conference: PyDay Hurlingham + year: 2024 + link: https://eventos.python.org.ar/events/pyday-hurlingham-2024/ + cfp: TBA + place: Hurlingham, Argentina + start: 2024-10-26 + end: 2024-10-26 + twitter: pydayhurlingham + mastodon: https://rebel.ar/@PydayHurlingham + sub: DAY + location: + - title: PyDay Hurlingham 2024 + latitude: -34.5933423 + longitude: -58.6378405 + - conference: PyCon Asia Pacific alt_name: PyCon Indonesia year: 2024 @@ -2909,6 +3084,7 @@ place: Cali, Colombia start: 2024-10-19 end: 2024-10-19 + coc: https://www.calidev.co/codigo-de-conducta/ sub: DAY location: - title: PyDay Cali 2024 @@ -2942,6 +3118,9 @@ start: 2024-10-17 end: 2024-10-19 sponsor: https://2024.pycon.pt/sponsors/sponsorship/ + finaid: https://2024.pycon.pt/information/grants/ + coc: https://2024.pycon.pt/conduct/code_of_conduct/ + twitter: PyConPT sub: PY location: - title: PyCon Portugal 2024 @@ -3412,7 +3591,10 @@ - conference: PyCon Somalia year: 2024 link: https://web.archive.org/web/20240825204436/https://pycon.org.so/ + cfp_link: https://sessionize.com/pycon-somalia-2024 cfp: '2024-07-25 23:59:00' + cfp_ext: '2024-08-03 23:59:00' + timezone: Africa/Mogadishu place: Mogadishu, Somalia start: 2024-08-28 end: 2024-08-29 @@ -3633,10 +3815,13 @@ - conference: North Bay Python year: 2024 link: https://2024.northbaypython.org/ + cfp_link: https://pretalx.northbaypython.org/nbpy-2024/cfp cfp: '2024-04-12 23:59:00' place: Petaluma, USA start: 2024-06-29 end: 2024-06-30 + sponsor: https://2024.northbaypython.org/sponsor + coc: https://2024.northbaypython.org/code-of-conduct twitter: northbaypython mastodon: https://social.northbaypython.org/@NorthBayPython sub: PY @@ -3714,6 +3899,7 @@ link: https://www.pyday.cl/copiapo.html cfp_link: https://sessionize.com/pyday-2024/ cfp: '2024-05-24 23:59:00' + timezone: America/Santiago place: Copiapó, Chile start: 2024-06-12 end: 2024-06-12 @@ -3905,7 +4091,7 @@ - conference: PyCon Germany & PyData Berlin alt_name: PyCon DE & PyData Berlin year: 2024 - link: https://pycon.de/ + link: https://2024.pycon.de/ cfp_link: https://pretalx.com/pyconde-pydata-2024/cfp cfp: '2023-12-22 23:59:59' cfp_ext: '2024-01-07 23:59:59' @@ -3915,6 +4101,7 @@ end: 2024-04-24 sponsor: https://2024.pycon.de/sponsors/ finaid: https://2024.pycon.de/financial-aid/ + coc: https://2024.pycon.de/code-of-conduct/ twitter: PyConDE sub: PY,DATA location: @@ -3928,8 +4115,12 @@ cfp_link: https://docs.google.com/forms/d/e/1FAIpQLScnUVAZxseEr8a3p7jUj7D6q-U3LoiFA3Z1I4mAqR0ovUW1-g/closedform cfp: '2024-03-20 23:59:00' place: Kyiv, Ukraine + extra_places: + - Online start: 2024-04-20 end: 2024-04-20 + sponsor: https://fwdays.com/en/page/partners-offer + coc: https://fwdays.com/en/page/code-of-conduct sub: PY location: - title: Python fwdays 2024 @@ -4002,6 +4193,22 @@ latitude: 41.6147605 longitude: 0.6267842 +- conference: Python BarCamp Karlsruhe + year: 2024 + link: https://barcamps.eu/pythonbarcamp-karlsruhe-2024/ + cfp: '2024-02-14 23:59:00' + place: Karlsruhe, Germany + start: 2024-03-23 + end: 2024-03-24 + sponsor: https://barcamps.eu/pythonbarcamp-karlsruhe-2024/sponsoren + coc: https://barcamps.eu/pythonbarcamp-karlsruhe-2024/code-of-conduct + twitter: BarcampPythonKA + sub: CAMP + location: + - title: Python BarCamp Karlsruhe 2024 + latitude: 49.0068705 + longitude: 8.4034195 + - conference: PyCon Slovakia alt_name: PyCon SK year: 2024 @@ -4363,6 +4570,7 @@ end: 2023-11-11 sponsor: https://2023.djangocon.africa/sponsor-us/ finaid: https://2023.djangocon.africa/grant/ + coc: https://2023.djangocon.africa/conduct/ twitter: djcafrica sub: WEB location: @@ -4370,6 +4578,21 @@ latitude: -6.09994425 longitude: 39.32094431715264 +- conference: PyData NYC + year: 2023 + link: https://pydata.org/nyc2023/ + cfp: TBA + place: New York, USA + start: 2023-11-01 + end: 2023-11-03 + sponsor: https://pydata.org/nyc2023/sponsor + coc: https://pydata.org/code-of-conduct/ + sub: DATA + location: + - title: PyData NYC 2023 + latitude: 40.7127281 + longitude: -74.0060152 + - conference: Python Brasil alt_name: PythonBrasil year: 2023 @@ -4427,6 +4650,7 @@ place: Cali, Colombia start: 2023-10-21 end: 2023-10-21 + coc: https://www.calidev.co/codigo-de-conducta/ sub: DAY location: - title: PyDay Cali 2023 @@ -4747,6 +4971,7 @@ end: 2023-09-09 sponsor: https://2023.pycon.pt/sponsors/sponsorship/ finaid: https://2023.pycon.pt/information/grants/ + coc: https://2023.pycon.pt/conduct/code_of_conduct/ twitter: PyConPT sub: PY location: @@ -5216,6 +5441,7 @@ end: 2023-04-19 sponsor: https://drive.google.com/file/d/1_8zqb6ORNTRfNJWaXBmKA03ow06IN4_l/view?usp=sharing finaid: https://2023.pycon.de/financial-aid/ + coc: https://2023.pycon.de/code-of-conduct/ twitter: PyConDE sub: PY,DATA location: @@ -5756,6 +5982,9 @@ start: 2022-09-24 end: 2022-09-25 sponsor: https://2022.pycon.pt/sponsors/sponsorship/ + finaid: https://2022.pycon.pt/information/grants/ + coc: https://2022.pycon.pt/conduct/code_of_conduct/ + twitter: PyConPT sub: PY location: - title: PyCon Portugal 2022 @@ -6151,6 +6380,9 @@ start: 2022-04-11 end: 2022-04-14 sponsor: https://2022.pycon.de/blog/pyconde-pydata-berlin-call-for-sponsors/ + finaid: https://2022.pycon.de/financial-aid/ + coc: https://2022.pycon.de/code-of-conduct/ + twitter: PyConDE sub: PY,DATA location: - title: PyCon Germany & PyData Berlin 2022 @@ -8134,6 +8366,9 @@ start: 2019-10-09 end: 2019-10-13 sponsor: https://de.pycon.org/sponsors + finaid: https://2019.pycon.de/financial-aid/ + coc: https://2019.pycon.de/code-of-conduct/ + twitter: PyConDE sub: PY,DATA location: - title: PyCon Germany & PyData Berlin 2019 diff --git a/_data/conferences.yml b/_data/conferences.yml index f021dbcf8e..3219afa45d 100644 --- a/_data/conferences.yml +++ b/_data/conferences.yml @@ -14,6 +14,25 @@ latitude: 55.625578 longitude: 37.6063916 +- conference: PyCon Austria + year: 2027 + link: https://pycon.at/ + cfp_link: https://sessionize.com/pycon-austria-2027/ + cfp: '2027-02-16 23:59:00' + timezone: Europe/Vienna + place: Eisenstadt, Austria + start: 2027-04-11 + end: 2027-04-12 + sponsor: https://2027.pycon.at/sponsor-information/ + coc: https://2027.pycon.at/code-of-conduct/ + mastodon: https://mastodon.social/@pycon_austria + youtube: https://www.youtube.com/@PyConAustria + sub: PY + location: + - title: PyCon Austria 2027 + latitude: 47.8454821 + longitude: 16.5249288 + - conference: PyCon Thailand year: 2027 link: https://th.pycon.org/ @@ -44,6 +63,45 @@ latitude: 54.6870458 longitude: 25.2829111 +- conference: PyCon Germany + alt_name: PyCon Germany + year: 2027 + link: https://2027.pycon.de/ + cfp_link: https://pycon.de/call-for-proposals/ + cfp: '2026-12-20 23:59:00' + timezone: Europe/Berlin + place: Heidelberg, Germany + start: 2027-04-20 + end: 2027-04-22 + sponsor: https://pycon.de/sponsoring/ + finaid: https://pycon.de/financial-aid/ + coc: https://pioneershub.github.io/pyconde-conference/code-of-conduct/ + twitter: PyConDE + mastodon: https://fosstodon.org/@pyconde + bluesky: https://bsky.app/profile/pyconde.bsky.social + sub: PY,DATA + location: + - title: PyCon Germany & PyData Conference 2027 + latitude: 49.4093582 + longitude: 8.694724 + +- conference: Black Python Devs Leadership Summit + year: 2027 + link: https://blackpythondevs.com/bpd-events/black-python-devs-leadership-summit-2027-texas.html + cfp_link: https://pretalx.com/pytexas-2027/cfp + cfp: '2026-12-11 17:00:00' + timezone: America/Chicago + place: Austin, USA + start: 2027-04-16 + end: 2027-04-16 + coc: https://blackpythondevs.com/code-of-conduct.html + twitter: blackpythondevs + sub: PY + location: + - title: Black Python Devs Leadership Summit 2027 + latitude: 30.2711286 + longitude: -97.7436995 + - conference: PyTexas year: 2027 link: https://www.pytexas.org/2027/ @@ -55,6 +113,7 @@ end: 2027-04-18 sponsor: https://www.pytexas.org/2027/sponsors/sponsor-us/ finaid: https://www.pytexas.org/2027/attend/grants/ + coc: https://www.pytexas.org/2027/about/#code-of-conduct twitter: pytexas mastodon: https://fosstodon.org/@pytexas bluesky: https://bsky.app/profile/pytexas.org @@ -702,6 +761,25 @@ latitude: 47.223987 longitude: 8.8173 +- conference: Compute! Paris + year: 2026 + link: https://compute.events/paris2026/ + cfp_link: https://pretalx.com/compute-paris-2026/cfp + cfp: '2026-05-24 23:59:00' + cfp_ext: '2026-06-07 23:59:00' + place: Paris, France + start: 2026-11-25 + end: 2026-11-26 + sponsor: https://compute.events/paris2026/sponsors.html + coc: https://compute.events/paris2026/code-of-conduct + mastodon: https://mastodon.social/@computeparis + bluesky: https://bsky.app/profile/computeparis.bsky.social + sub: DATA + location: + - title: Compute! Paris 2026 + latitude: 48.8588897 + longitude: 2.3200410217200766 + - conference: Python Brasil year: 2026 link: https://2026.pythonbrasil.org.br/ @@ -774,22 +852,6 @@ latitude: 3.8689867 longitude: 11.5213344 -- conference: PyData Amsterdam - year: 2026 - link: https://amsterdam.pydata.org/ - cfp_link: https://pretalx.com/pydata-amsterdam2026/cfp - cfp: '2026-04-19 23:59:00' - timezone: Europe/Amsterdam - place: Amsterdam, Netherlands - start: 2026-09-10 - end: 2026-09-12 - twitter: pydataamsterdam - sub: DATA - location: - - title: PyData Amsterdam 2026 - latitude: 52.4036 - longitude: 4.8901 - - conference: PyCon Africa year: 2026 link: https://africa.pycon.org/ @@ -835,6 +897,7 @@ place: San Jose, USA start: 2027-10-06 end: 2027-10-07 + sponsor: https://events.linuxfoundation.org/sponsor-pytconf27 sub: DATA location: - title: PyTorch Conference 2027 @@ -894,6 +957,22 @@ latitude: 50.294113 longitude: 18.6657306 +- conference: Python Nordeste + alt_name: PyNE + year: 2027 + link: https://2027.pythonnordeste.org/ + cfp: TBA + place: Parnaíba, Brazil + start: 2027-08-13 + end: 2027-08-15 + coc: https://2027.pythonnordeste.org/cdc.html + youtube: https://www.youtube.com/@pythonnordeste + sub: PY + location: + - title: Python Nordeste 2027 + latitude: -2.9147515 + longitude: -41.7661953 + - conference: PyOhio year: 2027 link: https://www.pyohio.org/ @@ -909,7 +988,25 @@ latitude: 41.4996574 longitude: -81.6936772 +- conference: North Bay Python + year: 2027 + link: https://northbaypython.org/ + cfp: TBA + place: Petaluma, USA + start: 2027-06-19 + end: 2027-06-20 + sponsor: https://northbaypython.org/sponsor + mastodon: https://social.northbaypython.org/@NorthBayPython + bluesky: https://bsky.app/profile/northbaypython.org + youtube: https://youtube.com/@northbaypython + sub: PY + location: + - title: North Bay Python 2027 + latitude: 38.2325829 + longitude: -122.636465 + - conference: PyCon Armenia + alt_name: PyData PyCon Yerevan year: 2027 link: https://pycon.am/ cfp: TBA @@ -917,7 +1014,8 @@ start: 2027-06-18 end: 2027-06-19 sponsor: https://pycon.am/#sponsors - sub: PY + coc: https://pycon.am/CoC.html + sub: PY,DATA location: - title: PyCon Armenia 2027 latitude: 40.1777112 @@ -932,6 +1030,7 @@ start: 2027-06-02 end: 2027-06-05 sponsor: https://2027.pycon.it/en/sponsor + coc: https://2027.pycon.it/en/code-of-conduct twitter: PyConIT mastodon: https://social.python.it/@pycon youtube: https://www.youtube.com/playlist?list=PLUWPlMGp2t18 @@ -972,41 +1071,6 @@ latitude: 33.7690164 longitude: -118.191604 -- conference: PyCon Germany - alt_name: PyCon Germany - year: 2027 - link: https://2027.pycon.de/ - cfp: TBA - timezone: Europe/Berlin - place: Heidelberg, Germany - start: 2027-04-20 - end: 2027-04-22 - sponsor: https://pycon.de/sponsoring/ - finaid: https://pycon.de/financial-aid/ - coc: https://pioneershub.github.io/pyconde-conference/code-of-conduct/ - twitter: PyConDE - mastodon: https://fosstodon.org/@pyconde - bluesky: https://bsky.app/profile/pyconde.bsky.social - sub: PY,DATA - location: - - title: PyCon Germany & PyData Conference 2027 - latitude: 49.4093582 - longitude: 8.694724 - -- conference: Black Python Devs Leadership Summit - year: 2027 - link: https://blackpythondevs.com/bpd-events/black-python-devs-leadership-summit-2027-texas.html - cfp: TBA - place: Austin, USA - start: 2027-04-16 - end: 2027-04-16 - coc: https://blackpythondevs.com/code-of-conduct.html - sub: PY - location: - - title: Black Python Devs Leadership Summit 2027 - latitude: 30.2711286 - longitude: -97.7436995 - - conference: PyCon Czechia alt_name: PyCon CZ year: 2027 @@ -1026,28 +1090,10 @@ latitude: 49.7477415 longitude: 13.3775249 -- conference: PyCon Austria - year: 2027 - link: https://pycon.at/ - cfp: TBA - timezone: Europe/Vienna - place: Eisenstadt, Austria - start: 2027-04-11 - end: 2027-04-12 - sponsor: https://2027.pycon.at/sponsor-information/ - coc: https://2027.pycon.at/code-of-conduct/ - mastodon: https://mastodon.social/@pycon_austria - youtube: https://www.youtube.com/@PyConAustria - sub: PY - location: - - title: PyCon Austria 2027 - latitude: 47.8454821 - longitude: 16.5249288 - - conference: Python BarCamp Karlsruhe year: 2027 link: https://barcamps.eu/pythonbarcamp-karlsruhe-2027/ - cfp: TBA + cfp: None timezone: Europe/Berlin place: Karlsruhe, Germany start: 2027-02-27 @@ -1068,6 +1114,7 @@ place: Brussels, Belgium start: 2027-01-30 end: 2027-01-31 + sponsor: https://fosdem.org/2027/support/sponsors/ coc: https://fosdem.org/2027/practical/conduct/ sub: PY location: @@ -1161,12 +1208,13 @@ start: 2026-10-28 end: 2026-10-28 sponsor: https://fastapiconf.com/#sponsors - sub: PY + coc: https://fastapiconf.com/code-of-conduct + sub: WEB note: Inaugural event with invited speakers only; no Call for Proposals. location: - - title: FastAPI Conf 2026 - latitude: 52.3730796 - longitude: 4.8924534 + - title: FastAPI Conference 2026 + latitude: 52.386807 + longitude: 4.8698442 - conference: PyCon Davao year: 2026 @@ -1264,17 +1312,3 @@ - title: Pythoncamp Rügen 2026 latitude: 54.4529015 longitude: 13.3882344 - -- conference: PyDay Boyacá - year: 2026 - link: https://www.pyday.co/ - cfp: None - place: Sogamoso, Colombia - start: 2026-09-12 - end: 2026-09-12 - sponsor: https://www.pyday.co/#sponsors - sub: DAY - location: - - title: PyDay Boyacá 2026 - latitude: 5.7148307 - longitude: -72.9279328 diff --git a/utils/tidy_conf/data/titles.yml b/utils/tidy_conf/data/titles.yml index 7372e23453..1f688754bb 100644 --- a/utils/tidy_conf/data/titles.yml +++ b/utils/tidy_conf/data/titles.yml @@ -61,6 +61,9 @@ alt_name: global: PyCon CZ variations: - PyCon Czech Republic + PyCon Côte d’Ivoire: + variations: + - PyCon CI PyCon Estonia: global: PyCon EE PyCon Finland: