diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..33c6a9d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/.sass-cache +/build +/.gem +/.bundle +/_site diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..4f5e697 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.4.5 diff --git a/CNAME b/CNAME index 6197bea..a56054c 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -2026.pyconuk.org \ No newline at end of file +2026.pyconuk.org diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..5761cb3 --- /dev/null +++ b/Gemfile @@ -0,0 +1,2 @@ +source "https://rubygems.org" +gem 'github-pages' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..4e2019a --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,288 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.1.5.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + benchmark (0.4.1) + bigdecimal (3.1.9) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.11) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) + csv (3.3.5) + dnsruby (1.72.4) + base64 (~> 0.2.0) + logger (~> 1.6.5) + simpleidn (~> 0.2.1) + drb (2.2.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.10.0) + faraday (2.12.3) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.1) + net-http (>= 0.5.0) + ffi (1.17.2) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (232) + github-pages-health-check (= 1.18.2) + jekyll (= 3.10.0) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.5.1) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.16.2, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + webrick (~> 1.8) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.7) + concurrent-ruby (~> 1.0) + jekyll (3.10.0) + addressable (~> 2.4) + colorator (~> 1.0) + csv (~> 3.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + webrick (>= 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + json (2.9.1) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.6) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.25.5) + mutex_m (0.3.0) + net-http (0.6.0) + uri + nokogiri (1.17.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.17.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.17.2-x86_64-linux) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.1.1) + racc (1.8.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.2) + rouge (3.30.0) + rubyzip (2.4.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.3.2) + simpleidn (0.2.3) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (1.8.0) + uri (0.10.3) + webrick (1.9.1) + +PLATFORMS + arm64-darwin + x86_64-darwin + x86_64-linux + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.5.23 diff --git a/README.md b/README.md index 06c8c7c..6fc3607 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,56 @@ -# 2026.pyconuk.org +# 202x.pyconuk.org +PyCon UK 202x website -Sadly we've been unable to find a Conference Director, so there won't be a PyCon UK 2026. We intend to put together a grants program to support alternative / more local events in its place. +If you're starting with this base, you'll need to update the dates, etc in the `_config.yml` to reflect those for the current year. +You probably only need to care about the stuff that is called con_. +You'll also need to put appropriate links everywhere you find "There will be a link". +Also, don't forget to update the 'Schedule' link in the header when the schedule is available. -If you are interested in being part of the organising team (or indeed, Conference Director!) for 2027, please contact kristian.glass@uk.python.org +## Building Locally +### Installing Jekyll + +This site is made using [Jekyll](https://jekyllrb.com). +Jekyll is a static site generator written in ruby. +To build the project we first need to check that we have Jekyll's requirements installed. + +These are: + +* [Ruby](https://www.ruby-lang.org/en/downloads/) (tested with Ruby 3.0.2- you will also need the development headers) +* [RubyGems](https://rubygems.org/pages/download) +* [GCC](https://gcc.gnu.org/install/) +* [Make](https://www.gnu.org/software/make/) + +On Ubuntu 22.04 this can be achieved by: sudo apt-get install -y ruby ruby-dev gcc make build-essential + +You can check if you have these installed by typing ` -v` in your terminal. +If the program is available on your system then you should see the version of the program that is installed outputted in your terminal. + +For example if Ruby in installed and you run `ruby -v`, you should get output like this `ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]`. +If RubyGems is not installed an you run `gem -v` you should get an error like this `bash: gem: command not found` + +See the [Jekyll documentation](https://jekyllrb.com/docs/installation/) for more information on install Jekyll and its requirements. + +Now that you have all of Jekyll's requirements installed you can install and run Jekyll: + +```bash +./run +``` + +This will start a webserver on [http://127.0.0.1:4020/](http://127.0.0.1:4020/). +To view the website open [http://127.0.0.1:4020/](http://127.0.0.1:4020/) in your favorite web browser. +This will also automatically rebuild the project when a change to the source is detected. + +If you change the `_config.yml`, you will need to restart. + +If port 4020 is not available on your computer, you can run on another port with `--port `, e.g. `./run --port 4090` +You can disable livereload with `--nolivereload`, and not show future blog posts (the default after deployment, see below) with `--nofuture`. +If you need to check options, run `./run --help` to see available flags/etc which you can then pass directly to `./run`. + +### Adding blog posts + +Blog posts live in `src/_posts`. Each post is a file with a name of the form +`2025-01-30-.md`; for example `2025-01-30-new-year-new-pycon.md`. + +**Note a post with a date in the future will not automatically get deployed +when the main branch is updated. A manual deployment run will be required on or +after the post date.** diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..33d89bf --- /dev/null +++ b/_config.yml @@ -0,0 +1,66 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +plugins: + - jekyll-redirect-from + +title: "PyCon UK 2026" + +# Flags for when things™ happen +cfp_open: false +cfp_closed: false +fin_aid_open: false +fin_aid_closed: false +spons_prosp_avail: false +tickets_open: false +tickets_sold_out: false +schedule_ready: false +schedule_final: false +show_sponsors: false +show_django_girls: false +django_girls_applications_open: false + +# When changing the year, please change it in the title, above. We can't use vars in vars. +con_year: 2026 +con_startDate: "1971-01-01" +con_start: Noday 0th Nomonther +con_endDate: "1971-01-01" +con_finish: Noday 0th Nomonther +con_financial_assistance_deadline: "17:00 (Europe/London) on Noday, 0th Nomonther" +cfp_end: Noday 0th Nomonther 2026 +django_girls_date: Noday 0th Nomonther +young_coders_date: Noday 0th Nomonther + +con_location: Nowhere +con_director: Nobody - please get in touch if you want to help in 2027 + +con_vat_number: GB431251341 +# Don't forget to update the invoicing page if the con_company changes +con_company: UKPA Trading Ltd. (a company registered in England and Wales no. 12254310) +ukpa: The UK Python Association (a charity registered in England and Wales no. 1173471) + +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://2026.pyconuk.org" # the base hostname & protocol for your site, e.g. http://example.com + +# Build settings +source: src +destination: _site +markdown: kramdown + +sass: + style: "compact" + +permalink: "/:year/:month/:title/" diff --git a/run b/run new file mode 100755 index 0000000..af75b36 --- /dev/null +++ b/run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash +# This file should install depencies on first run and just run jekyll on future invocations +set -e + +# Ensure we're not installing gems system-wide +SCRIPT_DIR=$(dirname ${0}) +export GEM_HOME="${SCRIPT_DIR}/.gem" +export PATH="${SCRIPT_DIR}/.gem/bin:${PATH}" + +if ! bundle exec jekyll -v >/dev/null; then + # Install the version of bundler specified in the lockfile to work around a bug + # See: https://bundler.io/blog/2019/05/14/solutions-for-cant-find-gem-bundler-with-executable-bundle.html + gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)" + + # Install dependencies + bundle install + + # Run the initial build of the software + bundle exec jekyll build +fi + +# Define default option values. +PORT=4020 +FUTURE="--future" +LIVERELOAD="--livereload" + +# Parse command line for option value over-rides. +rem_args=() +while [ "$#" != '0' ]; do + case "$1" in + "--port") + shift + PORT="$1" + ;; + + "--nofuture") + FUTURE= + ;; + + "--nolivereload") + LIVERELOAD= + ;; + + *) + rem_args+=("$1") + ;; + esac + shift +done + +bundle exec jekyll serve --port "$PORT" "$FUTURE" "$LIVERELOAD" "${rem_args[@]}" diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..45c1505 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,3 @@ +_site +.sass-cache +.jekyll-metadata diff --git a/src/404.html b/src/404.html new file mode 100644 index 0000000..c472b4e --- /dev/null +++ b/src/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/src/_data/links.yaml b/src/_data/links.yaml new file mode 100644 index 0000000..5f88928 --- /dev/null +++ b/src/_data/links.yaml @@ -0,0 +1,49 @@ +# Common links. +# +# For example, to insert a link to Mastodon in a Markdown Document you can put +# {{site.md_mastodon}} {{site.md_mastodon_short}}. The first will render as: +# +# Mastodon (@PyConUK@fosstodon.org) +# +# while short version will just appear as:: +# +# Mastodon +# +# The prefix 'md_' means that the abbreviation is only suitable for use in +# content MarkDown files. +# +md: + long: + bluesky: "[Bluesky (@pyconuk.org)](https://bsky.app/profile/pyconuk.org)" + discord: "[Discord channel](https://discord.com/channels/1047085855958900776/1047085856554483784)" + linkedin: "[LinkedIn](https://www.linkedin.com/company/pycon-uk)" + mastodon: "[Mastodon (@PyConUK@fosstodon.org)](https://fosstodon.org/@PyConUK)" + twitter: "[X(Twitter) (@PyConUK)](https://twitter.com/pyconuk)" + + contactmcr: "[Contact Theatre](https://contactmcr.com)" + + short: + bluesky: "[Bluesky](https://bsky.app/profile/pyconuk.org)" + discord: "[Discord channel](https://discord.com/channels/1047085855958900776/1047085856554483784)" + linkedin: "[LinkedIn](https://www.linkedin.com/company/pycon-uk)" + mastodon: "[Mastodon](https://fosstodon.org/@PyConUK)" + twitter: "[X(Twitter)](https://twitter.com/pyconuk)" + + contactmcr: "[Contact Theatre](https://contactmcr.com)" + +html: + long: + bluesky: 'Bluesky (@pyconuk.org)' + linkedin: 'LinkedIn' + mastodon: 'Mastodon (@PyConUK@fosstodon.org)' + twitter: 'X(Twitter) (@PyConUK)' + + contactmcr: 'Contact Theatre' + + short: + bluesky: 'Bluesky' + linkedin: 'LinkedIn' + mastodon: 'Mastodon' + twitter: 'X(Twitter)' + + contactmcr: 'Contact Theatre' diff --git a/src/_data/prices.yaml b/src/_data/prices.yaml new file mode 100644 index 0000000..df3e12e --- /dev/null +++ b/src/_data/prices.yaml @@ -0,0 +1,16 @@ +# Ticket prices. +# +# The prefix 'md_' means that the abbreviation is only suitable for use in +# content MarkDown files. +# +md: + standard: + corporate: "£450" + individual: "£285" + unwaged: "£90" + young: "£9" + supporter: + corporate: "£570" + individual: "£360" + unwaged: "-" + young: "-" diff --git a/src/_includes/footer.html b/src/_includes/footer.html new file mode 100644 index 0000000..9674e2e --- /dev/null +++ b/src/_includes/footer.html @@ -0,0 +1,13 @@ +
+ +
diff --git a/src/_includes/head.html b/src/_includes/head.html new file mode 100644 index 0000000..0858901 --- /dev/null +++ b/src/_includes/head.html @@ -0,0 +1,18 @@ + + + + + + {% if page.title %}{{ page.title }} – {% endif %}{{ site.title }} + + + + + + + + + + + + diff --git a/src/_includes/header.html b/src/_includes/header.html new file mode 100644 index 0000000..c1d3472 --- /dev/null +++ b/src/_includes/header.html @@ -0,0 +1,61 @@ + diff --git a/src/_includes/pyconuk_email.md b/src/_includes/pyconuk_email.md new file mode 100644 index 0000000..bb68da3 --- /dev/null +++ b/src/_includes/pyconuk_email.md @@ -0,0 +1 @@ +{{"pyconuk@uk.python.org" | create_mailto_link}} diff --git a/src/_includes/snakes.html b/src/_includes/snakes.html new file mode 100644 index 0000000..df8ccde --- /dev/null +++ b/src/_includes/snakes.html @@ -0,0 +1,20 @@ +
+ +
Canceled for 2026
+
+
+
+
+
+
+
+
+
+ crown
+
+
+
+
+
+
+
diff --git a/src/_includes/sponsorship_email.md b/src/_includes/sponsorship_email.md new file mode 100644 index 0000000..f9ce581 --- /dev/null +++ b/src/_includes/sponsorship_email.md @@ -0,0 +1 @@ +{{"sponsorship@uk.python.org" | create_mailto_link}} diff --git a/src/_layouts/default.html b/src/_layouts/default.html new file mode 100644 index 0000000..b7a0dec --- /dev/null +++ b/src/_layouts/default.html @@ -0,0 +1,21 @@ + + + + {% include head.html %} + + + {% include header.html %} + +
+
+ {% if page.title %} +

{{ page.title }}

+ {% endif %} + + {{ content }} +
+
+ + {% include footer.html %} + + diff --git a/src/_layouts/post.html b/src/_layouts/post.html new file mode 100644 index 0000000..1d42d96 --- /dev/null +++ b/src/_layouts/post.html @@ -0,0 +1,27 @@ + + + + {% include head.html %} + + + {% include header.html %} + +
+
+ {% if page.title %} +

{{ page.title }}

+ {% endif %} + + {{page.date | date: "%-d %b %Y"}} + + {{ content }} +
+ Back to the blogs +
+ +
+ + {% include footer.html %} + + + diff --git a/src/_layouts/schedule.html b/src/_layouts/schedule.html new file mode 100644 index 0000000..0773fa4 --- /dev/null +++ b/src/_layouts/schedule.html @@ -0,0 +1,30 @@ + + + + {% include head.html %} + + + {% include header.html %} + +
+
+ {% if page.title %} +

{{ page.title }}

+ {% endif %} + + {{ content }} +
+ +{% if site.schedule_ready == true %} + + + +{% endif %} + +
+ {% include footer.html %} + + diff --git a/src/_plugins/obfuscate_email.rb b/src/_plugins/obfuscate_email.rb new file mode 100644 index 0000000..c856762 --- /dev/null +++ b/src/_plugins/obfuscate_email.rb @@ -0,0 +1,51 @@ +# This does some quick HTML encoding on email addresses to make them +# slightly harder to find for spam bots. The idea and implementation +# are both copied directly from Markdown.pl. + +module Jekyll + module EmailObfuscationFilter + + # Based on similar obfuscation code from Markdown.pl 1.0.1, the original + # Markdown implementation, L1190-1239. + # See https://daringfireball.net/projects/markdown/ + def encode_email_char(char) + encoded_chars = [ + "&#" + char.ord.to_s + ";", + "&#x" + char.ord.to_s(16) + ";", + char, + ] + + # This must be encoded + if char == "@" + encoded_chars[0..1].sample + else + r = rand() + if r > 0.9 + encoded_chars[2] + elsif r < 0.45 + encoded_chars[1] + else + encoded_chars[0] + end + end + end + + def encode_email(addr) + addr + .chars.map { |char| encode_email_char(char) } + .join("") + end + + def encode_mailto(addr) + encode_email("mailto:#{addr}") + end + + def create_mailto_link(addr) + mailto_addr = encode_email("mailto:#{addr}") + email_addr = encode_email(addr) + "#{email_addr}" + end + end +end + +Liquid::Template.register_filter(Jekyll::EmailObfuscationFilter) diff --git a/src/_posts/README b/src/_posts/README new file mode 100644 index 0000000..6ce79dd --- /dev/null +++ b/src/_posts/README @@ -0,0 +1,16 @@ +To make a post, create a new file with the following content: + + +--- +layout: post +author: The PyConUK team +title: +--- + +{% assign links = site.data.links.md.short %} + + + + + + diff --git a/src/_sass/columns.scss b/src/_sass/columns.scss new file mode 100644 index 0000000..25986ae --- /dev/null +++ b/src/_sass/columns.scss @@ -0,0 +1,157 @@ +.row { + display: grid; + grid-template-columns: calc(50% - $default-padding / 2) calc(50% - $default-padding / 2); + grid-auto-flow: column; + grid-gap: $default-padding; + + @media screen and (max-width: 500px) { + grid-template-columns: 100%; + grid-auto-flow: row; + } + + .box { + &_left { + grid-column: 1 / 2; + + @media screen and (max-width: 500px) { + grid-column: 1 / 1; + grid-row: 1 / 2; + } + } + + &_right { + grid-column: 2 / 2; + + @media screen and (max-width: 500px) { + grid-column: 1 / 1; + grid-row: 2 / 2; + } + } + } +} + +.box { + border: 3px solid; + border-radius: 5px; + padding: $default-padding; + margin-bottom: 1em; + + h2:first-child, h3:first-child, h4:first-child { + margin-top: 0; + margin-bottom: 0.5em; + } + + p:nth-child(2) { + margin-top: 0.5em; + } + + p:last-child { + margin-bottom: 0; + } + + &_blue { + border-color: $blue; + + h2, h3, h4 { + color: darken($blue, 10%); + } + } + + &_red { + border-color: $red; + + h2, h3, h4 { + color: $red; + } + } + + &_yellow { + border-color: $yellow; + + h2, h3, h4 { + color: darken($yellow, 25%); + } + } + + &_bronze { + border-color: $bronze; + + h2, h3, h4 { + color: darken($bronze, 25%); + } + } + + &_silver { + border-color: $silver; + + h2, h3, h4 { + color: darken($silver, 25%); + } + } + + &_sponsor { + border-color: white; + + border: 0px solid; + border-radius: 0px; + padding: 10px; + + float: left; + + h2, h3, h4 { + color: darken(black, 25%); + } + } + + &_sponsor_group { + display: flow-root; + } + + figure { + float: right; + max-width: 250px; + margin-left: 1em; + margin-bottom: 1em; + } +} + +.table { + border-collapse: collapse; + margin: 25px 0; + width: 100%; + min-width: 100%; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); +} + +.table thead tr { + background-color: $yellow; + color: black; + text-align: left; +} + +.table th { + text-align: left; +} + +.foodcell { + border-right: 1px solid; +} + +.foodrow:nth-child(even) { + background-color: lightgray; +} + +.vegetarian { + color: blue; + border-color: black; +} + +.vegan { + color: darkgreen; + border-color: black; +} + +.dietaryexception { + color: red; + border-color: black; +} diff --git a/src/_sass/fonts.scss b/src/_sass/fonts.scss new file mode 100644 index 0000000..eeb18aa --- /dev/null +++ b/src/_sass/fonts.scss @@ -0,0 +1,11 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=IBM+Plex+Serif:300,300i,600,600i|Raleway:300,500,700,900); +@font-face { + font-family: Futura-Bold; + src: url(/theme/fonts/futura_bold.eot); + src: url(/theme/fonts/futura_bold.eot?#iefix) format("embedded-opentype"), url(/theme/fonts/futura_bold.woff2) format("woff2"), url(/theme/fonts/futura_bold.woff) format("woff"), url(/theme/fonts/futura_bold.ttf) format("truetype") +} + +strong { + font-weight: bold; +} diff --git a/src/_sass/footer.scss b/src/_sass/footer.scss new file mode 100644 index 0000000..f22db7d --- /dev/null +++ b/src/_sass/footer.scss @@ -0,0 +1,33 @@ +footer { + padding: 9vw 0 3vw; + margin-top: 9vw; + position: relative; + font-size: 80%; + + @media print { + visibility: hidden; + display: none; + } + + #footer_inner { + text-align: center; + @include centred($max-width - 100px); + padding: 1px $default-padding; + } + + a { + @include link_styles(black, 0.25); + } + + &::before { + content: ""; + display: block; + position: absolute; + top: -9vw; + width: 0; + height: 0; + border-style: solid; + border-width: 7vw 100vw 0 0; + border-color: #fff transparent transparent transparent; + } +} diff --git a/src/_sass/header.scss b/src/_sass/header.scss new file mode 100644 index 0000000..c8e36bd --- /dev/null +++ b/src/_sass/header.scss @@ -0,0 +1,79 @@ +aside { + position: relative; + + @media print { + visibility: hidden; + display: none; + } + + a { + @include link_styles(black, 0.25); + } + + #aside_inner { + @include central_element(); + + padding: 1em; + + h1 { + font-family: Futura-Bold; + text-transform: uppercase; + letter-spacing: -0.02em; + font-size: 2.75em; + margin-top: 0.3em; + margin-bottom: 0; + line-height: 1.1; + } + + .dot_list { + margin-bottom: 0; + } + + h3 { + font-weight: normal; + } + + img { + float: right; + height: 150px; + margin-top: 5px; + } + + .flip-horizontally { + transform: scaleX(-1); + } + + @media screen and (max-width: 400px) { + img { + display: none; + } + + h1 { + font-size: 1.8em; + } + + h3 { + font-size: 0.9em; + } + } + } + + #action_items { + margin-bottom: 0; + } + + #action_items a { + padding: 3px 9px; + display: inline-block; + color: white; + background: darken($blue, 5%); + border-radius: 5px; + text-decoration: none; + font-weight: bold; + margin-top: 7px; + } + + #action_items a:hover { + background: darken($blue, 30%); + } +} diff --git a/src/_sass/mixins.scss b/src/_sass/mixins.scss new file mode 100644 index 0000000..c80310c --- /dev/null +++ b/src/_sass/mixins.scss @@ -0,0 +1,17 @@ +@mixin centred($max-width) { + max-width: $max-width; + margin-left: auto; + margin-right: auto; +} + +@mixin central_element() { + @include centred($max-width); + padding: 1px $default-padding; +} + +@mixin link_styles($color, $opacity) { + color: $color; + &:hover { + background: rgba($color, $opacity); + } +} diff --git a/src/_sass/snakes.scss b/src/_sass/snakes.scss new file mode 100644 index 0000000..60de89f --- /dev/null +++ b/src/_sass/snakes.scss @@ -0,0 +1,279 @@ +.pyconuk { + box-sizing: content-box; + font-size: .85vw; + left: 50%; + margin-top: -8vw; + position: absolute; + top: 0; + transform: scale(0.75, 0.75) translateX(-50%) translateY(-50%); +} + +.pyconuk *, +.pyconuk :after, +.pyconuk :before { + box-sizing: content-box; +} + +.thankyou { + background: #fff; + border: .25em solid #000; + color: #000; + display: block; + font-family: Futura-Bold; + font-size: 3em; + left: 50%; + line-height: 1; + margin-left: -7.75em; + padding: .3em 0 .2em; + position: absolute; + text-align: center; + text-transform: uppercase; + top: 7.5em; + width: 15.25em; + z-index: 9000; +} + +.circle { + background: #fff; + border: 3em solid #000; + border-radius: 100%; + font-size: 1em; + height: 32em; + line-height: 30em; + margin: 0 auto; + position: relative; + text-align: center; + width: 32em; +} + +.circle:after { + border: 3em solid #000; + border-radius: 100%; + content: ''; + display: block; + height: 32em; + left: -3em; + position: absolute; + top: -3em; + width: 32em; + z-index: 5000; +} + +.python { + box-sizing: content-box; + display: inline-block; + height: 20em; + margin: 7em 1em; + position: relative; + width: 7em; + z-index: 1; +} + +.python:after, +.python:before { + content: ' '; + display: block; + position: absolute; +} + +.python:before { + border-radius: 1.5em 1.5em 0 0; + height: 3em; + left: 0; + right: 0; + top: 0; +} + +.python:after { + bottom: 0; + right: 0; + top: 3em; + width: 3em; +} + +.python.blue:after, +.python.blue:before { + background: #0071bc; +} + +.python.blue .eye { + animation: blink 1.9s infinite; +} + +.python.red:after, +.python.red:before { + background: #ed1c24; +} + +.python.red .eye { + animation: blink 2.4s infinite; +} + +.python.yellow:after, +.python.yellow:before { + background: #fc0; +} + +.python.yellow .eye { + animation: blink 2s infinite; +} + +.python.right { + transform: rotateY(180deg); +} + +@keyframes spin { + 50% { + transform: rotateY(180deg); + } + + 100% { + transform: rotateY(-180deg); + } +} + +@keyframes blink { + 90% { + animation-timing-function: ease-in; + transform: none; + } + + 93% { + transform: scaleY(0); + } + + 100% { + animation-timing-function: ease-out; + } +} + +.moustache:after, +.moustache:before { + background: #000; + border-radius: 3em 0 3em 1em; + content: ''; + display: block; + height: 1.5em; + position: absolute; + top: 2.25em; + transform: rotate(60deg); + width: 2em; + z-index: 0; +} + +.moustache:after { + margin-left: -1.3em; + transform: rotatez(180deg) scale(.8); +} + +.eye { + animation: blink 2.4s infinite; + background: #fff; + border-radius: 100%; + display: block; + height: 1.3em; + left: .75em; + position: relative; + top: .75em; + width: 1.3em; + z-index: 1000; +} + +.deerstalker { + background: #000; + border-radius: 4em 4em 0 0; + display: block; + height: 3.5em; + margin-left: 3em; + margin-top: -2.8em; + position: absolute; + transform: rotateZ(15deg); + width: 4.5em; + z-index: 100; +} + +.deerstalker:after, +.deerstalker:before { + border: solid .5em #000; + border-color: #000 transparent transparent transparent; + border-radius: 6em 8em 0 0; + content: ''; + display: block; + height: .5em; + margin-left: -1em; + margin-top: 2em; + position: absolute; + transform: rotateX(180deg); + width: 7em; +} + +.deerstalker:after { + height: .25em; + margin: -1em 0 0 1.5em; + width: 1em; +} + +.glasses { + border-radius: 100%; + border: .4em solid #000; + display: block; + height: 1.7em; + margin-left: .2em; + margin-top: -1.25em; + position: relative; + width: 1.7em; + z-index: 500; +} + +.glasses:before { + border: .4em solid #000; + border-color: #000 transparent transparent #000; + border-radius: 100%; + content: ''; + display: block; + height: 1.7em; + margin-left: -1.5em; + margin-top: -.5em; + position: absolute; + transform: scale(.7) rotateZ(-30deg); + width: 1.7em; + z-index: -100!important; + z-index: 500; +} + +.glasses:after { + border: solid .35em #000; + border-radius: 0 8em 0 0; + border-color: #000 transparent transparent transparent; + content: ''; + display: block; + height: 1em; + margin-left: 1.7em; + margin-top: 0; + position: absolute; + width: 3.5em; +} + +.crown { + background-size: 100% auto; + height: 6em; + margin: -15.7em 0 0 5em; + position: absolute; + transform: rotateZ(15deg) rotateY(180deg); + width: 6em; + z-index: 20; +} + +.slueth { + top: -4.3em; +} + +.queen { + height: 28em; + margin-right: -.5em; + top: -1.8em; +} + +.swot { + top: -4.3em; +} diff --git a/src/_sass/untitled.txt b/src/_sass/untitled.txt new file mode 100644 index 0000000..7e6a1c0 --- /dev/null +++ b/src/_sass/untitled.txt @@ -0,0 +1,31 @@ +#creche { + display: grid; + grid-template-columns: calc(35% - 0.5em) calc(35% - 0.5em) 30%; + grid-auto-flow: column; + grid-gap: $default-padding; + row-gap: 0; + + @media screen and (max-width: 500px) { + grid-template-columns: 100%; + row-gap: $default-padding; + } + + .title { + grid-column: 1 / span 2; + grid-row: 1 / 2; + } + + .left { + grid-column: 1 / 3; + grid-row: 2 / 2; + + p:first-child { + margin-top: 0; + } + } + + .center { + grid-column: 2 / 3; + grid-row: 2 / 2; + } +} diff --git a/src/attendee-portal.md b/src/attendee-portal.md new file mode 100644 index 0000000..0e245f9 --- /dev/null +++ b/src/attendee-portal.md @@ -0,0 +1,64 @@ +--- +layout: default +title: Attendee Portal +--- + +
+ +
+

What's on today?

+

+ The + schedule + has the latest information on what talks, are happening when and where. +

+
+ +
+

Code of Conduct

+

+ All attendees are expected to follow the + Code of Conduct. +

+
+ +
+

Looking for a room?

+

+ Click here + for floor plans and other information about the conference venue. +

+
+ +
+ +
+ +
+

What is for lunch?

+

+ The + menu page + has details on the available food and relevant dietary information. +

+
+ +
+

Have a Question?

+

+ Perhaps our + FAQ + will have what you are looking for. +

+
+ +
+

Discord

+

+ Come and chat with your fellow attendees on the conference's Discord + using the invite link from your ticket confirmation mail, or ask at + the registration desk. +

+
+ +
diff --git a/src/blog.html b/src/blog.html new file mode 100644 index 0000000..f6ff315 --- /dev/null +++ b/src/blog.html @@ -0,0 +1,12 @@ +--- +layout: default +title: 2025 Blog +--- + + diff --git a/src/call-for-proposals.md b/src/call-for-proposals.md new file mode 100644 index 0000000..2efb57d --- /dev/null +++ b/src/call-for-proposals.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Call for Proposals +--- + +

{% if site.cfp_closed %}The CFP has now closed.{% elsif site.cfp_open == true %}Submit your proposal{% else %}We'll publish a link here to submit your proposal when the CFP opens.{% endif %}

+ +

We welcome proposals from everyone. You don't need to be an expert, or an expert speaker. Below you can find out what kind of proposals we're seeking, but if you're in any doubt whether you should submit a proposal, please see...

+ +Why you should submit a proposal + +
+

The call for proposals {% if site.cfp_closed %}closed{% else %}will close{% endif %} at 23:59 (Europe/London) on {{ site.cfp_end }}.

+

Selections will be made after the CFP closes.

+

{% if site.cfp_closed %}The CFP has now closed.{% elsif site.cfp_open == true %}Submit your proposal{% else %}We'll publish a link here to submit your proposal when the CFP opens.{% endif %}

+
+ +How to submit a more successful proposal + +
+
+ Contact Manchester's Space 1. +
+ Contact Manchester's Space 1.. + Photo by Drew Forsyth. +
+
+ +

A projector is available in all rooms.

+ +

Submit a talk proposal

+

Speak on our main stage

+

All sessions on the main stage are 25 minutes long (including time for discussion) and are recorded and uploaded to our YouTube channel.

+
+ +
+
+ Two people can be seen sitting at desks, intent upon their laptops as they work on the workshop in Cardiff City Hall. A large screen shows information pertaining to the workshop. +
+ +

Submit a proposal for an in-depth talk

+

Explore a topic more deeply with a smaller audience (max. 60 people)

+

Sessions are 85 minutes long and are not recorded.

+
+ +
+
+ A person talking to an audience in Cardiff City Hall with a projector screen behind them a flipchart to their right. +
+

Submit a proposal for an interactive workshop or collaborative session

+

Max. 50 people, in a classroom-style set-up

+

Sessions are 85 minutes long and are not recorded.

+
+ +
+

Young Coders' Events

+

Inspire the next generation (aimed at ages 8 - 16) and help shape the future of coding!

+

We have Space 4 set up classroom style, with capacity for around 20 young coders (plus their guardians) and a projector and screen.

+

Are you a developer, educator, or just love tech? Guide young minds in an exciting hands-on session - whether it’s coding a simple game, bringing robots to life, creating an interactive website or hacking on fun puzzles and challenges.

+

Let them shine!

+

At the end, participants can show off their creations to the rest of the conference—because every coder deserves a moment in the spotlight!

+

Sessions are 45 minutes long and are not recorded.

+
diff --git a/src/call-for-proposals/proposal-submission-advice.md b/src/call-for-proposals/proposal-submission-advice.md new file mode 100644 index 0000000..a52f4e1 --- /dev/null +++ b/src/call-for-proposals/proposal-submission-advice.md @@ -0,0 +1,51 @@ +--- +layout: default +title: Submit a successful proposal +--- + +

We expect to receive many more talk proposals than we can accept. That means that the competition for proposals is extremely high.

+ +

This page is intended to help you improve your proposal, so that it has a better chance of being accepted.

+ +
+

The topic doesn't matter (much)

+

It's important to understand that the topic itself almost never makes a difference. It doesn't matter how important or interesting the topic is. What matters are the talk that will discuss it, and the speaker who will be doing the talking.

+

Do: clearly describe the topic, and say a few words about why you think it's important - but briefly.

+

Don't: provide a lot of unnecessary detail about the topic, or feel that you need to justify the topic itself.

+
+ +
+

What if you're not an expert?

+

Perhaps you're not a world-class expert on the subject. Perhaps you haven't written a book about it, and perhaps you're not internationally known as the creator of a famous software library or project. That's fine! Most people are also not one of these either, so it really doesn't matter.

+

There is also no guarantee that experts will give insightful or interesting talks, so just being an expert is not enough anyway. Sometimes, the most illuminating, interesting and valuable sessions are that because they are not by experts.

+

Do: briefly mention your level of expertise.

+

Don't: feel you need to hide or excuse it if you consider yourself a beginner.

+
+ +
+

Your perspective matters

+

The unique thing about your proposal is... you. Whatever the topic, you will have encountered it from the particular perspective of your own unique needs, abilities and resources. That encounter, and what you have been able to take away from it, is what will interest us. Anybody can tell us about such-and-such a library or tool; only you can tell us about it from your perspective.

+

Do: highlight your experiences and situation.

+

Don't: try to offer an objective, perspective-free account.

+
+ +
+

What's the story?

+

People love being told stories, and stories are one of the best way to explain something in a way that can be easily understood. A narrative structure in your proposal will help us understand it better.

+

Do: tell your story; tell us where you came from, where you wanted to go, where you actually ended up, and what adventures you had along the way.

+

Don't: just put together a list of points, with no narrative arc or tension.

+
+ +
+

Dare to be different

+

We want to hear something new - especially if it's about a familiar and well-known subject. Generic overviews, however expertly presented, will not stand out - but an unusual focus, approach or emphasis will.

+

Do: take a chance and propose something different from the expected, or that you plan to present in a different way, or from a different angle.

+

Don't: play it safe, trying to come up with something generic enough to have a little interest for everyone.

+
+ +
+

Focus

+

Identify the really important things in your proposal, and focus on them as tightly as you can. Ignore the rest. That helps us see what the proposal is really about.

+

Do: be specific, focused and clear; exclude everything that isn't essential.

+

Don't: allow your focus to wander, or fill your proposal with distracting, unnecessary background information.

+
diff --git a/src/call-for-proposals/why-you-should-submit-proposal.md b/src/call-for-proposals/why-you-should-submit-proposal.md new file mode 100644 index 0000000..28a3a11 --- /dev/null +++ b/src/call-for-proposals/why-you-should-submit-proposal.md @@ -0,0 +1,56 @@ +--- +layout: default +title: A conference proposal? Me? Why? +--- + + + +
+

Everyone has something to share

+

You might be a world-class expert or you might be a new beginner. Either way, you almost certainly have something worth sharing with other people.

+

It could be a story, a lesson, an idea, an experience, a protest, a discovery, a failure, a creation, a work in progress, a sucess, a challenge- anything at all.

+

The perspectives and experiences of new contributors are just as valuable as (and sometimes more surprising than) those of seasoned contributors.

+
+ +
+

PyCon UK has a large and enthusiastic audience

+

Whatever it is you have to share, it's going to strike a chord with at least someone in our audience. Your contribution, however modest or specialised you think it might be, could be exactly what someone else has been waiting for.

+

A session at PyCon UK is an excellent way to raise interest in a project, find new collaborators, or draw attention to a problem.

+

Our audience is supportive, friendly and respectful, and people are there precisely because they want to hear about new things that they can become involved in and make a difference to.

+
+ +
+

We're committed to making it a positive experience

+

We know how much effort and time our contributors put into their sessions. For many of them, it's a very big deal to stand up in front of an audience and speak publicly.

+

We want you to remember the experience as a positive one, and to want to repeat it.

+
+ +
+

Our speakers keep coming back

+

People love speaking at PyCon UK, and keep coming back for more (typically, with increasingly ambitious and audacious proposals).

+

This includes many for whom it was their first speaking experience. There's hardly a better way to build your skills and confidence than by getting started at a PyCon UK.

+
+ + diff --git a/src/code-of-conduct.md b/src/code-of-conduct.md new file mode 100644 index 0000000..47462f1 --- /dev/null +++ b/src/code-of-conduct.md @@ -0,0 +1,55 @@ +--- +layout: default +title: Code of Conduct +--- + +We want all attendees to have an enjoyable experience At PyCon UK. All attendees - delegates, speakers, volunteers, sponsors, exhibitors and organisers - are expected to abide by this Code of Conduct. If necessary, the organisers will act to enforce it. + +**All attendees are expected to show respect and courtesy to others throughout the conference and at all conference events.** +This includes social and fringe events, whether officially sponsored by PyCon UK or not. + +
+
+

Communication

+ +

+ All communication should be appropriate for a general audience, which may include children and people from many different backgrounds. Sexual language and imagery are not welcome. +

+ +

+ Please be thoughtful when making jokes or discussing sensitive topics or issues that are likely to have a strong personal effect on some people. If in doubt, ask for advice or simply moderate your expression. +

+
+ +
+

Harassment

+ +

+ PyCon UK will not tolerate harassment in any form, or language, imagery or behaviour that is: +

+ +
    +
  • sexist, racist or exclusionary
  • +
  • intimidating or threatening
  • +
  • insulting or unpleasant
  • +
+ +

+ Harassment can include any unwelcome behaviour directed at another person. +

+
+
+ +## If there is a problem + +If you are troubled by the behaviour of another attendee at the conference, or are concerned that another attendee may be in distress, please speak immediately to any member of conference staff or contact our code of conduct liaison volunteers. See [how to report a code of conduct concern](/code-of-conduct/how-to-report/). + +Your concern will be heard in confidence, taken seriously, and dealt with according to a documented procedure for handling code of conduct reports. + +Conference staff - volunteers and organisers - will be on hand throughout the conference. Any concern, whatever it is, will be immediately passed on to a member of the conference committee. The committee will investigate promptly and if necessary will take appropriate action. This could include: + +* asking a violator of the Code of Conduct to leave the event immediately (no refunds will be forthcoming) +* passing on details of the incident to the [Python Software Foundation](https://www.python.org/psf-landing/) +* informing the police about the incident + +We will provide you with a written statement of the outcome, whatever it is. diff --git a/src/code-of-conduct/how-to-report.md b/src/code-of-conduct/how-to-report.md new file mode 100644 index 0000000..15c5091 --- /dev/null +++ b/src/code-of-conduct/how-to-report.md @@ -0,0 +1,34 @@ +--- +layout: default +title: "Code of Conduct: how to report a problem" +--- + +If you want to make a code of conduct report, you can contact the Code of Conduct committee by: + +* Emailing us at +* Finding one of the conference organisers at the conference + +Our Code of Conduct team members are: + +* Baptiste Mispelon (he/him) +* Becky Smith (she/her) +* Providence Onyenekwe (she/her) +* Thibaud Colas (he/him) + +Should an incident occur, please report it, preferably in writing. If in doubt, report your concerns. There is very little harm in an unneccessary report, but potentially significant harm in an unreported problem. + +**All reports will be kept confidential.** + +When reporting the incident, try to gather as much information as available. A committee member can assist you in writing the report or collecting information. Please do not interview people about the incident, but leave this to a committee member. + +The important information consists of: + +* identifying information about the individuals involved +* the nature of the problematic behaviour +* the approximate time of the behaviour +* the circumstances surrounding the incident + +Committee members will be well-briefed on how to deal with incident reports, and on how to further proceed with the situation. +See [our guidelines](/code-of-conduct/incident-handling-guidelines/) for more information. + +Committee members will be happy to help participants contact venue security or the police, provide escorts, or otherwise assist attendees. diff --git a/src/code-of-conduct/incident-handling-guidelines.md b/src/code-of-conduct/incident-handling-guidelines.md new file mode 100644 index 0000000..0ef9267 --- /dev/null +++ b/src/code-of-conduct/incident-handling-guidelines.md @@ -0,0 +1,61 @@ +--- +layout: default +title: "Code of Conduct: incident handling guidelines" +--- + +All committee members should read this document and be familiar with its contents. + +Be sure to have a good understanding of our [Code of Conduct](/code-of-conduct/). Also have a good understanding of [what is expected from an attendee who reports an incident](/code-of-conduct/how-to-report/). + +## First response + +**If there is any general threat to attendees or the safety of anyone is in doubt, summon security or call the police.** + +## Gather information + +Try to get as much of the incident in written form by the reporter. If you cannot, transcribe it yourself as it was told to you. The important information to gather includes the following: + +* identifying information about the individuals involved +* the nature of the problematic behaviour +* the approximate time of the behaviour +* the circumstances surrounding the incident + +## If someone is in distress + +* Find them a quiet and private place to sit. +* Ask them if there is a friend whom they'd like to be with. +* Ask them "how can I help?". +* Ensure they have contact information for you and the committee. + +## Follow up the report + +Alert the conference chair and other committee members. This meeting needs to establish, as far as possible: + +* what happened +* what needs to be done, who will do it, and when + +If the committee decides that the complaint merits further action, the subject of the complaint needs to be informed about the matter. This must take place privately. + +Allow them to respond. + +On the basis of all the information you have received, the committee will need to decide on an appropriate action and communicate it to the parties involved. + +If appropriate, make a public announcement regarding the issue. This need not give any more details than "We received a code of conduct complaint, investigated it according to our published policy, and decided [your decision]." + +## Emergency action + +Occasionally, you may be required to act immediately. For example, you may need to interrupt or even terminate a talk or session that is in serious violation of the code of conduct, or warn someone about language or behaviour on the spot. + +What not to do + +Do not: + +* invite a complainant to withdraw a complaint, or imply that they might wish to (however, you can give them the option by using a form such as "We will [do such-and-such], as long as you are still happy with that." +* ask for their advice on how to deal with the issue +* ask for their opinion on an appropriate sanction + +However seriously you take a complaint, avoid implying that you will take a particular course of action until the committee has been able to consider the matter. + +## Keep a written record + +It's important to have a written record of the complaint, decisions, and actions taken. Some actions will need to be taken after the event. A written record ensures that the matter can be followed up adequately. diff --git a/src/contact.md b/src/contact.md new file mode 100644 index 0000000..1a157f7 --- /dev/null +++ b/src/contact.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Contact Us +--- + +You can email the organising committee at {{ "pyconuk@uk.python.org" | create_mailto_link }}. + +## About the organisers + +PyCon UK is organised entirely by volunteer members of the Python community in the UK. + +The conference director of PyCon UK {{ site.con_year }} is **{{ site.con_director }}**. + +The conference is staged by {{ site.con_company }} on behalf of {{ site.ukpa }}. + + + +## PyCon UK artwork + +PyCon UK is very grateful for the original and characteristic graphic art produced for us -- as it has been for several years -- by [The Developer Society](https://www.dev.ngo). This includes our website, our logos and designs, and the instantly-recognisable Pythons that grace them. diff --git a/src/django-girls.md b/src/django-girls.md new file mode 100644 index 0000000..f4fd74f --- /dev/null +++ b/src/django-girls.md @@ -0,0 +1,62 @@ +--- +layout: default +title: Django Girls +--- +{% if site.show_django_girls != true %}

It looks like nobody is here. Hopefully they're on their way!

{% else %} +

Django Girls is a free one-day web programming workshop for total beginners.

+ +

In the workshop, you'll learn the basics of web programming using Django, the free framework that's behind hundreds of thousands of websites, including huge projects like Instagram and Pinterest.

+ +

Django Girls is a hugely successful world-wide project that has introduced thousands of women and girls to programming; it has run at PyCon UK since 2015.

+ +Apply to attend Django Girls at PyCon UK {{ site.con_year }} + +
+ The django girls balloon-banner. +
+ +
+

What you need

+

You don’t need to know anything at all about programming.

+

However, you will need to bring your own laptop and to be able to commit to the all-day workshop.

+
+ +
+ One of the django girls thinking. +
+ +
+

Be part of PyCon UK {{ site.con_year }}

+

The workshop is free of charge and is part of PyCon UK.

+

Django Girls attendees at PyCon UK will be offered a free conference ticket to the full multi-day conference.

+

We encourage you to make the most of this - it's a fun few days in a wonderful city and you will have the chance to take your programming skills further and be a part of the Python community!

+

As complete beginners to programming, you will be especially welcome at PyCon UK {{ site.con_year }}.

+

We want to make your introduction to programming as enjoyable as possible.

+
+ +
+ One of the django girls being assisted- you're not alone. +
+ +
+

PyCon UK is here to support you

+

PyCon UK wants you to be here.

+

We provide a free crèche for your small children, so you don't have to worry about child care. If you need financial assistance to make your attendance possible, we can help cover transport, accommodation and other costs. The venue is suitable for attendees with mobility disabilities, and if you inform us about other needs, we can help.

+

Django Girls is trans-inclusive and non-binary people are warmly welcomed. PyCon UK is a safe and friendly space for people of all identities and operates a strict Code of Conduct for the benefit of all attendees.

+

How we support attendees

+

If you require financial assistance, please indicate this in the relevant question on the application form.

+
+ +
+ Another one of the django girls being assisted- you're not alone. +
+ +{% if site.django_girls_applications_open == true %} +[Apply to attend Django Girls at PyCon UK {{ site.con_year }}][dg-at-pycon] +{% else %} +[More about Django Girls at PyCon UK {{ site.con_year }}][dg-at-pycon] +{% endif %} + +{% endif %} + +[dg-at-pycon]: https://djangogirls.org/pyconuk/ diff --git a/src/downloads/PyCon-UK-2025-Brochure.pdf b/src/downloads/PyCon-UK-2025-Brochure.pdf new file mode 100644 index 0000000..d453bc7 Binary files /dev/null and b/src/downloads/PyCon-UK-2025-Brochure.pdf differ diff --git a/src/faq.md b/src/faq.md new file mode 100644 index 0000000..0a9cebc --- /dev/null +++ b/src/faq.md @@ -0,0 +1,72 @@ +--- +layout: default +title: FAQs +--- + +

If you're new to Python or to PyCon UK, or are just wondering what on earth "Sprinting Pythonistas" means, you're in the right place!

+

If a question isn't covered here, you can get in touch and ask. + +

Will there be food? Absolutely! We provide a light breakfast, lunch, and morning/afternoon refreshments. This is included in the price of your ticket. A variety of dietary requirements are catered for, with more details available via the attendee portal that you will be able to access via a QR code on your badge after you arrive.

+ +

Can I volunteer to help? Indeed you can! The conference relies on a cast of wonderful volunteers- people just like you. There are always lots of tasks available, big and small, if you want to make a contribution. Maybe you fancy helping to record the talks? Perhaps your inner MC is itching to chair a session? Or how about offering to assist with the reception desk?
+If you do want to help, send an email to {{ "volunteers@uk.python.org" | create_mailto_link }} and we'll add you to our #volunteers disord channel. You can also select that you're willing to be a volunteer when you buy your ticket and you'll be contacted. During the conference itself, you can find one of our friendly on-site volunteers who will be happy to put you in +touch with our volunteers coordinator. Don't worry, it's not a binding commitment!

+ +

What is Python? The Python website has lots of helpful details on Python, including links to tutorials.

+ +

Do you pay speaker expenses? All speakers, workshop leaders and Young Coder session leaders +will receive a free ticket to the full 4 day conference. Unfortunately, as a community conference, we do not have the +funds to pay for additional travel and accommodation costs.

+ +

What age is the Young Coders Day aimed at? We expect that Young Coders sessions will be suitable +for approximately 8-16 year olds.

+ +

I'm 17. Can I come to the conference?Yes! Under-18s are welcome as attendees at the main conference. However, if you are under 18, you will need to be accompanied by an adult, who is the main ticket holder. Each conference ticket holder can add up to 2 under-18s to their ticket purchase.

+ +

Can you help me with a visa application? If you require an invitation letter for your visa application, please first purchase your ticket and then send an email to {{ "pyconuk@uk.python.org" | create_mailto_link }} with your request.

+ + +

Glossary

+ + + + + + + +
PythonistaA person who programs in Python.
+ +

What is a Sprint/Young Coders' Day/other conference event type?

+ +
+

Main Stage Events

+

Come to the main stage to see talks on a range of topics, with real-time speech to text translation!

+
+ +
+

Classroom Events

+

Listening to talks is great, but sometimes it's nice to actually get on and try to do something yourself! Come to a classroom event to learn about something and then try to put it into practise.

+

Past highlights have included various robotics and audio workshops.

+
+ +
+

Lecture Room Events

+

Looking for longer talks, or ones that may have more audience participation? Head for the lecture room!

+
+ +
+

Young Coders' Events

+

Calling all young coders! Join us at PyCon UK for a day of Python, learning new skills and trying out exciting projects. We'll be running workshops in the morning to get to grips with coding and after lunch you'll have the opportunity to work together and create something new. At the end of the day, you'll show and tell your creations with the rest of the conference!

+

Young Coder's sessions are aimed at those aged around 8-16 years.

+
+ +
+

Sprints

+

Get involved with an open source project! You can pitch a project you're currently working on, or volunteer to help with one that is being worked on.

+

You don't need to be a great coder for this! Projects can benefit greatly from users helping with documentation or other tasks that don't require you to be able to code a bogosort blindfolded!

+
+ +
+

Evening Social Events

+

Stick around in the evenings to socialise with your fellow conference-goers. Aside from impromptu meetups in various pubs, there are also events held within the venue. Past events have included board gaming, crocheting, and live algorithmically generated music.

+
diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000..c1b41fa Binary files /dev/null and b/src/favicon.ico differ diff --git a/src/financial-aid-form.md b/src/financial-aid-form.md new file mode 100644 index 0000000..a9fdcfc --- /dev/null +++ b/src/financial-aid-form.md @@ -0,0 +1,6 @@ +--- +layout: default +redirect_to: "https://forms.gle/DQdn1VJaG1z76LJw6" +--- + +

You should be automatically redirected. If you are not, click here to be redirected.

\ No newline at end of file diff --git a/src/financial-assistance.md b/src/financial-assistance.md new file mode 100644 index 0000000..58b20e7 --- /dev/null +++ b/src/financial-assistance.md @@ -0,0 +1,58 @@ +--- +layout: default +title: Financial Assistance +--- +

{% if site.fin_aid_closed %}Please note that financial aid applications have now closed.{% elsif site.fin_aid_open == true %}Submit your application{% else %}Please note that financial aid applications are not yet open.{% endif %}

+PyCon UK is pleased to offer grants for those who might otherwise not be able to attend. + +## Contributions +You can help by purchasing a Supporter ticket which will allow us to allocate extra funds to providing cheaper or free tickets to those who would not otherwise be able to afford to attend. + +## Eligibility +We encourage anyone who needs assistance to attend to apply for a grant. We’d love to be able to help all those who submit applications, but our funds are not unlimited, so we can’t meet all requests. Our goal is to maximise the impact our grant program has, within the limited funds that we have available. + +Your application will be treated in complete confidence. + +Our selection process will take into account: + +* Whether PyCon UK is the most local Python event that the applicant could possibly attend. +* The contribution that the applicant can make to the conference and the wider community. This may be because you are a speaker or workshop/tutorial presenter, or because you have an impact on the Python community in some other way (e.g. local community organisers, open source contributors). +* Supporting inclusivity and diversity by prioritising those who belong to under-represented or marginalised groups*. +* Supporting newcomers to the Python community, especially first time attendees who may not have the financial means to attend. +* The impact attendance at the conference will have on the individual applicant compared to others. This may take into account factors such as their local opportunities to attend similar conferences, their involvement in the local community, and their individual circumstances. + +*under-represented or marginalised groups include, but are not limited to: + +* women and other gender minorities of all expressions and identities; e.g. trans, agender and non-binary people +* people of colour +* sexuality minorities, including asexual people +* people with disabilities, whether visible and invisible +* neurodivergent people +* people with chronic illnesses or diseases +* religious and ethnic minorities +* age minorities (under ~21, over ~60) +* people experiencing poverty +* homeless and home/food-insecure people +* caregivers of children or other dependents +* people who have experienced trauma and its aftermath (PTSD, anxiety, etc) +* people living with or recovering from substance abuse +* people who have been displaced or affected by wars in Ukraine and elsewhere + +## How to apply + +

{% if site.fin_aid_closed %}Financial aid applications have now closed.{% elsif site.fin_aid_open == true %}Submit your application{% else %}Financial aid applications are not yet open.{% endif %}

+ +Financial Assistance applications will close on {{ site.con_financial_assistance_deadline }} {{ site.con_year }}. + +You can apply for 3 types of grant: + +* Conference ticket: a free standard ticket to the full conference talks and sprints (note that if you are a speaker, you will receive a free ticket) +* Travel and accommodation: we will consider applications for contributions towards travel and accommodation costs up to a maximum £300 +* Visa application fee: reimbursement for the cost of a UK Standard Visitor visa (up to £100). + +If you have any questions, feel free to reach out to the organisers at {{ "pyconuk@uk.python.org" | create_mailto_link }}. + +## Receiving funds +Grants will be paid at the conference or shortly after, as a cheque in GBP. + +Reimbursements for travel/accommodation/visa fees will only be made after submission of invoices/receipts. diff --git a/src/food.md b/src/food.md new file mode 100644 index 0000000..f26e034 --- /dev/null +++ b/src/food.md @@ -0,0 +1,288 @@ +--- +layout: default +title: Food! (and dietary issues) +--- + +

Please see the dietary statuses below. If you have any questions about ingredients, whether as noted below or otherwise, please ask a member of the serving staff.

+ +

Our menu options are selected to cater for as many dietary requirements as possible. However, a number of vegan and gluten free options will also be kept separate; please ask serving staff if you require them.

+ +

Please note that all food is prepared in the same kitchen so cross-contamination is a possibility.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FRIDAYV/VEGluten freeEgg/dairy free
Croissants, Pain au ChocolatVegetariannono
Fruit PotsVeganyesyes
Sandwich Platters (a mix of meat, fish, egg, dairy, vegetarian & vegan sandwiches)Vegan available - request from staff, VegetarianAvailable - request from staffno
Freshly Made Salad PlattersVeganyesyes
Party Platters (homemade sausage rolls, scotch eggs & chicken (halal) goujons)nonono
Meat-free Party Platters, (homemade mushroom sausage rolls)Vegannoyes
Sweet Potato Scotch EggsVegetariannono
Lemon & Pea Bites/FalafelVegannoyes
Sweet Platters (a mix of cakes, flapjacks & tray bakes)Vegetariannono
Fresh Fruit PlattersVeganyesyes
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SATURDAYV/VEGluten freeEgg/dairy free
Croissants, Pain au ChocolatVegetariannono
Fruit PotsVeganyesyes
Beef Chilli (Halal)
+ British beef slow-cooked with tomatoes, fresh chilli, peppers, beans & Mexican spices. served with rice
noyesno
Lasagne
+ Italian lasagne pasta, creamy cheese sauce & slow-cooked ragu served with green salad & garlic ciabatta
nonono
Vegan Curry
+ Roasted cauliflower & coconut curry, served with rice & garlic & coriander naan bread
Veganyesyes
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SATURDAY - YOUNG CODERSV/VEGluten freeEgg/dairy free
Sandwich Platters (a mix of meat, fish, egg, dairy, vegetarian & vegan sandwiches)Vegan available - request from staff, VegetarianAvailable - request from staffno
Freshly Made Salad PlattersVeganyesyes
Party Platters (homemade sausage rolls, scotch eggs & chicken (halal) goujons)nonono
Meat-free Party Platters, (homemade mushroom sausage rolls)Vegannoyes
Sweet Potato Scotch EggsVegetariannono
Lemon & Pea Bites/FalafelVegannoyes
Sweet Platters (a mix of cakes, flapjacks & tray bakes)Vegetariannono
Fresh Fruit PlattersVeganyesyes
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SUNDAYV/VEGluten freeEgg/dairy free
Croissants, Pain au ChocolatVegetariannono
Fruit PotsVeganyesyes
Coq au Vin (Halal)
+ Free-range chicken breast, pancetta, mushrooms, onions, red wine sauce. served with sauteed new potatoes
noyesno
Beef Bourguignon (Halal)
+ British beef, red wine gravy served with creamed potato & sauteed tender stem broccoli,
noyesno
RatatouilleVeganyesno
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MONDAYV/VEGluten freeEgg/dairy free
Croissants, Pain au ChocolatVegetariannono
Fruit PotsVeganyesyes
Sandwich Platters (a mix of meat, fish, egg, dairy, vegetarian & vegan sandwiches)Vegan available - request from staff, VegetarianAvailable - request from staffno
Freshly Made Salad PlattersVeganyesyes
Party Platters (homemade sausage rolls, scotch eggs & chicken (halal) goujons)nonono
Meat-free Party Platters, (homemade mushroom sausage rolls)Vegannoyes
Sweet Potato Scotch EggsVegetariannono
Lemon & Pea Bites/FalafelVegannoyes
Sweet Platters (a mix of cakes, flapjacks & tray bakes)Vegetariannono
Fresh Fruit PlattersVeganyesyes
diff --git a/src/health.md b/src/health.md new file mode 100644 index 0000000..8f68f52 --- /dev/null +++ b/src/health.md @@ -0,0 +1,18 @@ +--- +layout: default +title: Public Health Policy +--- + +

At PyCon UK, our priority is to hold a safe event.

+ +

We expect attendees to be mindful of health and considerate to others during the event. This includes having up-to-date vaccinations, taking a self-administered test in case of symptoms, observing all reasonable precautions, and not attending if feeling unwell.

+ +

We will offer full refunds to attendees who are unable to attend the conference.

+ +

There are currently no legal requirements to wear face-masks at events such conferences in England, you may wish to consider wearing, and you may be asked to wear a face covering in other places.

+ +

Please be respectful of other people’s choices, whether they choose to wear a face covering or not.

+ +

Free face masks will be available at the registration desk if you need one (but please still bring your own).

+ +

We will monitor any changes in public health guidance and review these guidelines on a regular basis.

diff --git a/src/images/assembly_room.jpg b/src/images/assembly_room.jpg new file mode 100644 index 0000000..0ebccc5 Binary files /dev/null and b/src/images/assembly_room.jpg differ diff --git a/src/images/becky_snakes.jpg b/src/images/becky_snakes.jpg new file mode 100644 index 0000000..a1a4602 Binary files /dev/null and b/src/images/becky_snakes.jpg differ diff --git a/src/images/blue_snake.png b/src/images/blue_snake.png new file mode 100644 index 0000000..c0ff70d Binary files /dev/null and b/src/images/blue_snake.png differ diff --git a/src/images/captioning_1x.jpg b/src/images/captioning_1x.jpg new file mode 100644 index 0000000..6ef63cb Binary files /dev/null and b/src/images/captioning_1x.jpg differ diff --git a/src/images/captioning_2x.jpg b/src/images/captioning_2x.jpg new file mode 100644 index 0000000..e48977b Binary files /dev/null and b/src/images/captioning_2x.jpg differ diff --git a/src/images/contact_first_floor.png b/src/images/contact_first_floor.png new file mode 100644 index 0000000..63acc84 Binary files /dev/null and b/src/images/contact_first_floor.png differ diff --git a/src/images/contact_ground_floor.png b/src/images/contact_ground_floor.png new file mode 100644 index 0000000..5235ced Binary files /dev/null and b/src/images/contact_ground_floor.png differ diff --git a/src/images/contact_manchester_space_1.jpg b/src/images/contact_manchester_space_1.jpg new file mode 100644 index 0000000..b666ea3 Binary files /dev/null and b/src/images/contact_manchester_space_1.jpg differ diff --git a/src/images/contact_second_floor.png b/src/images/contact_second_floor.png new file mode 100644 index 0000000..b59e790 Binary files /dev/null and b/src/images/contact_second_floor.png differ diff --git a/src/images/creche_1x.jpg b/src/images/creche_1x.jpg new file mode 100644 index 0000000..07fdfcd Binary files /dev/null and b/src/images/creche_1x.jpg differ diff --git a/src/images/creche_2x.jpg b/src/images/creche_2x.jpg new file mode 100644 index 0000000..920c722 Binary files /dev/null and b/src/images/creche_2x.jpg differ diff --git a/src/images/django_girls_assist.jpg b/src/images/django_girls_assist.jpg new file mode 100644 index 0000000..695afc8 Binary files /dev/null and b/src/images/django_girls_assist.jpg differ diff --git a/src/images/django_girls_assist2.jpg b/src/images/django_girls_assist2.jpg new file mode 100644 index 0000000..ee2b419 Binary files /dev/null and b/src/images/django_girls_assist2.jpg differ diff --git a/src/images/django_girls_banner.jpg b/src/images/django_girls_banner.jpg new file mode 100644 index 0000000..9d73680 Binary files /dev/null and b/src/images/django_girls_banner.jpg differ diff --git a/src/images/django_girls_thinking.jpg b/src/images/django_girls_thinking.jpg new file mode 100644 index 0000000..24d2c39 Binary files /dev/null and b/src/images/django_girls_thinking.jpg differ diff --git a/src/images/green_snake.png b/src/images/green_snake.png new file mode 100644 index 0000000..98b5587 Binary files /dev/null and b/src/images/green_snake.png differ diff --git a/src/images/marble_hall_1x.jpg b/src/images/marble_hall_1x.jpg new file mode 100644 index 0000000..753581f Binary files /dev/null and b/src/images/marble_hall_1x.jpg differ diff --git a/src/images/marble_hall_2x.jpg b/src/images/marble_hall_2x.jpg new file mode 100644 index 0000000..299fef0 Binary files /dev/null and b/src/images/marble_hall_2x.jpg differ diff --git a/src/images/mikey_talk.jpg b/src/images/mikey_talk.jpg new file mode 100644 index 0000000..fd8ba22 Binary files /dev/null and b/src/images/mikey_talk.jpg differ diff --git a/src/images/orange_snake.png b/src/images/orange_snake.png new file mode 100644 index 0000000..861342d Binary files /dev/null and b/src/images/orange_snake.png differ diff --git a/src/images/quiet_room_1x.jpg b/src/images/quiet_room_1x.jpg new file mode 100644 index 0000000..2316640 Binary files /dev/null and b/src/images/quiet_room_1x.jpg differ diff --git a/src/images/quiet_room_2x.jpg b/src/images/quiet_room_2x.jpg new file mode 100644 index 0000000..f5ea022 Binary files /dev/null and b/src/images/quiet_room_2x.jpg differ diff --git a/src/images/red_snake.png b/src/images/red_snake.png new file mode 100644 index 0000000..369be31 Binary files /dev/null and b/src/images/red_snake.png differ diff --git a/src/images/room_d.jpg b/src/images/room_d.jpg new file mode 100644 index 0000000..349e3c1 Binary files /dev/null and b/src/images/room_d.jpg differ diff --git a/src/images/sponsors/README b/src/images/sponsors/README new file mode 100644 index 0000000..09cb26c --- /dev/null +++ b/src/images/sponsors/README @@ -0,0 +1,24 @@ +Sponsor logos go here. + +Try to keep the size down to about 20K if possible, by resizing and using tools like optipng. +Also, try to keep the image resolution close to that used in the sponsors page. + +Width should be scaled relative to height to keep the aspect ratio. +Heights should ideally be: +Headliner: 180 +Gold: 160 +Silver: 150 +Bronze: 140 +Other: 130 +Grant: 130 + +However, the maximum width should be 355 in order to avoid running into problems with narrow phone screens, +and to keep logos in at least two columns even for those that are very horizontally hungry. + +Examples: +Resize with imagemagick for a silver sponsor (height 150): +convert -resize 300X150 source.png dest.png + +Note: imagemagick can also convert between formats, so you might want to grab an SVG and convert it in some cases. + Remember to use the -resize argument in this case, and check you didn't deform it afterwards. + One way to check the relative dimensions is to run (to PNG) without size to get the ratio of width to height. diff --git a/src/images/sponsors/snakeholder.png b/src/images/sponsors/snakeholder.png new file mode 100644 index 0000000..7be8f99 Binary files /dev/null and b/src/images/sponsors/snakeholder.png differ diff --git a/src/images/sponsors_1x.jpg b/src/images/sponsors_1x.jpg new file mode 100644 index 0000000..fd50789 Binary files /dev/null and b/src/images/sponsors_1x.jpg differ diff --git a/src/images/sponsors_2x.jpg b/src/images/sponsors_2x.jpg new file mode 100644 index 0000000..6b95d8e Binary files /dev/null and b/src/images/sponsors_2x.jpg differ diff --git a/src/images/workshop.jpg b/src/images/workshop.jpg new file mode 100644 index 0000000..9ff6f37 Binary files /dev/null and b/src/images/workshop.jpg differ diff --git a/src/images/yellow_snake.png b/src/images/yellow_snake.png new file mode 100644 index 0000000..d8316fd Binary files /dev/null and b/src/images/yellow_snake.png differ diff --git a/src/inclusion.md b/src/inclusion.md new file mode 100644 index 0000000..70db41f --- /dev/null +++ b/src/inclusion.md @@ -0,0 +1,174 @@ +--- +layout: default +title: Inclusion, diversity and accessibility +--- + +**Each year, we make an effort to ensure that PyCon UK is as welcoming, accessible, and inclusive as possible, and try to find new ways to make it even more so.** + +If there is something you need, that's not described below, please [let us know](/contact/) so that we can do something about it. + + + +## Child care 👶 + +PyCon UK will be a friendly environment for parents and babies. + +
+
+ Two babies sitting on the floor, holding hands. One of them is looking and smiling at the camera; the other is looking away. +
+ Two users of the crèche at PyCon UK 2017. + Photo by Mark Hawkins, CC BY. +
+ +
+ +

Free crèche

+ +

+ We will provide a free crèche, staffed by registered and qualified childminders, during conference hours. +

+ +

+ You can register for the crèche when buying your tickets. + We need you to register in advance, so that we can book the appropriate number of staff for the crèche. +

+ +

+ Children will be welcome at all appropriate conference events, during breaks for refreshments and in the audience at talks. +

+
+ +
+

Feeding your child

+ +

+ If you are breastfeeding your baby, we can provide a quiet room if that's what you prefer. + Otherwise, please breastfeed your baby whenever and wherever you like, including during talks and at mealtimes. +

+ +

+ If your child is old enough to have meals and refreshments with us, they are welcome to join us. If they are not, you will need to provide their food. +

+
+ +
+

Under 18s

+

For those under the age of 18 who would like to attend the conference itself, you are more than welcome but you will need an adult chaperone.

+

Our tickets are for over 18s only but each one entitles the holder to accompany up to two under 18s. They will need to be in the building and contactable whenever you are.

+ +
+ + + +## Facilities and support for special needs + +We have provision for people with hearing, vision and mobility requirements. + +
+
+ A large screen with a black background and yellow text. +
+ Live captions are displayed on screens on either side of the main stage at Cardiff City Hall. + Photo by Vince Knight. +
+
+ +

Hearing support

+ +

+ Talks in the main auditorium will feature simultaneous speech-to-text transcription. +

+ +

+ All talks will be held in auditoriums with induction loops for hearing aid users. +

+ +

+ On request, we will provide a British Sign Language interpreter (at no charge) for the duration of the conference to any Deaf attendees, to help them participate more fully in discussions and social events. +

+
+ +
+

Vision support

+ +

+ Preferred seating will be provided and reserved for the visually-impaired. Please contact us about any lighting requirements you may have, and we will do our best to meet them. +

+ +

+ Similarly, if you would benefit from having a close-up display of presenters' slides and screens, or from the provision of any assistive technology, just let us know. +

+ +

+ Guide dogs are welcome at the conference and social events. +

+
+ +
+

Mobility

+ +

+ Please contact us about any mobility assistance needs you may have during your stay. +

+
+ + + +## And also… + +
+

Dietary requirements

+ +

+ We aim to meet a wide range of dietary requirements and our lunch time dishes are clearly labelled. +

+ +

+ We endeavour to publish a full menu for each day, closer to the event. +

+
+ +
+
+ Looking towards the centre of a circular room in Cardiff City Hall with raked seating. +
+ The quiet room is a place to relax and unwind away from the conference. + Photo from the 2017 conference in Cardiff by Mark Hawkins, CC BY. +
+
+ +

Quiet room

+ +

+ We will provide a clearly-marked designated quiet room at the venue. +

+ +

+ This room is intended to be a calm and quiet place for anyone who needs to have a break from the bustle of the conference, and will not be used for socialising. +

+
+ +
+

Dress code

+ +

+ At PyCon UK we want everyone to feel comfortable, and that includes wearing clothing that makes you feel comfortable. +

+ +

+ For that reason, we do not have a formal dress code. As long as your outfit does not violate the Code of Conduct, you are welcome to wear whatever suits you best. +

+
+ +
+

Financial assistance

+ +

+ Some attendees will require a financial grant in order to meet the costs of travel, subsistence or even taking days off work. This can include discounted or free conference tickets. +

+ +

+ {% if site.fin_aid_closed %}Financial aid applications have now closed.{% elsif site.fin_aid_open == true %}Read about, or apply for financial assistance.{% else %}We run a financial assistance programme, and we will announce details soon.{% endif %} +

+
diff --git a/src/index.md b/src/index.md new file mode 100644 index 0000000..cb73117 --- /dev/null +++ b/src/index.md @@ -0,0 +1,61 @@ +--- +layout: default +--- + + + +{% assign links = site.data.links.html.long %} + +

Sadly we’ve been unable to find a Conference Director, so there won’t be a PyCon UK 2026. We intend to put together a grants program to support alternative / more local events in its place.

+ +

If you are interested in being part of the organising team (or indeed, Conference Director!) for 2027, please contact {{"kristian.glass@uk.python.org" | create_mailto_link }}

+ +

You can follow us on +

    +
  • YouTube
  • +
  • {{links.bluesky}}
  • +
  • {{links.linkedin}}
  • +
  • {{links.mastodon}}
  • +
  • {{links.twitter}}
  • +
+

+
+ +

PyCon UK related merchandise is available here.

+
+ +

Alternatively, you can knit your own snakes using patterns created by one of our volunteers, Becky Smith.

+
+ A collection of hand knitted snakes. +
+ Photo of snakes created by PyCon UK volunteer Becky Smith. +
+
+
+ + diff --git a/src/information-for-sponsors.md b/src/information-for-sponsors.md new file mode 100644 index 0000000..d5f57e6 --- /dev/null +++ b/src/information-for-sponsors.md @@ -0,0 +1,97 @@ +--- +layout: default +title: Information for sponsors +--- + +
+

What we need from you

+
    +
  • the names and email addresses of the people claiming your complimentary tickets
  • +
  • the name, email address, and phone number of somebody who'll be at the conference, and who can act as our point of contact
  • +
  • a PNG/JPEG logo for the website, width 1068 pixels or larger
  • +
  • a link to your website
  • +
  • your social media handles for any or all of: Bluesky, LinkedIn, Mastodon, or Twitter
  • +
+
+ +
+

Tickets

+ +

+ All attendees, including those representing sponsors, must have their own tickets. +

+ +

+ Most sponsorship packages include at least one complimentary ticket, but please ensure your package includes sufficient tickets for all your attendees. You will need to purchase additional tickets if required. +

+ +

+ Don't hesitate to contact us if you have any questions about this. +

+
+ +
+

Materials

+ +

+ You may arrange to have materials delivered to the venue in advance. Please address all consignments as follows: +

+ +

+ Hires
+ PyCon UK {{ site.con_year }}
+ <your company's name>
+ Contact Theatre
+ Oxford Road
+ Manchester
+ M15 6JA +

+ +

+ Please note that the venue is closed on Sundays and Mondays. +

+
+ +
+

Banners

+ +

+ You need to send or bring any materials, such as banners, that you wish to display or use, and arrange for their collection and return after the event. +

+ +

+ Except for Platinum or Headline sponsors, your pop-up banners need to be such that they can be safely displayed behind or at the side of your booth space, as in the photograph below, or against a wall. +

+
+ +
+

Sponsorship stands

+
+ Looking down hall in Cardiff City Hall with tables along either side. The tables have branding from various companies. +
+ Sponsor stands in the Cardiff City Hall Marble Hall at PyCon UK 2019. + Photo taken by Mark Hawkins, CC BY. +
+
+ +

+ We will provide you with: +

    +
  • a 2×1m table with chairs
  • +
  • access to electrical power
  • +
  • space behind to sit
  • +
  • space behind or to one side for banners.
  • +
+

+ +
+ +
+

Social media

+

+ We use the #PyConUK2025 hashtag for all social media channels. +

+
diff --git a/src/invoicing.md b/src/invoicing.md new file mode 100644 index 0000000..b7c3e4e --- /dev/null +++ b/src/invoicing.md @@ -0,0 +1,24 @@ +--- +layout: default +title: Invoicing and Getting Paid +--- + +Please send invoices in PDF format to {{ "kristian.glass@uk.python.org" | create_mailto_link }}, addressed to: + +``` +UKPA Trading Ltd. +c/o Acconomy, +Bayside Business Centre +Sovereign Business Park, Willis Way +Poole +BH15 3TB +``` + +Our VAT number is `{{ site.con_vat_number }}`. + +We want to make sure we pay people as soon as we can. +Equally we're a volunteer-run organisation. +Thus we reserve the right to [pay within 30 days of receipt of the invoice, unless an alternative date was agreed](https://www.gov.uk/invoicing-and-taking-payment-from-customers/payment-obligations). + +To avoid a delay in payment, it's important for your invoice to be legally compliant. +Please see the [GOV.UK guidance on "Invoices - what they must include"](https://www.gov.uk/invoicing-and-taking-payment-from-customers/invoices-what-they-must-include). diff --git a/src/local-info.md b/src/local-info.md new file mode 100644 index 0000000..e313f19 --- /dev/null +++ b/src/local-info.md @@ -0,0 +1,368 @@ +--- +layout: default +title: Guide to Manchester +--- + +We've put together a few tips that should help you find your way around while you're in Manchester. + +- [Getting around](#getting-around) + - [By bus](#by-bus) + - [By tram](#by-tram) + - [By hire bike](#by-hire-bike) + - [By taxi](#by-taxi) +- [Food and drink](#food-and-drink) + - [Cafés and coffee](#cafés-and-coffee) + - [Supermarkets](#supermarkets) + - [Places to eat](#places-to-eat) + - [Bars and pubs](#bars-and-pubs) +- [Things to do](#things-to-do) + - [Museums and galleries](#museums-and-galleries) + - [Noteworthy libraries](#noteworthy-libraries) + - [Parks and green spaces](#parks-and-green-spaces) + +### Getting around + +Manchester has good bus and tram networks, but (due to the location of the venue) it's likely that **most of the journeys you're likely to make will be best undertaken [by bus], or on foot**. There's also a [hire bike scheme](#by-hire-bike), and [taxis](#by-taxi) are obviously an option too! + +[by bus]: #by-bus + +#### By bus + +**At present, industrial action is planned for Friday 19th - Monday 22nd Sept. This means no buses will be running along the Oxford road corridor or to/from the train stations.** + +**TFGM have published [the full list of bus services] affected.** + +[the full list of bus services]: https://tfgm.com/bus-industrial-action + + +Key things to know: + +- You can **buy a ticket on the bus** with cash, a contactless card, or ApplePay/GooglePay (see the [TfGM page on contactless payments] for full details) +- A **single journey costs £2** – you get a paper ticket that's valid on multiple buses for up to an hour +- A **1-day pass costs £5** +- [The venue](/venue) is on Oxford Road (to the south of the city centre) and is close to several bus stops + +The **easiest way to plan a bus journey** (and find the right stop) is to **install Manchester's [Bee Network app]** (you don't need to create an account). + +You can also use general purpose apps like Google Maps or Citymapper, or the [web based journey planner][tfgm planner], but **the Bee app is best for**: + +- listing the bus services that are suitable for your journey +- finding the right bus stop +- live updates showing where your next bus is (see the bus tracking video on the [app's page][Bee Network app]) + +[Transport for Greater Manchester][TfGM] have a page that documents [accessibility on the buses]. + +Note that there are a couple of **[free buses] that are useful for travelling around the city centre** (though they don't come close to the venue). These are not affected by the planned industrial action. + +[TfGM page on contactless payments]: https://tfgm.com/ways-to-pay/contactless#anchor-Contactless%20on%20bus +[Bee Network app]: https://tfgm.com/tickets-and-passes/ways-to-pay/bee-network-mobile-app +[tfgm planner]: https://tfgm.com/plan-a-journey +[hopper ticket]: https://tfgm.com/tickets-and-passes/bee-bus-hopper-adult +[TfGM]: https://tfgm.com/ +[accessibility on the buses]: https://tfgm.com/accessibility/guides/bus-accessibility +[free buses]: https://tfgm.com/ways-to-travel/bus/free-bus +[contactless payments]: https://tfgm.com/ways-to-pay/contactless + +#### By tram + +The trams don't come close to the venue, but if you want to visit somewhere slightly further afield the tram is a great option. + +You can purchase a paper ticket from a machine on the platform, or pay by tapping a contactless card on one of the yellow circles at a tram stop. You'll need to tap out again using the **same card** at the end of your journey to avoid being charged the maximum day ticket price. See the [TfGM] page on [contactless payments] for details of how contactless fees are calculated (and what happens if you forget to tap out at the end of your journey!). + +As with the bus, the [Bee Network app] is a good way to plan a journey on the trams, though Google Maps also works well. + +TfGM have a page that documents [accessibility on the trams]. + +[accessibility on the trams]: https://tfgm.com/accessibility/guides/tram-accessibility + +#### By hire bike + +[Manchester's hire bike scheme] is sponsored by Starling Bank, and the bikes are operated by Beryl. + +Key things to know: + +- You need to **install the [Starling Bank Bikes app]** in order to hire a bike +- Pedal bikes cost **50p to unlock**, then **5p per minute to ride** +- **E-bikes** cost **£1 to unlock** and **10p per minute to ride** +- You can see a map of where the nearest bike stations are (and how many bikes are currently available) in the app +- The app gives you a brief tutorial on how to unlock and lock a bike the first time you run it + +The conference **venue is just off Oxford Road**, which is **well served by cycle lanes** and is largely traffic free during the day. There are a couple of **hire bike stations nearby** (they're visible on the maps in both the [Starling][Starling Bank Bikes app] and [Bee Network][Bee Network app] apps). + +Alternatively, [Brompton bike hire] is available at Windmill Green, not far from Oxford Road station. This requires the Brompton app and costs £5 per day. + +[Manchester's hire bike scheme]: https://beeactive.tfgm.com/cycle-hire/ +[Starling Bank Bikes app]: https://beryl.app/NSDinTe52kb?_sm_nck=1 +[Brompton bike hire]: (https://bromptonhire.com/locations/manchester/) + +#### By taxi + +There's a taxi rank just outside of each of the train stations in Manchester and at various points in [the city centre] + +Please be aware, the bus gate along Oxford road means that while black cabs are able travel directly to the venue, private taxis will take a slightly less direct route. + +[the city centre]: https://www.manchester.gov.uk/info/1126/taxi_and_private_hire_passenger_information/7782/taxi_ranks_in_the_city_centre + +##### Local taxi companies +* Manchester Street Cars: 0161 228 7878 +* Manchester Taxi Service: 0161 270 8701 + +### Food and drink + +#### Cafés and coffee + +In the order of increasing distance from the venue (and on the way if you're walking from some of our [suggested hotels]), we've got: + +- [Bold St Coffee] is a 10 minute walk north of the venue ([map][bold st map]), opens at 8am, does a decent coffee, and **laptops are welcome** (with personal workstations and charging points). +- [Half Dozen Other] is further north up Oxford Rd, and will be enjoyed by pastry fans ([map][half dozen map]) +- Another great choice is [Federal], just a little bit further north again ([map][federal map]). They do a punchy flat white, and (if you can get a table) a good breakfast. + +Slightly further north (near to some the [suggested hotels]) we've also got: + +- [Foundation Coffee House] on Whitworth St ([map][foundation map]), which is also **laptop friendly** +- Pollen Bakery inside the Kampus building ([map][pollen map]), which is good for dog-spotting + +If none of those are nearby, see [these recommendations][coffee finest] from the [Manchester's Finest]. + +[suggested hotels]: /venue#hotels + +[brew]: https://contactmcr.com/visit/food-drink + +[Bold St Coffee]: https://boldstreetcoffee.co.uk/pages/university-green-manchester +[bold st map]: https://maps.app.goo.gl/zcnUDNM8mbq4zt2u8 + +[asap map]: https://maps.app.goo.gl/ffgjgpavmTSoZqZZ9 + +[Half Dozen Other]: https://halfdozenother.co.uk/ +[half dozen map]: https://maps.app.goo.gl/M4KUN2qQ1nFCE6AW9 + +[Federal]: https://federalcafe.co.uk/pages/oxford-road +[federal map]: https://maps.app.goo.gl/aFL8EfvpXvhHL9DB8 + +[Foundation Coffee House]: https://fdncoffee.com/ +[foundation map]: https://maps.app.goo.gl/tnoCUFTrk79DQKuv5 + +[pollen map]: https://maps.app.goo.gl/wHyQ5kwFZnP91Nrs9 + +[Manchester's Finest]: https://www.manchestersfinest.com/ +[coffee finest]: https://www.manchestersfinest.com/eating-and-drinking/cafes/best-places-manchester-coffee/ + +#### Supermarkets + +If you need anything during the conference, there are a couple of supermarkets on the other side of Oxford Road: + +- Sainsbury's Local ([map](https://maps.app.goo.gl/AWBBuMCF4PMgAENC7), 4 minute walk) +- Morrisons ([map](https://maps.app.goo.gl/daxdhSmgbgWJej1w5), 5 minute walk) + +#### Places to eat + +If you fancy finding somewhere to eat **during the day** and fancy a stroll, these are fairly close to the venue: + +- [Manchester Museum] have a [good café] ([6 minute walk][museum map]) +- [Whitworth Art Gallery] has a [very nice café] overlooking Whitworth Park ([8 minute walk][whitworth route]), but note that there's often a queue for a table. They stop serving at 3.30pm. +- [The 8th Day] vegan & vegetarian shop/deli has a [Plant Based Café][8th day cafe] downstairs that's open from 11am to 3pm. There's a salad bar, and a small selection of hot meals, all cooked on site. ([14 minute walk][8th day map]) + +[Manchester Museum]: https://www.museum.manchester.ac.uk/ +[good café]: https://www.museum.manchester.ac.uk/visit-us/food-and-drink-2/ +[museum map]: https://maps.app.goo.gl/3RVnXaU7AuZkdfZ1A + +[Whitworth Art Gallery]: https://www.whitworth.manchester.ac.uk/ +[very nice café]: https://www.hospitality.manchester.ac.uk/thewhitworthcafe/ +[whitworth route]: https://maps.app.goo.gl/LaQwNakK52vkMaE66 + +[The 8th Day]: https://8thday.coop/ +[8th day cafe]: https://8thday.coop/cafe/ +[8th day map]: https://maps.app.goo.gl/Gtu3WQSHsm5e9MCA7 + +**In the evenings**, there are *a lot* of options. Feel free to **ask for advice in the #ask-the-locals** channel on the conference Discord server, or find out where others are headed in the **#social-activities channel**. + +But to give you some ideas: + +- **Some of the bars** below **serve food** (look for "serve food" in bold) +- Oxford Road Corridor have a [list of restaurants near Oxford Road][corridor restaurants]. +- [Mackie Mayor] is an upmarket food hall, with several different restaurants operating under one roof. With long tables and plenty of choice, it's good for bigger groups. There's a decent range of wine and beer on offer too. It's on the north side of the city (so not really walkable) but it's worth considering if you're happy to do a 25 minute journey [by bus](#by-bus) and on foot. + +[corridor restaurants]: https://oxfordroadcorridor.com/place/food-and-drink-on-oxford-road/ +[Mackie Mayor]: https://mackie-mayor.restaurants-world.com/ + +#### Bars and pubs + +There are a lot of places to go for a chat/drink. Where do you start?! + +Bear in mind that Manchester University's new intake of **students will be arriving back in the city over the weekend**, so places near the University might be busier than usual. We've organised our suggestions together according to how far from the venue (and University) they are. + +**If places are too busy and you need to relocate**, these sites will help you find somewhere suitable: + +- Oxford Road Corridor have a [big list of bars near Oxford Road][corridor bars] +- [Tap Tourist] is a guide to Manchester's craft beer (including a list of the [city's breweries], many of which have large tap rooms, and [places serving gluten free beer][gf craft beer]) + +[corridor bars]: https://oxfordroadcorridor.com/place/food-and-drink-on-oxford-road/bars-and-pubs-on-oxford-road/ +[Tap Tourist]: https://taptourist.co.uk/ +[city's breweries]: https://taptourist.co.uk/collections/manchester-craft-beer-breweries +[gf craft beer]: https://taptourist.co.uk/manchester-gluten-free-beer + +**Here are our suggestions** around the venue and Oxford Road (times in brackets will give you a feel for how far these places are from the venue). + +**Close to Contact Theatre** (and the University) you'll find: + +- [Big Hands] is right next to Contact Theatre. It's popular with local musicians and gig-goers, so gets busy after a gig at Manchester Academy. ([map][big hands map], 2 minute walk) + +- [Kro BAR] is also very close, has **more room, and [serve food][kro menu]**. ([map][kro map], 3 minute walk) + +- [The Salutation] is a decent size, and is run in partnership with Bollington Brewing co, who [make decent beer]. The Salutation is re-opening the night before the conference, just in time for the return of the MMU students! Could be busy… ([map][salutation map], 14 minute walk) + +- [Sandbar] have an excellent choice of beers and whiskies, and serve decent pizza. It's popular with local academics and students, and has a good atmosphere. If it's too busy, try [The Deaf Institute] over the road. ([map][sandbar map], 14 minute walk) + +[Big Hands]: https://oxfordroadcorridor.com/venues/big-hands/ +[big hands map]: https://maps.app.goo.gl/eNCNwpW22P6BgjxR7 + +[Kro BAR]: https://www.kro.co.uk/ +[kro menu]: https://www.kro.co.uk/menu.htm +[kro map]: https://maps.app.goo.gl/PugDxDEv4kR1t9Jz9 + +[The Salutation]: https://www.thesalutationpub.com/ +[make decent beer]: https://bollingtonbrewing.co.uk/beers/ +[salutation map]: https://maps.app.goo.gl/TbqY8ch6bfiqS5Lj6 + +[Sandbar]: https://oxfordroadcorridor.com/venues/sandbar/ +[sandbar map]: https://maps.app.goo.gl/PKkpzxfc2imawmZt6 + +[The Deaf Institute]: https://oxfordroadcorridor.com/venues/the-deaf-institute/ + +**Slightly further towards the centre:** + +- [North Bar] is a modern bar just off Oxford Road. An on-site restaurant called **Koto serve food** (see [menu][koto menu]). ([map][north bar map], 18 minute walk) + +- [Lass O'Gowrie] is an old brick building on the banks of the River Medlock, halfway between Oxford Road and Piccadilly stations. It's known for its old tiles and fittings, and Guinness. They also do guest beers and **[serve food][lass o-gowrie menu]**. ([map][lass o-gowrie map], 20 minute walk) + +- [YES bar] is next door to the Lass O'Gowrie. There's a bar on the ground floor (where you can get a **slice of pizza**) with music venues on other floors. They've got reasonably sized booths that should fit groups of 6, but it might get pretty noisy at the weekend. ([map][yes map], 20 minute walk) + +- [Bundobust Brewery] is slightly further north. Being a Bundobust, they also **serve food**. Open 'til 10pm on Friday/Saturday, 8pm on Sunday. ([map][bundobust map], 20 minute walk) + +[North Bar]: https://northbar.com/circle-square +[koto menu]: https://koto.kitchen/ +[north bar map]: https://maps.app.goo.gl/t6pmnbc6TxPmwVK57 + +[Lass O'Gowrie]: https://oxfordroadcorridor.com/venues/the-lass-o-gowrie/ +[lass o-gowrie menu]: https://www.greeneking.co.uk/pubs/greater-manchester/lass-o-gowrie/menu?type=main+menu +[lass o-gowrie map]: https://maps.app.goo.gl/LHX6Z679DL7XyKda6 + +[YES bar]: https://oxfordroadcorridor.com/venues/yes/ +[yes map]: https://maps.app.goo.gl/CoiPFQLTTcB71n5N7 + +[Bundobust Brewery]: https://bundobust.com/locations/manchester-brewery/ +[bundobust map]: https://maps.app.goo.gl/jYwzLvWFNsssNDt69 + +**Nearer to the city centre**, these are all worth a mention: + +- [The Gas Works Brewbar] is on the site of an old gas works and has a brewery on site. It's fairly spacious, they **[serve food][gas works menu]**, and you can play shuffleboard. ([map][gas works map], 25 minutes walk) + +[The Gas Works Brewbar]: https://gasworksbrewbar.co.uk/ +[gas works menu]: https://gasworksbrewbar.co.uk/wp-content/uploads/2024/10/Thief-Street-Menu-Gasworks-September-2024_compressed-FINAL.pdf +[gas works map]: https://maps.app.goo.gl/ziJqW1AKgcj9BTjQA + +- [The Britons Protection] is a proper old pub with plenty of nooks and crannies. Dating back to 1795, there's some real history to it. It was used to recruit soldiers during the Napoleonic wars, and there are rumours that people injured in the 1819 Peterloo Massacre were treated on the bar. They've got a couple of hundred whiskeys to choose from. It's quite popular, so perhaps not ideal in the evening for large groups. ([map][bp map], 28 minute walk) + +- [Peveril of the Peak] (a.k.a. "the Pev") is one of Manchester's most famous pubs, and dates back to 1830. It's known for the beautiful tile-clad frontage. Inside you'll find multiple rooms, stained glass, and some bench seating. The landlady has been there over 50 years, and there's a ghost! 👻 ([map][pev map], 26 minute walk) + +- [City Arms] is just off St Peter's Square (so really quite central) and is a reliable choice. It's almost 200 years old, has a good atmosphere, and two rooms. There are normally several different beers on tap (including one vegan option), and around 150 gins. ([map][city arms map], 30 minute walk) + +[Peveril of the Peak]: https://oxfordroadcorridor.com/venues/peveril-of-the-peak/ +[pev map]: https://maps.app.goo.gl/8gWdfER6sjTL7noQ8 + +[The Britons Protection]: https://oxfordroadcorridor.com/venues/the-britons-protection/ +[bp map]: https://maps.app.goo.gl/JDSbLi2RHe9AZ5gP8 + +[City Arms]: https://camra.org.uk/pubs/city-arms-manchester-137676 +[city arms map]: https://maps.app.goo.gl/pA7nyhwPVysLi2dJ8 + +**If you'd like to seek out some live music** head for the Northern Quarter. [Night and Day] and [Soup Kitchen] are good bars that usually have bands playing at the weekend. Head to [Matt & Phred's] if you prefer Jazz. And if you're in the Northern Quarter in search of a good beer, try [The Castle] or [TROF]. + +[Night and Day]: https://nightnday.org/ +[Soup Kitchen]: https://soupmanchester.com/info/ +[Matt & Phred's]: https://mattandphreds.com/ +[The Castle]: https://thecastlehotel.info/ +[TROF]: https://trofnq.co.uk/ + +**And finally, for the gamers**: + +- [NQ64] is a neon-lit bar with retro arcade games and themed cocktails. There are two, one located [in the Northern Quarter][nq64 map], another [on Peter St][nq64 peter st]. Think Mario Kart, Street Fighter, and classic pinball. Open til 3am on Friday and Saturday – what could go wrong? ([map][nq64 map]) + +- [Pixel Bar] offers themed nights, PC and console gaming, and a fully stocked bar – ideal for a relaxed evening of gaming and geekery. In the Northern Quarter. Open til 1am. ([map][pixel map]) + +[NQ64]: https://nq64.co.uk/manchester-northern-quarter/ +[nq64 map]: https://maps.app.goo.gl/xVNubTfnevr5vJFU8 +[nq64 peter st]: https://maps.app.goo.gl/nu4xzMY1BJRxR3gS7 + +[Pixel Bar]: https://www.pixel-bar.co.uk/manchester +[pixel map]: https://maps.app.goo.gl/YagCk2yVEbxhJpmo6 + +### Things to do + +If you fancy some fresh air, the YHA have put together a 3.4 mile **walking tour** (see their [PDF and map][yha tour]) that takes in 24 sites of interest around the city. It includes most of the places we mention below, and **the map is a useful reference** if you don't want to do the walk. There are also a couple of [free buses] that cover a similar area to the YHA's route. + +[yha tour]: https://www.yha.org.uk/sites/default/files/uploads/PDFs/Walking%20Maps%202023/227-yha-manchester-city-tour.pdf + +#### Museums and Galleries + +- [Manchester Museum] is a [6 minute walk][museum route] along Oxford Road from Contact Theatre, is free to enter, contains a huge variety of fascinating things (including live amphibians and reptiles on the 2nd floor). Open until 5pm on Friday, Saturday, and Sunday. Highly recommended, even if only for a fleeting visit to say hello to Stan the T-Rex. ([map][museum map]) + +- [Whitworth Art Gallery] is just beyond Manchester Museum, an [8 minute walk][whitworth route] from Contact, and is also free to enter. The café itself warrants a visit, but the gallery is superb. ([map][whitworth map]) + +- At [The Pankhurst Centre] (also just round the corner from Contact Theatre) you can visit the former home of the Pankhurst family, and learn about the story of women's fight for the right to vote. Only open on the Sunday between 11am and 4pm (last entry at 3pm), £6 admission. ([map][pankhurst map]) + +- [Manchester Art Gallery] is in the city centre, free to enter, and open every day except Monday. They've got over 25,000 things in their collection, including many of international significance. ([map][art gallery map]) + +- At the [Science and Industry Museum] you'll find [a replica of Baby] (the **first computer to run a program from memory**) and Stephenson's Rocket under one roof. They've got a lot of exhibits showcasing Manchester's industrial history, the textile industry, and the birth of the railways (the Liverpool to Manchester route was a world first). It's just to the west of the city centre. Entry is free (though you can book), and it closes at 5pm. ([map][sci ind map]) + +- Explore some of our literary heritage at [Elizabeth Gaskell's House]. It's a [15 minute walk][gaskell route] from Contact Theatre. Open on the Sunday between 11am and 4.30pm (last entry at 3pm), £8.50 admission. ([map][gaskell map]) + +[Manchester Museum]: https://www.museum.manchester.ac.uk/venue/galleries/ +[museum route]: https://maps.app.goo.gl/19oR8sAAmgetYZP79 +[museum map]: https://maps.app.goo.gl/s7aXHV9YKd8S5sGm6 + +[whitworth map]: https://maps.app.goo.gl/52NPYLr6N6qfyfkh6 + +[Manchester Art Gallery]: https://manchesterartgallery.org/ +[art gallery map]: https://maps.app.goo.gl/XYYqg9NMBaEgSYDBA + +[The Pankhurst Centre]: https://www.pankhurstmuseum.com/ +[pankhurst map]: https://maps.app.goo.gl/MiZ3KepkeN9ZeEjJ9 + +[Science and Industry Museum]: https://www.scienceandindustrymuseum.org.uk/ +[a replica of Baby]: https://www.scienceandindustrymuseum.org.uk/whats-on/meet-baby +[sci ind map]: https://maps.app.goo.gl/62yfdh3TGfKiHMXK9 + +[Elizabeth Gaskell's House]: https://elizabethgaskellhouse.co.uk/ +[gaskell route]: https://maps.app.goo.gl/CoTWcsBtan7oiAjn7 +[gaskell map]: https://maps.app.goo.gl/JTvYfVPfEE3bqmC5A + +#### Noteworthy libraries + +- [John Rylands Library] is one of Europe's **finest examples of neo-Gothic architecture**. The building itself is superb, but the contents are fascinating, including contains ancient papyri, early prints, and medieval manuscripts. It was opened in 1900 as a gift to the people of Manchester. Open until 5pm on Friday and Saturday (last entry at 4.40pm). ([map][rylands map]) + +- [Chetham's Library] and medieval building is the **oldest public library in the English-speaking world**, dating back to 1653. It’s also where Marx and Engels met! Tours include the stunning medieval buildings and atmospheric reading rooms. But you do need to [book your tour][chethams booking], which will last just over an hour. ([map][chethams map]) + +- [Manchester Central Library] is the second largest library in the UK, and is **famous for its echoey acoustics**. The central room on the upper floor is large and circular with a high domed roof. Make a short sharp sound and it will be echoed back to you a split second later. It's a **great place to study or work**. There's also a café downstairs. Open until 5pm on Friday and Saturday, closed Sunday. ([map][central library map]) + +[John Rylands Library]: https://www.library.manchester.ac.uk/rylands/visit/ +[rylands map]: https://maps.app.goo.gl/B35cpNSnRuiTE5zE7 + +[Chetham's Library]: https://library.chethams.com/ +[chethams booking]: https://library.chethams.com/shows/chethams-library-tours/ +[chethams map]: https://maps.app.goo.gl/NTuE2iey8qfytxm56 + +[Manchester Central Library]: https://loadstodo.co.uk/venue/manchester-central-library/ +[central library map]: https://maps.app.goo.gl/34Yq4emGbGy389L56 + +#### Parks and green spaces + +- [Whitworth Park] is right next to Contact Theatre, and perfect for a stroll between sessions. + +- Closer to the city centre, near to some of the [suggested hotels], and just north of the [Gay Village], you'll find [Sackville Gardens]. This park isn't big, but it's an **interesting spot for programmers**. The [Alan Turing memorial statue] can be found in the centre, depicting Turing sitting on a bench holding an apple. + +[Whitworth Park]: https://maps.app.goo.gl/PucD9yFhLePtidMU7 + +[Sackville Gardens]: https://maps.app.goo.gl/CYGcsoLD3QJnf6u17 +[Gay Village]: https://www.visitmanchester.com/things-to-see-and-do/explore/neighbourhoods/the-village/ +[Alan Turing memorial statue]: https://en.wikipedia.org/wiki/Alan_Turing_Memorial diff --git a/src/schedule.md b/src/schedule.md new file mode 100644 index 0000000..917057e --- /dev/null +++ b/src/schedule.md @@ -0,0 +1,32 @@ +--- +layout: schedule +title: Schedule +--- +{% assign prices = site.data.prices.md %} + +

The conference will run from {{ site.con_start }} until {{ site.con_finish }} {{ site.con_year }}.

+ + +{% if site.schedule_ready == true %} + +

All ticket holders are entitled to join the sprints day at no additional charge.

+

If you can't see the schedule widget, you can view the schedule here. On some screens you may need to scroll left or right to see all the tracks.

+

+ {% if site.schedule_final != true %} + This is a preliminary schedule and is subject to change. + {% endif %} +

+ + +{% else %} +

The conference will be made up of 3 days of talks and workshops from Friday - Sunday and a single day of sprints on Monday. All ticket holders are entitled to join the sprints day at no additional charge.

+ +

We will be holding a Young Coder’s day on {{ site.young_coders_date }} suitable for young people aged from about 8 years old to 16 years old. Young Coder’s tickets are available at {{ prices.standard.young }} for a young coder and an accompanying adult. The adult will accompany and be responsible for their young coder for the duration of the day.

+{% if site.show_django_girls %} +

We will also be holding a Django Girls workshop on {{ site.django_girls_date }}. This workshop will have its own application process which we will update here shortly. It will not be a general access workshop within the the broader conference programme.

+{% endif %} +

The full schedule will be posted here when it is prepared.

+

To aid in planning transport and accommodation, the expected start and end times are given below.

+

Each day of the conference will begin at 09:00, except the first ({{ site.con_start }}), which will begin at 11:00

+

Each day of the conference will end at 18:00

+{% endif %} diff --git a/src/session-chairing.md b/src/session-chairing.md new file mode 100644 index 0000000..ff75101 --- /dev/null +++ b/src/session-chairing.md @@ -0,0 +1,50 @@ +--- +layout: default +title: Session Chairing +--- + +
+

Responsibilities

+

Session chairs have an extremely valuable role in the smooth running of a conference. You manage a room for a given run of talks and are responsible for the following:

+
    +
  • Helping the speakers feel comfortable and sure of themselves.
  • +
  • Acting as a conduit between the speaker and the audience, helping the audience get the most value from the sessions.
  • +
  • Making sure that the session, and therefore the conference, runs on times.
  • +
+
+ +
+

Checklist

+

To help the sessions run smoothly, we've put together a small checklist of things you should do as a session chair. Read over them, and note them down somewhere: they'll help you make PyCon UK a fantastic conference!

+
    +
  1. Arrive to your session early! It's important that sessions start on time, and they can only do that if the chair is present!
  2. +
  3. +

    Before each talk in your session begins, introduce yourself to the speaker. You need to find out some information from them:

    +
      +
    1. How should you pronounce their name? It's embarrassing to pronounce a speaker's name incorrectly. Confirm with the speaker how they'd like their name pronounced!

    2. +
    3. Check whether the speaker wants questions during their talk, after the talk, or not at all.

    4. +
    5. +

      Inform the speaker of how much time they will have to speak, taking the questions into account. In a 30 minute slot, there are 25 minutes of content and 5 minutes of switchover time.

      +

      Note that, if the speaker wants to take questions at the end, they'll usually want 5 minutes for questions. This means that a speaker will speak for 20 minutes in a 30 minute slot.

      +

      It's extremely important that speakers keep to their time slot, and making sure they know how much time is available to them before they start helps.

      +
    6. +

    +
  4. +
  5. At the start of the slot, introduce the speaker to the audience. Tell the audience whether there will be questions, and if they can ask them during the talk or not.
  6. +
  7. +

    Count the speaker down for their speaking time: Give them 5 and 1 minute warnings, and then flag them when their speaking time is over.

    +

    Don't stop a speaker until they're at the session time limit (25 minues). If a speaker is speaking past their time limit, you must stop them. Give them 20 seconds to wrap up, but the 5 minute handover period must be respected.

    +
  8. +
  9. +

    When the speaker has finished, you're in charge of running the questions (if there are any):

    +
      +
    1. Before beginning, tell the audience that you'll only accept actual questions. Statements and advertisements for personal projects should be done after the session.

    2. +
    3. When questions are asked, ensure that the audience can hear them: repeat them if needed.

    4. +
    5. Make sure questions are appropriate. If they aren't, feel free to use your authority to take another question.

    6. +
    7. If no-one else is prepared to ask the first question, you should!

    8. +

    +
  10. +
  11. When there's only 5 minutes left in the session, call it to a close. Thank the speaker!
  12. +
+

This seems like a lot, but it's mostly fairly simple. Keep track of your responsibilities, and everything will go smoothly. Enjoy your sessions!

+
diff --git a/src/sponsors.md b/src/sponsors.md new file mode 100644 index 0000000..8b305db --- /dev/null +++ b/src/sponsors.md @@ -0,0 +1,122 @@ +--- +layout: default +title: Sponsors +--- + +

The conference wouldn't happen without the generous support of our sponsors:

+ + + +
+

Gold sponsors

+
+ Logo of Bennett Institute, a sponsor of PyconUK {{ site.con_year }} +

+ The Bennett Institute for Applied Data Science, at the University of Oxford are a multidisciplinary team of software developers, clinicians and academic researchers, who produce academic research papers, but we also use the same skills to build live, interactive, data-driven tools and services such as OpenPrescribing, TrialsTracker and OpenSAFELY. We produce real, practical policy insights on how data can be used to improve lives. +

+
+ +
+ + Logo of Bloomberg, a sponsor of PyconUK {{ site.con_year }} +

+ Bloomberg is building the world's most trusted information network for financial professionals. Our 9,000+ engineers are dedicated to advancing and building new systems for the Bloomberg Terminal to solve complex, real-world problems. We employ an active community of 4,000+ Python developers who have their hands in everything from financial analytics and data science to contributing to open source technologies like Project Jupyter. Bloomberg is proud to be a Visionary Sponsor of the Python Software Foundation and sponsor of many Python community events around the world. +

+
+ +
+ + Logo of Flok Health, a sponsor of PyconUK {{ site.con_year }} +

+ Flok is a Cambridge-based digital health company. We're a team of engineers and clinicians building a scalable care delivery system for physiotherapy patients across the UK, and Python is a key part of our stack. Read more on the BBC News website about Flok's recent impact in Cambridgeshire & Peterborough. +

+
+ +
+ + Logo of Snapshot AI, a sponsor of PyconUK {{ site.con_year }} +

+ Snapshot AI translates engineering work into real, actionable insights using recursive RAG, transformers, by ingesting data from GitHub, Jira, Bitbucket and more. It understands what your engineering team does, and advocates for developers. +

+
+
+ +
+

Silver sponsors

+ +
+ + Logo of Jetbrains, a sponsor of PyCon UK {{ site.con_year }} +

+ JetBrains is a global software vendor dedicated to building intelligent, productivity-enhancing tools that help developers, data professionals, and teams do their best work. Our flagship Python IDE, PyCharm, is trusted by over 1 million Python developers worldwide. Designed for web developers, data scientists, and AI/ML engineers, PyCharm combines a powerful feature set with a modern AI-enhanced development experience. +

+
+ +
+ + Logo of Internet Society Pulse, a sponsor of PyCon UK {{ site.con_year }} +

+ Internet Society Pulse offers data from trusted sources to help anyone who cares about the Internet to understand the forces that shape it. It is a free, public resource built using Python so we wanted to support the Python community in return. +

+
+
+ + + +
+

Other Supporters

+
+ Logo of Chronic Insanity, a supporter of PyCon UK {{ site.con_year }} +

+ Chronic Insanity is a Nottingham-based theatre company that creates and facilitates live events in a variety of traditional, found, and digital spaces. +

+
+ +
+ Logo of Burendo, a supporter of PyCon UK {{ site.con_year }} +

+ We are an award-winning consultancy delivering stand-out products and services through technology. +

+
+ +
+ Logo of Growth Invest, a supporter of PyCon UK {{ site.con_year }} +

+ GrowthInvest make tax-efficient and private investments more accessible to wealth managers, financial advisers, and their high value clients. +

+
+
+ +
+

Grants

+
+ Logo of EuroPython Society, a supporter of PyCon UK {{ site.con_year }} +

+ The EuroPython Society (EPS) is a Swedish non-profit organization dedicated to supporting Python communities across Europe. It organizes EuroPython conferences, sponsors initiatives like financial aid programs, and promotes diversity and inclusion in the tech ecosystem. +

+
+
+ Logo of Python Software Foundation, a supporter of PyCon UK {{ site.con_year }} +

+ The Python Software Foundation is an organization devoted to advancing open source technology related to the Python programming language. +

+
+
+ Logo of Django Software Foundation, a supporter of PyCon UK {{ site.con_year }} +

+ The Django Software Foundation is a non-profit organisation which works to promote, support, and advance the Django Web framework. +

+
+
+ +
diff --git a/src/sponsorship.md b/src/sponsorship.md new file mode 100644 index 0000000..d6d4005 --- /dev/null +++ b/src/sponsorship.md @@ -0,0 +1,69 @@ +--- +layout: default +title: Sponsorship +--- + +{% if site.spons_prosp_avail == true %} + +**Sponsoring PyCon UK is a great way for your company to support the Python community, promote your products to several hundred delegates, and meet Python developers who are looking for work.** + +PyCon UK is organised entirely by unpaid volunteer members of the Python community in the UK. + +We couldn't run the conference without the generous support of our sponsors. + +In return, we will ensure that your company is given exposure before, during, and after the conference, and we will work with you so that you get exactly what you're looking for out of sponsoring the conference. + +If you are interested in sponsoring the conference, please contact {{"sponsorship@uk.python.org" | create_mailto_link }}. + +There are various sponsorship packages available. For full details, you can find a copy of our sponsorship brochure here + + +## Why sponsor PyCon UK? +Sponsoring PyCon UK will put you in front of an appreciative audience full of the best talent in the UK Python community. + + *If you use Python*, then sponsoring a community event is an effective and meaningful way of contributing to the software on which you rely. + + *If you’re looking for new users*, you’ll find those here and they too will be looking for new products and ideas. + +*If you’re recruiting*, this is the best place to find new talent: many attendees will be skilled and experienced developers looking for their next opportunity. + +*If you want to get your message across and be talked about*, it’s a great opportunity: people like to discover and share new things. + +*If you want to find new development partners and collaborators*, this is where they will be looking for you. + + +[Practical information for sponsors](/information-for-sponsors/) + + +{% else %} + +**Sponsoring PyCon UK is a great way for your company to support the Python +community, promote your company and meet Python developers.** + +If you are interested in sponsoring the conference, please contact {{ +"sponsorship@uk.python.org" | create_mailto_link }}. + +More information, including a sponsorship prospectus ***coming soon***. + +{% endif %} + +
+ Looking down hall in Cardiff City Hall with tables along either side. The tables have branding from various companies. +
+ Sponsor stands in the Cardiff City Hall Marble Hall at PyCon UK 2022. + Photo taken by Mark Hawkins, CC BY. +
+
+ + +--- + +- *The prices and packages in the brochure are not binding offers and are subject to availability.* +- *The conference organisers may reject sponsors at their discretion.* +- *Vouchers will be issued for conference tickets. There will be a deadline by which they must be redeemed. The vouchers are non-refundable and cannot be exchanged for cash.* +- *The sponsorship becomes active when the funds have been received.* +- *20% UK VAT will be added where appropriate.* + diff --git a/src/sprints.md b/src/sprints.md new file mode 100644 index 0000000..4442ac0 --- /dev/null +++ b/src/sprints.md @@ -0,0 +1,102 @@ +--- +layout: default +title: Sprints +--- + + +Almost all open source software collaboration takes place remotely and sometimes +at a big distance: code sprints are an opportunity to work together in the same +place. + +[Link to Sprint Projects](#sprint-projects) + +## What happens at a sprint? + +Developers work together on a given open source project. To name just a few +possibilities of what this can look like it could be: + +- fixing bugs, +- making improvements to documentation, +- discussing problems faced by users, +- making conceptual progress on a new feature. + +## What does someone need to contribute? + +You can contribute to a project you have already contributed to: the code sprint +presents an opportunity to meet people you have perhaps only ever spoken to +online. + +You can contribute to a project you use a lot: the code sprint presents an +opportunity to have a discussion with a more experienced user of the project. + +You can make your first ever open source software contribution: the code sprint +is an excellent way to get involved with the open source community. + +There is no specific **need** for anything apart from some interest. However +having a laptop with Python as well as a basic knowledge of the version control +system used is helpful **but there'll be people to help with that too**. + +## Is leaving before the end of the sprint OK? + +Yes: feel free to drop in and out. + +## If you are thinking of sprinting on a specific project at PyCon UK + +Let us know. We will make a point to let everyone know what is happening at the +sprints. + +## Is it OK to just drop in to take a look? + +Yes :) + +## Sprint Projects + +### Community Projects + +- [Black Python Devs](https://github.com/BlackPythonDevs/blackpythondevs.github.io/issues) - Black Python Devs is an online-first community for Python devlopers who identify as Black. + +- [PyLadies](https://github.com/pyladies) - PyLadies is a global mentorship group focused on helping more marginalized genders become active participants & leads in the Python open-source community. + +### Web Development Projects + +- [Django](https://github.com/django/django) - The Web framework for perfectionists with deadlines. + +- [Django Debug Toolbar](https://github.com/django-commons/django-debug-toolbar/issues) - Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/response. + +- [BeeWare](https://github.com/beeware/beeware.github.io/issues) - BeeWare makes it easy to build and distribute GUI applications using pure Python. It includes frontend, mobile and packaging. + +- [Render Engine](https://github.com/render-engine/render-engine/issues) - Render Engine is a Python Static Site Generator built with flexibility prioritized. + +### Data Science / Scientific + +- [pandas](https://github.com/pandas-dev/pandas) - Pandas is a flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more. + +- [NumPy](https://github.com/numpy/numpy) - NumPy is a fundamental package for scientific computing with Python. + +- [SymPy](https://github.com/sympy/sympy/issues) - SymPy is a computer algebra system written in pure Python. + +- [Spyder](https://github.com/spyder-ide/spyder/issues) - SPYDER(Scientific Python Development Environment) is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. + +- [SciPy](https://github.com/scipy/scipy/issues) - SciPy is a free and open-source Python library used for scientific and technical computing. It provides utility functions for optimization, stats and signal processing. + +### Language / Core + +- [CPython](https://github.com/python/cpython/issues/) - The Python programming language. + +### Libraries + +- [Pillow](https://github.com/python-pillow/Pillow) - Pillow is the friendly Python Imaging Library(PIL) fork that allows you to manipulate images and perform basic image processing tasks. + +### Sustainability + +- **Sustainability Projects** (University of Manchester). The key project will be the **[Research Software Quality Kit][RSQKIT]** RSQKit is - part of the [EVERSE][EVERSE] project - which collects best practices for improving research software. We'll focus on Green Software Sustainability content & tools, including recent work on [Green MetaData][SSIBLOG_GREENMD].                                                                                     The sprint leader is [Michael Sparks][MS_LINK] ( [University Of Manchester][UNIMAN] , [Physics][PHYSICS] & [eScience Lab][ESCIENCE], exBBC R&D ). He created the original BBC micro:bit prototype (which was distributed to schools around the UK), founded the Kamaelia project, helped co-found PyconUK in 2007, and is passionate about mentoring, on-boarding, and knowledge sharing. + +[RSQKIT]: https://github.com/EVERSE-ResearchSoftware/RSQKit +[EVERSE]: https://everse.software/ +[SSIBLOG_GREENMD]: https://www.software.ac.uk/blog/metagreendata-making-code-more-sustainable-one-metadata-file-time +[MS_LINK]: https://sparkslabs.com/blog/ +[UNIMAN]: https://www.manchester.ac.uk/ +[PHYSICS]: https://www.physics.manchester.ac.uk/ +[ESCIENCE]: https://esciencelab.org.uk/ + +## Want to run a sprint for your project? Kindly reach out to us on Discord or send us an email at pyconuk@uk.python.org diff --git a/src/theme/fonts/futura_bold.eot b/src/theme/fonts/futura_bold.eot new file mode 100644 index 0000000..689acef Binary files /dev/null and b/src/theme/fonts/futura_bold.eot differ diff --git a/src/theme/fonts/futura_bold.ttf b/src/theme/fonts/futura_bold.ttf new file mode 100644 index 0000000..338b9bf Binary files /dev/null and b/src/theme/fonts/futura_bold.ttf differ diff --git a/src/theme/fonts/futura_bold.woff b/src/theme/fonts/futura_bold.woff new file mode 100644 index 0000000..065e104 Binary files /dev/null and b/src/theme/fonts/futura_bold.woff differ diff --git a/src/theme/fonts/futura_bold.woff2 b/src/theme/fonts/futura_bold.woff2 new file mode 100644 index 0000000..453966d Binary files /dev/null and b/src/theme/fonts/futura_bold.woff2 differ diff --git a/src/theme/style.scss b/src/theme/style.scss new file mode 100644 index 0000000..aca2342 --- /dev/null +++ b/src/theme/style.scss @@ -0,0 +1,154 @@ +--- +--- +@import "fonts.scss"; +@import "mixins.scss"; + +$red: #e31c22; +$yellow: #fecb2f; +$blue: #007bff; +$darkblue: #0020ee; +$bronze: #cd7f32; +$silver: #c0c0c0; +$darkgrey: #303030; + +$default-padding: 1em; +$max-width: 800px; + +body { + margin: 0; + padding: 0; + background: $yellow; + line-height: 1.6; + font-family: "IBM Plex Serif", serif; + font-weight: 300; + font-style: normal; + font-size: 18px; +} + +main { + background: white; + + #main_inner { + @include central_element(); + } + + @media screen { + // For the footer + padding-bottom: 10vw; + } + + @media print { + page-break-after: none; + } + + h1, h2, h3, h4, h5, .button { + font-family: Raleway; + } +} + +a { + @include link_styles($darkblue, 0.3); +} + +span.warning { + padding-inline: 0.2em; + + background: $yellow; +} + +.button { + border-radius: 2px; + padding: $default-padding / 2 $default-padding; + + background: darken($darkblue, 10%); + color: white; + + font-weight: bold; + text-decoration: none; + + &:hover { + background: $darkblue; + } + + &.block { + display: inline-block; + margin-bottom: $default-padding; + } +} + +.dot_list { + list-style-type: none; + padding-left: 0px !important; + + // Ensure they all display in a line + li { + display: inline; + &:not(:first-child)::before { + content: " · "; + } + } +} + +img { + // Image styling as recommended by Harry Roberts (@csswizardry) + max-width: 100%; + height: auto; + + shape-margin: 0.75rem; + + background-repeat: no-repeat; + background-size: cover; + + vertical-align: middle; + + font-style: italic; +} + +figure { + margin: 0; + max-width: 100%; + + img { + max-width: 100%; + } + + figcaption { + font-size: small; + color: $darkgrey; + + a { + @include link_styles($darkblue, 0.3); + } + } +} + +figure.floor-plan { + figcaption { + margin-block: 0.5em; + text-align: center; + } + + @media (min-width: 600px) { + margin-inline: auto; + max-width: 70%; + } +} + +@media print { + .slide { + page-break-after: always; + } + + .noprint { + display: none; + } + + div:last-of-type { + page-break-after: none; + } +} + +@import "header.scss"; +@import "footer.scss"; +@import "columns.scss"; +@import "snakes.scss"; diff --git a/src/tickets.md b/src/tickets.md new file mode 100644 index 0000000..65a4370 --- /dev/null +++ b/src/tickets.md @@ -0,0 +1,72 @@ +--- +layout: default +title: Tickets +--- +{% assign prices = site.data.prices.md %} +{% if site.tickets_open != true %}

Well done, you found the tickets page, but they're not on sale yet- you'll have to wait a little longer!

{% endif %} +{% if site.tickets_sold_out == true %}Tickets are now sold out. You can join the waiting list in the hope that someone cancels. Good luck!{% endif %} + +
+

NOTE:If you are travelling from overseas, including the EU, please remember to check all required documentation for entry into the UK.

+
+ +

If you need to know the start and finish times on each day before you get your ticket, for travel or other reasons, see the schedule.

+ + + + + +

If you can't see the tickets widget, you can buy your PyCon UK {{ site.con_year }} tickets here.

+ +
+

How to select your ticket rate

+

If your tickets are being paid for by your employer, and/or you need a VAT receipt, please select the Corporate rate.

+

If you are paying for your ticket out of your own pocket, and are not being reimbursed by your employer, please select the Individual rate.

+

If you are unwaged (for example in full-time education), please select the Unwaged rate.

+

If you have a young coder (aimed at ages 8 - 16) who wants to come to the Young Coders day, please select that rate. You can accompany them at no extra charge.

+

If you are happy to pay a little extra to help support the conference, you may select one of the Supporter rates.

+

All conference admission tickets include 3 days of conference and one day of sprints.

+ About our ticket prices +
+ +
+

Please note that anyone under 18 must be accompanied by an identifiable adult.

+

This adult has responsibility for the minor at all times and must be in attendence whenever the minor is, and contactable by the event organisers.

+
+ +
+

Ticket prices

+

All tickets (except Young Coders) include all 4 days of the conference.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Standard RateSupporter Rate
Corporate{{ prices.standard.corporate }}{{ prices.supporter.corporate }}
Individual{{ prices.standard.individual }}{{ prices.supporter.individual }}
Unwaged{{ prices.standard.unwaged }}{{ prices.supporter.unwaged }}
Young coders (aimed at ages 8 - 16, with accompanying adult){{ prices.standard.young }}{{ prices.supporter.young }}
+ +

All prices in this table include VAT at 20%
+ VAT number: {{ site.con_vat_number }}

+
diff --git a/src/tickets/about-our-ticket-prices.md b/src/tickets/about-our-ticket-prices.md new file mode 100644 index 0000000..bb76876 --- /dev/null +++ b/src/tickets/about-our-ticket-prices.md @@ -0,0 +1,51 @@ +--- +layout: default +title: About our ticket prices +--- + +
+

Our aims

+

PyCon UK's ticket pricing structure is our attempt to come up with a satisfactory way to meet both of our two key aims.

+

We want to make the conference:

+
    +
  • as equitable and affordable as possible
  • +
  • sustainable and financially secure
  • +
+

As anyone who has run such a conference will be aware, that's a tricky balancing act.

+

We have had some queries, as we do every year, about our ticket pricing. This page is intended to answer some of those questions.

+
+ +
+

Corporate, individual, and unwaged rates

+

For those who can afford to, and want to support the conference more, we offer Supporter tickets, of both Corporate and Individual (see below) types.

+

Our standard, full-price ticket rate is the Corporate rate. Companies can account for tickets as a legitimate business cost, which has tax implications. Businesses can also claim back the VAT we are obliged to charge.

+

We offer discounted prices for Individuals, people who have to pay to attend out of their own pockets, and who can’t absorb the cost of the conference into their operating business finances the way corporations can, or claim back VAT.

+

Finally, we offer further discounts for people who are Unwaged.

+

We believe this arrangement is fair. At any rate, it's the best we have managed to come up with.

+
+ +
+

All tickets are subsidised (except Supporter tickets)

+

It's worth noting that even the full Corporate rate is less than the cost per person of the event.

+

In other words, a full-rate ticket is sold for less than it costs us to have an attendee at the conference - even at the highest rate, you are literally getting more than you have paid for.

+

The difference is made up by the generous sponsorship we rely on.

+
+ +
+

Non-profit, volunteer-run

+

PyCon UK is a non-profit event. Any surplus funds are rolled over to the following year's budget.

+

The organisers of PyCon UK are all unpaid volunteers. We do this in our spare time.

+
+ +
+

Where the money comes from and where it's spent

+

All of our income is from ticket sales, sponsorship and community grants.

+

Our two largest expenses are catering and venue hire. These are followed by financial assistance grants, and then by essential services, such as audio-visual support, speech to text reporting, the crèche and so on.

+
+ +
+

Have we got it right?

+

Each year, PyCon UK sells out well in advance, and we expect the same to be the case this year.

+

However, we don't imagine that we've come up with the perfect solution, and we'd be glad to hear if you can suggest improvements.

+

Still, we're very proud of the fact that year after year we manage to put on a first-rate PyCon for the UK community. It benefits everyone in it, and is organised with enormous attention to detail and runs as smoothly as any professionally-staged event - and we manage to do it at a far lower cost of entry, and with a very high value for money, for everyone.

+
diff --git a/src/venue.md b/src/venue.md new file mode 100644 index 0000000..3920d83 --- /dev/null +++ b/src/venue.md @@ -0,0 +1,221 @@ +--- +layout: default +title: The Venue +--- + +{% assign links = site.data.links.html.long %} + +This year's conference is being held at {{ links.contactmcr }} in Manchester. It's on the south side of the city, close to Manchester University, with [good transport links] close by. + +[good transport links]: #getting-here +[buses]: /local-info#by-bus +[trams]: /local-info#by-tram +[hire bikes]: /local-info#by-hire-bike + +View on Google Maps + +### Planning your trip + +We've put together a shortlist of [hotels](#hotels) and [hostels](#hostels) in Manchester. + +There are also some tips for people travelling by [train](#by-train), [plane](#by-plane), [car](#by-car), or [coach](#by-coach). + +Don't forget that **if you're travelling from outside the UK** and don't possess a UK passport you are likely to need an [Electronic Travel Authorisation or visa](https://www.gov.uk/eta). + +### Accessibility + +The site has accessible toilets, baby changing facilities, a lift to all floors, and great coffee. + +Parking isn't generally available, but parking for disabled visitors can be arranged in advance. If this is something you need, please [contact us](https://2025.pyconuk.org/contact/). + +### Guide to the building + +On the ground floor, you'll find: + +- Main Entrance +- Help desk +- Cloakroom +- Toilets +- Lift +- Catering (Cafe/bar and Space 0) + +
+ Ground floor floorplan for Contact, venue for PyconUK {{ site.con_year }} +
Ground floor
+
+ +On the first floor you'll find: + +- Access (including disabled access) to the Main Stage (Space 1) +- Sponsors +- Catering (Upper Foyer) +- Creche + +
+ First floor floorplan for Contact, venue for PyconUK {{ site.con_year }} +
First floor
+
+ +And on the Second Floor: + +- Access to the Talk Stage (Space 2) +- Space 3 - Workshops (Young Coders Saturday - prebooked only) +- Space 4 - Workshops (Django Girls Saturday - prebooked only) +- Quiet Room + +
+ Second floor floorplan for Contact, venue for PyconUK {{ site.con_year }} +
Second floor
+
+ +## Accommodation + +Before choosing a place to stay, it's worth bearing in mind how far it is from the venue and (if you think you might go) to the city centre. + +Most hotels are within a 20-30 minute walk of the venue, but you can also use taxis, [buses], or hop on one of Manchester's [hire bikes]. + +### Hotels + +There are a couple of hotels just over a 10 minute walk from the venue: + +- [Travelodge (Upper Brook Street)] is a [12 minute walk][travelodge map] to the east of the venue. While it's nearby, note that if you'd like to venture into the city centre during your stay that it's not quite so well located. For those arriving by train, it's a 30 minute walk (or a 5 minute taxi ride) from Manchester Piccadilly station. + +- [Hyatt Regency] (4 star, so more expensive) is [a similar distance away][hyatt map] from the venue, but is closer to the city. It's a 20 minute walk (or 5 minute taxi ride) from Piccadilly station. + +[Travelodge (Upper Brook Street)]: https://www.travelodge.co.uk/hotels/523/Manchester-Upper-Brook-Street-hotel +[travelodge map]: https://maps.app.goo.gl/Ki1GoXWb5GoNyFs27 + +[Hyatt Regency]: https://www.hyatt.com/hyatt-regency/en-US/manrm-hyatt-regency-manchester +[hyatt map]: https://maps.app.goo.gl/ce3tMJUhjvQ9DqPo7 + +You've got more choice if you opt for a hotel close to the city centre. These are a 20-25 minute walk from the venue and about 10 minutes from Piccadilly station: + +- [ibis Manchester Centre] on Portland Street ([map][ibis map]) +- [Holiday Inn Express] on Oxford Road ([map][holiday inn map]) +- [Premier Inn Manchester Centre] on Portland Street ([map][premier map]) +- [Maldron Manchester City Centre] on Charles Street ([map][maldron map]) +- [Pendulum Hotel] on Sackville Street ([map][pendulum map]) +- [Wilde Aparthotels] on Dickinson St ([map][wilde map]) + +[ibis Manchester Centre]: https://all.accor.com/hotel/3142/index.en.shtml +[ibis map]: https://maps.app.goo.gl/FzotGwNGVbhabk2T9 + +[Holiday Inn Express]: https://www.ihg.com/holidayinnexpress/hotels/gb/en/manchester/mchor/hoteldetail +[holiday inn map]: https://maps.app.goo.gl/Eibai4ZM4bbLfCyP7 + +[Premier Inn Manchester Centre]: https://www.premierinn.com/gb/en/hotels/england/greater-manchester/manchester/manchester-city-centre-portland-street.html +[premier map]: https://maps.app.goo.gl/hXBAP2u8dxQ5XnZu8 + +[Maldron Manchester City Centre]: https://www.maldronhotels.com/manchester-city-centre/ +[maldron map]: https://maps.app.goo.gl/Z16forXNhmFckSxo6 + +[Pendulum Hotel]: https://www.pendulumhotel.co.uk/ +[pendulum map]: https://maps.app.goo.gl/T28F4S3wzXkdSSNw6 + +[Wilde Aparthotels]: https://www.wilde.com/manchester/city-centre +[wilde map]: https://maps.app.goo.gl/pHjc3VT8dPR3jJ8o8 + +There are a lot of other choices if none of those take your fancy. This [list of hotels] will give you some more ideas (the most expensive ones are at the top, with a budget-friendly section further down the page). + +[list of hotels]: https://oxfordroadcorridor.com/place/where-to-stay-around-oxford-road/ + +### Hostels + +The [Manchester YHA] is in a nice location. It's a [40 minute walk][yha map] to the venue, 20 minutes to Oxford Road station, 30 minutes to Piccadilly station, and 35 minutes to Victoria station. + +The [Malacuna Hostel] (previously known as [Hilton Chambers]) is also worth considering. It's on the edge of Manchester's [Northern Quarter], which is where you'll find an eclectic mix of shops, plenty of bars, and lots of restaurants (it can be quite lively in the evenings). It's on the far side of the city centre from the venue, so a [40 minute walk away][malacuna map] (or 10 minutes on one of the local [hire bikes]). But it's only an 11 minute walk to Piccadilly station, or 12 minutes to Victoria station. + +[Manchester YHA]: https://www.yha.org.uk/hostel/yha-manchester +[yha map]: https://maps.app.goo.gl/gZ6tdiXH4AkqPuDTA + +[Malacuna Hostel]: https://www.smartrental.com/en/malacuna/manchester/ +[Hilton Chambers]: https://maps.app.goo.gl/C5uXMdBcdpzUfUHm8 +[malacuna map]: https://maps.app.goo.gl/mgnDNiNmLsZ2Fd4QA + +[Northern Quarter]: https://www.visitmanchester.com/things-to-see-and-do/explore/neighbourhoods/northern-quarter/ + +## Getting here + +**At present, industrial action is planned for Friday 19th - Monday 22nd Sept. This means no buses will be running along the Oxford road corridor or to/from the train stations.** + +**TFGM have published [the full list of bus services] affected.** + +[the full list of bus services]: https://tfgm.com/bus-industrial-action + +### By Train + +Manchester has three major city-centre train stations. If travelling directly to the venue, travel times are as follows: + +- **Manchester Piccadilly** is a [30 minute walk][piccadilly station walking] away, 10 minutes by taxi, or [20 minutes by bus][piccadilly station bus] (which includes 12 minutes of walking) +- **Manchester Oxford Road** is a [25 minute walk][oxford rd station walking], 10 minutes by taxi, or [13 minutes by bus][oxford rd station bus] +- **Manchester Victoria** is approximately [30 minutes by public transport][victoria station bus] or 20 minutes by taxi + +[piccadilly station walking]: https://maps.app.goo.gl/gJ9frfrnEL6WRbNP8 +[piccadilly station bus]: https://maps.app.goo.gl/wbygSRedD8xhLwRGA + +[oxford rd station walking]: https://maps.app.goo.gl/gtfz23DoVaWMMZyv6 +[oxford rd station bus]: https://maps.app.goo.gl/dkayLdSyWwuUbzFn7 + +[victoria station bus]: https://maps.app.goo.gl/tU19ehpW2PyYq8K66 + +If travelling by bus, see our [tips on using Manchester's buses][buses]. + +### By Car + +**Contact Theatre does not have public parking**. The adjacent car park is for **permit holders only**, but Contact Theatre recommend: + +- **University of Manchester's Cecil Street car park**, a [5 minute walk][cecil street walk] or 2 minute taxi ride (tariffs are [listed here]) +- **[Q-Park Manchester Hospitals]**, an [11 minute walk][q-park hosp walk] or 5-7 minutes by taxi + +Other options include: + +- **[Q-Park First Street]**, a [25 minute walk][q-park first walk] or 7–10 minutes by taxi +- **[NCP Oxford Street] / [NCP Palace]**, both just over 20 minutes walk or 8 minutes by taxi + +**NOTE:** Private **cars are prohibited** on the section of Oxford Road adjacent to Contact Theatre every day **between 9am and 6pm**, with a **£70 penalty charge** for vehicles that enter. Sections of Oxford Road are also one-way – see the Council's [map of the bus gates] for more details. + +[cecil street]: https://maps.app.goo.gl/ifYYogtxFm7sd6kC6 +[listed here]: https://www.estates.manchester.ac.uk/services/operationalservices/carparking/#CARPARKE +[Q-Park Manchester Hospitals]: https://www.q-park.co.uk/en-gb/cities/manchester/manchester-hospitals/ +[q-park hosp walk]: https://maps.app.goo.gl/M7FG8suU2yRQWqwH9 +[Q-Park First Street]: https://www.q-park.co.uk/en-gb/cities/manchester/poi/one-first-street/ +[q-park first walk]: https://maps.app.goo.gl/QPYnwPJRGTVRX3w19 +[NCP Oxford Street]: https://maps.app.goo.gl/GdhPAJzmYNseyWpZ6 +[NCP Palace]: https://maps.app.goo.gl/2VfrxDZoTTVTMqrQA + +[map of the bus gates]: https://www.manchester.gov.uk/info/471/tickets_and_fines/7420/bus_gates/2 + +### By Coach + +**National Express** and **Megabus** coaches arrive at **Manchester Coach Station (Chorlton Street)**. + +It's about a [30 minute walk][coach station walk] from the venue, or 10 minutes by taxi. + +[coach station walk]: https://maps.app.goo.gl/WSJsAA12mR2HeJ9J6 + +You can also take a **bus from nearby Portland Street** to the **University of Manchester stop**. + +### By Plane + +Flying into **Manchester Airport**? + +- Taking a [train][airport train] to Oxford Road or Piccadilly, then a taxi or [bus][buses] to the venue should take around 35 to 40 minutes (see our [tips on using the buses][buses]) +- The **Metrolink tram** connects the airport with the city centre, but usually takes longer than the train (see our [tips on using the trams][trams]) +- A **taxi or rideshare** from the airport takes around 25–30 minutes, depending on traffic + +[airport train]: https://maps.app.goo.gl/Pq92bbiRkBtGX9sg9 + +### By Bike + +You can [rent a bike][hire bikes] (which can be found around the city) after downloading the app (see our [tips on hiring a bike][hire bikes]). + +There are Dutch-style cycle lanes along Oxford Road. + +### By Canal Boat + +Arriving by canal? You can moor at **Castlefield Basin**, which is about a: + +- **25-minute walk** to Contact Theatre +- **8-minute taxi ride** or **15–20 minutes by bus** or [on a hire bike][hire bikes] + +Let us know if you're joining us by water — we'd love to hear about it!