Skip to content

Initial CJ12 update #1556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions pydis_site/templates/events/current_event.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
<small class="has-text-grey">Upcoming event</small>
<div class="columns is-3 mt-1" style="--columnGap: 0.75rem;">
<div class="column">
<h2 class="title is-4"><a href="{% url "events:page" path="code-jams/11" %}">Summer Code Jam 2024</a></h2>
<h2 class="title is-4"><a href="{% url "events:page" path="code-jams/11" %}">Summer Code Jam 2025</a></h2>
<p class="subtitle is-6" style="margin-top: -.75rem;">
<span class="icon-text">
<span class="icon"><i class="fa-regular fa-calendar"></i></span><span>July 3 - August 1</span>
<span class="icon"><i class="fa-regular fa-calendar"></i></span><span>August 7 - August 22</span>
</span>
</p>
</div>
<div class="column">
<img src="{% static "images/events/summer_code_jam_2024/banner.webp" %}" style="border-radius: 10px;" alt="Code Jam 2024">
<img src="{% static "images/events/summer_code_jam_2025/banner_with_dates.png" %}" style="border-radius: 10px;" alt="Code Jam 2025">
</div>
</div>
<div class="notification is-success">
The <strong>2024 Summer Code Jam</strong> is currently underway and you can still enter!
<strong>The qualifier is open until July 10</strong>; check out the details <a href="{% url "events:page" path="code-jams/11" %}">here</a>.
The <strong>2025 Summer Code Jam</strong> is currently underway and you can still enter!
<strong>The qualifier is open until July 31</strong>; check out the details <a href="{% url "events:page" path="code-jams/12" %}">here</a>.
</div>
<p>Once a year we host a code jam for members of our server to participate in. The code jam is an event where we place you
in a team with 5 other random server members. You then have 11 days to code some sort of application or program in Python.
Your program must use the specified technology/framework and incorporate the theme chosen by the server.</p>
<a class="button is-primary" href="{% url "events:page" path="code-jams/11" %}">
<a class="button is-primary" href="{% url "events:page" path="code-jams/12" %}">
<span class="icon-text">
<span>Learn more</span><span class="icon"><i class="fa-solid fa-arrow-right"></i></span>
</span>
Expand Down
61 changes: 61 additions & 0 deletions pydis_site/templates/events/pages/code-jams/12/_index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{% extends "events/base_sidebar.html" %}

{% load static %}

{% block title %}Summer Code Jam 2025{% endblock %}

{% block breadcrumb %}
<li><a href="{% url "events:index" %}">Events</a></li>
<li><a href="{% url "events:page" path="code-jams" %}">Code Jams</a></li>
<li class="is-active"><a href="#">Code Jam 2025</a></li>
{% endblock %}

{% block event_content %}
<p>Once a year we host a code jam for members of our server to participate in. The code jam is an event where we place you
in a team with 5 other random server members. You then have 11 days to code some sort of application or program in Python.
Your program must use the specified technology/framework and incorporate the theme chosen by the server.
</p>
<p>
After the 11 days are complete, your team has 4 days to finish documentation and create a video presentation showcasing
and walking through the program that your team has created. More details and specifics of this will be released within the next 2 weeks.
</p>

<h3 id="important-dates"><a href="#important-dates">Important Dates</a></h3>
<ul>
<li>Tuesday, July 22 - The Qualifier is released</li>
<li>Thursday, July 31 - The Qualifier closes</li>
<li>Wednesday, August 1 - Voting for the theme opens</li>
<li>Thursday, August 7 - Code Jam Begins</li>
<li>Sunday, August 17 - Coding portion of the jam ends</li>
<li>Thursday, August 21 - Presentation and documentation process ends</li>
</ul>

<h3 id="qualifier"><a href="#qualifier">The Qualifier</a></h3>
<p>
The qualifier is a coding challenge that you are required to complete before registering for the code jam.
This is meant as a basic assessment of your skills to ensure you have enough Python knowledge to effectively contribute in a team environment.
</p>
<p>
<strong>The qualifier has been released! Submissions are open until July 10.</strong>
You can find the instructions <a href="https://github.com/python-discord/code-jam-12-qualifier" target="_blank">on our GitHub</a>,
and submit using <a href="https://forms.pythondiscord.com/form/cj12-2025-qualifier" target="_blank">this form</a> when you're done.
</p>

<h3 id="technology"><a href="#technology">Technology</a></h3>
<p>
The chosen technology for this year is <strong>Python in the Broswer</strong>.
Each team must make use of <a href="{% url "events:page" path="code-jams/12/frameworks" %}">the approved frameworks</a> to create a Discord Application.
</p>

<h3 id="prizes"><a href="#prizes">Prizes</a></h3>
<p>
Prizes for the code jam will be announced in the coming weeks.
</p>

{% endblock %}

{% block sidebar %}

{% include "events/sidebar/code-jams/12.html" %}

{% endblock %}
154 changes: 154 additions & 0 deletions pydis_site/templates/events/pages/code-jams/12/frameworks.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
{% extends "events/base_sidebar.html" %}

{% load static %}

{% block title %}Summer Code Jam 2025{% endblock %}

{% block breadcrumb %}
<li><a href="{% url "events:index" %}">Events</a></li>
<li><a href="{% url "events:page" path="code-jams" %}">Code Jams</a></li>
<li><a href="{% url "events:page" path="code-jams/12" %}">Code Jam 2025</a></li>
<li class="is-active"><a href="#">Approved Frameworks</a></li>
{% endblock %}

{% block event_content %}
<p>
Below is the list of pre-approved frameworks that you can use for the code jam.
Please work with your team to choose a library (or multiple) that everyone can and want to develop with.
If there is a library not listed below that you think should be here, you're welcome to discuss it with the Events Team over in the Discord server.

</p>

<h3 id="approved-frameworks"><a href="#approved-frameworks">Approved Frameworks</a></h3>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">pyodide</p>
<p>
Pyodide is a Python distribution for the browser and Node.js based on WebAssembly.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://pyodide.org/en/stable/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/pyodide/pyodide" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">pyscript</p>
<p>
PyScript is an open source platform for Python in the browser.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://pyscript.net/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/pyscript/pyscript" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">brython</p>
<p>
A Python 3 implementation for client-side web programming
</p>
</div>
</div>
<div class="card-footer">
<a href="https://brython.info/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/brython-dev/brython" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">marimo</p>
<p>
marimo is an open-source reactive Python notebook: run a cell or interact with a UI element,
and marimo automatically runs dependent cells (or marks them as stale), keeping code and outputs
consistent and preventing bugs before they happen. Every marimo notebook is stored as pure Python (Git-friendly),
executable as a script, and deployable as an app; while stored as Python, marimo notebooks also have native support for SQL.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://docs.marimo.io/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/marimo-team/marimo" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">jupyterlite</p>
<p>
JupyterLite is a JupyterLab distribution that runs entirely in the browser built from the ground-up using JupyterLab components and extensions.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://jupyterlite.readthedocs.io/en/stable/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/jupyterlite/jupyterlite" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">nicegui</p>
<p>
NiceGUI is an easy-to-use, Python-based UI framework, which shows up in your web browser. You can create buttons, dialogs, Markdown, 3D scenes, plots and much more.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://nicegui.io/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/zauberzeug/nicegui/" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">reflex</p>
<p>
Reflex is an open-source framework for quickly building beautiful, interactive web applications in pure Python.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://reflex.dev/docs/getting-started/introduction/" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://github.com/reflex-dev/reflex" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

<div class="card mb-4">
<div class="card-content">
<div class="content">
<p class="subtitle">rio</p>
<p>
Rio is an easy to use framework for creating websites and apps and is based entirely on Python.
You won't need a single line of HTML, CSS, or JavaScript to create beautiful, modern apps.
</p>
</div>
</div>
<div class="card-footer">
<a href="https://rio.dev/docs" class="card-footer-item"><i class="fas fa-book"></i>&ensp;Documentation</a>
<a href="https://pypi.org/project/rio-ui/" class="card-footer-item"><i class="fab fa-github"></i>&ensp;GitHub</a>
</div>
</div>

{% endblock %}

{% block sidebar %}

{% include "events/sidebar/code-jams/12.html" %}

{% endblock %}
85 changes: 85 additions & 0 deletions pydis_site/templates/events/pages/code-jams/12/rules.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{% extends "events/base_sidebar.html" %}

{% block title %}Summer Code Jam 2025{% endblock %}

{% block breadcrumb %}
<li><a href="{% url "events:index" %}">Events</a></li>
<li><a href="{% url "events:page" path="code-jams" %}">Code Jams</a></li>
<li><a href="{% url "events:page" path="code-jams/12" %}">Code Jam 2025</a></li>
<li class="is-active"><a href="#">Rules</a></li>
{% endblock %}

{% block event_content %}
<ol>
<li><p>Your solution must use one or more of the pre-approved frameworks. It is not permitted to circumvent this rule by e.g. using the approved framework as a wrapper for another framework.</p></li>
<li>
<p>
<strong>The core of your project must focus on and incorporate "Python in the Browser".</strong>
</p>
</li>
<li><p>Your solution should be platform agnostic. For example, if you use filepaths in your submission, use <code>pathlib</code> to create platform agnostic Path objects instead of hardcoding the paths.</p></li>
<li>
<p>
You must document precisely how to install and run your project.
This should be as easy as possible, which means you should consider using dependency managers like <code>uv</code> or <code>poetry</code>.
We would also encourage you to use <code>docker</code> and <code>docker-compose</code> to containerize your project, but this isn't a requirement.
</p>
</li>
<li>
You must get contributions from every member of your team, if you have an issue with someone on your team please contact a member of the administration team.
These contributions do not necessarily have to be code, for example it's absolutely fine for someone to contribute management, documentation, graphics or audio.
<strong>
Team members that do not contribute will be removed from the Code Jam, and will not receive their share of any prizes the team may win.
They may also be barred from entering future events.
</strong>
</li>
<li><p>You must use GitHub as source control.</p></li>
<li>
<p>
All code and assets must be compatible with the <a href="https://en.wikipedia.org/wiki/MIT_License">MIT license</a>.
This is because we will be merging your submission into our <code>summer-code-jam-2025</code> repo at the end of the jam,
and this repo is licensed with the MIT license.
<strong>Projects that include assets that are incompatible with this license may be disqualified.</strong>
</p>
</li>
<li><p>All code must be written and committed within the time constrictions of the jam. Late commits may be reverted, so make sure you leave enough time to bug test your program.</p></li>
<li>
<p>
Use English as the main language for your project, including names, comments, documentation, and commit messages.
Any text displayed in your application should also be in English,
although you are allowed to provide the user with options for internationalisation and translation.
</p>
</li>
<li>
<p>
Your team, once the coding portion of the code jam is complete, must create a presentation that showcases and explains your final product.
Thorough and robust documentation can fulfill this requirement.
This must be uploaded somewhere for the judges to view (i.e. unlisted Youtube video, Google Drive, GitHub etc.)
Teams who do not submit a final presentation may be disqualified.
</p>
</li>
<li>
<p>
Any images or videos used must have one of the following licenses and follow the licensing guidelines:
<ul>
<li>Public Domain License</li>
<li>Copyright Free Image License</li>
<li>CC-BY (Creative Commons "By")</li>
<li>CC-BY-SA (Creative Commons "Share Alike")</li>
</ul>
</p>
</li>
</ol>

<blockquote>
Please note that our regular
<a href="/pages/rules">community rules</a> and <a href="/pages/code-of-conduct">code of conduct</a>
also apply during the event and that we reserve the right to make changes to these rules at any time.
</blockquote>
{% endblock %}

{% block sidebar %}

{% include "events/sidebar/code-jams/12.html" %}

{% endblock %}
6 changes: 3 additions & 3 deletions pydis_site/templates/events/scheduled_events.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ <h2 class="title is-5" style="margin-bottom: 2rem;">Scheduled events</h2>
<article class="media">
<div class="media-left">
<p class="image is-64x64">
<a href="{% url "events:page" path="code-jams/11" %}"><img class="is-rounded" src="/static/images/events/summer_code_jam_2024/logo.webp"></a>
<a href="{% url "events:page" path="code-jams/12" %}"><img class="is-rounded" src="/static/images/events/summer_code_jam_2025/logo.png"></a>
</p>
</div>
<div class="media-content">
<div class="content">
<h5 class="title is-4"><a href="{% url "events:page" path="code-jams/11" %}">Summer Code Jam 2024</a></h5>
<h5 class="title is-4"><a href="{% url "events:page" path="code-jams/12" %}">Summer Code Jam 2025</a></h5>
<p class="subtitle is-6">
<span class="icon-text">
<span class="icon date-icon"><i class="fa-regular fa-calendar"></i></span>
<span>July 2024</span>
<span>July/August 2025</span>
</span>
</p>
<p>Our annual code-jam where we place you in a team of five and you have 11 days to code some sort of application or program in Python based on a selected technology or framework.</p>
Expand Down
12 changes: 12 additions & 0 deletions pydis_site/templates/events/sidebar/code-jams/12.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{% load static %}
<div class="panel">
<p class="panel-heading">Important Links</p>
<a class="panel-block has-text-link" href="{% url "events:page" path="code-jams/12/rules" %}">Rules</a>
<a class="panel-block has-text-link" href="{% url "events:page" path="code-jams/12/frameworks" %}">Approved Frameworks</a>
<a class="panel-block has-text-link" href="{% url "events:page" path="code-jams/code-style-guide" %}">The Code Style Guide</a>
<a class="panel-block has-text-link" href="{% url "events:page" path="code-jams/judging" %}">How Judging Works</a>
</ul>
</div>
<div class="box">
<img src="/static/images/events/summer_code_jam_2025/logo.png" alt="logo">
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<div class="box">
<h4 class="menu-label">Upcoming Code Jam</h4>
<a href="{% url "events:page" path="code-jams/11" %}">
<img src="{% static "images/events/summer_code_jam_2024/banner.webp" %}" alt="Code Jam 2024">
<a href="{% url "events:page" path="code-jams/12" %}">
<img src="{% static "images/events/summer_code_jam_2025/banner_with_dates.png" %}" alt="Code Jam 2025">
</a>
</div>
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<div class="box">
<p class="menu-label">Previous Code Jams</p>
<ul class="menu-list">
<li><a class="has-text-link" href="{% url "events:page" path="code-jams/11" %}">Code Jam 11: Information Overload</a></li>
<li><a class="has-text-link" href="{% url "events:page" path="code-jams/10" %}">Code Jam 10: Secret Codes</a></li>
<li><a class="has-text-link" href="{% url "events:page" path="code-jams/9" %}">Code Jam 9: It's Not A Bug, It's A Feature</a></li>
<li><a class="has-text-link" href="{% url "events:page" path="code-jams/8" %}">Code Jam 8: Think Inside the Box</a></li>
Expand Down
Loading
Loading