Skip to content
Open
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
14 changes: 14 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: pre-commit

on:
pull_request:
push:
branches: [main]

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.1
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-toml
- id: trailing-whitespace
50 changes: 49 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,49 @@
[holding repo for list of Australia Python speakers]
# Speaker and Talk registry for Python Australia

This repository contains a registry of people, and their talks, that have been presented at Python community events in
Australia alongside several scripts to retrieve information about speakers and their speeches.

## Data Model

There are two registries that should be edited, ``Speaker`` and ``Talk``. The registries follow the below data
models, however additional, arbitrary, data may be added as appropriate. The ``name`` field in the Speaker registry
should correspond to the ``speaker`` field in the Talk registry. More explicitly these two fields will be used to
"join" the two registries.

### Speaker Registry

Each speaker is represented as a table in the ``data/speaker_registry.toml`` file. The data model for the speaker
registry is as follows (using Kai as an example):

```toml
[KaiStriega] # This is an arbitrary, but unique, identifier
name = "Kai Striega"
pronouns = "he/him"
about = "Kai is a motivated, conscientious senior software developer and FOSS advocate with an educational background in mathematics. Whilst being very appreciate the beauty of Mathematics Kai prides himself on his ability to focus on pragmatic outcomes, prioritising his work effectively. This combined with his strong technical grounding have seen him succeed in his roles as a software developer and data engineer at BHP, and now as a senior software engineer at Cartesian Software. In addition to his professional work, Kai is active in the Free and Open Source community as a long-term maintainer of SciPy."
city = "Sydney"
socials = { "LinkedIn" = "https://www.linkedin.com/in/kai-striega/", "GitHub" = "https://github.com/Kai-Striega" }
```

### Talk Registry

Each talk is represented as a table in the ``data/talk_registry.toml`` file. The data model for the talk registry is as
follows:

```toml
[KaiMcDonalds] # This is an arbitrary, but unique, identifier
speaker = "Kai Striega"
title = "Optimising Your McDonald's Order: An Introduction to Linear and Mixed Integer Programming with Pyomo"
length_in_mintues = 30
abstract = """
Ever wondered if you could hack your McDonald's order to be as low-calorie as possible while still meeting all your
essential dietary needs? In this talk, we’ll dive into Linear Programming (LP) and Mixed Integer Programming (MIP)
using Pyomo, a powerful Python library for optimisation. We’ll start with the basics—what LP and MIP are, why they’re
useful, and how they help solve real-world problems. We’ll then put theory into practice by setting up an optimisation
problem: finding the lowest-calorie McDonald’s meal that still meets all your nutritional requirements. Using Pyomo,
we’ll model the problem, define constraints, and let an optimisation solver do the heavy lifting.
By the end of the session, you’ll have a solid understanding of how LP/MIP works, see how to apply it in Python, and
walk away with a fun (and possibly surprising) take on fast-food decision-making!
"""
presented_at = "PythonWA"
presentation_date = 2025-04-03
```
5 changes: 5 additions & 0 deletions data/speaker_registry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[KaiStriega]
name = "Kai Striega"
about = "Kai is a motivated, conscientious senior software developer and FOSS advocate with an educational background in mathematics. Whilst being very appreciate the beauty of Mathematics Kai prides himself on his ability to focus on pragmatic outcomes, prioritising his work effectively. This combined with his strong technical grounding have seen him succeed in his roles as a software developer and data engineer at BHP, and now as a senior software engineer at Cartesian Software. In addition to his professional work, Kai is active in the Free and Open Source community as a long-term maintainer of SciPy."
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is terrible English 😓 you can see I wrote it very late last night

city = "Sydney"
socials = { "LinkedIn" = "https://www.linkedin.com/in/kai-striega/", "GitHub" = "https://github.com/Kai-Striega" }
19 changes: 19 additions & 0 deletions data/talk_registry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[KaiMcDonalds]
speaker = "Kai Striega"
title = "Optimising Your McDonald's Order: An Introduction to Linear and Mixed Integer Programming with Pyomo"
length_in_mintues = 30
abstract = """
Ever wondered if you could hack your McDonald's order to be as low-calorie as possible while still meeting all your essential dietary needs?
In this talk, we’ll dive into Linear Programming (LP) and Mixed Integer Programming (MIP) using Pyomo, a powerful Python library for optimisation.
We’ll start with the basics—what LP and MIP are, why they’re useful, and how they help solve real-world problems. We’ll then put theory into practice by setting up an optimisation problem: finding the lowest-calorie McDonald’s meal that still meets all your nutritional requirements. Using Pyomo, we’ll model the problem, define constraints, and let an optimisation solver do the heavy lifting.
By the end of the session, you’ll have a solid understanding of how LP/MIP works, see how to apply it in Python, and walk away with a fun (and possibly surprising) take on fast-food decision-making!
"""
presented_at = "PythonWA"
presentation_date = 2025-04-03

[KaiBigOh]
speaker = "Kai Striega"
length_in_mintues = 30
abstract = "Big O notation is a fundamental concept in programming that allows us to analyze and compare the efficiency of algorithms. By understanding how algorithms scale with input size, we can make informed decisions to write more efficient code. This beginner level talk will cover the basics of Big O notation: the underlying theory and a practical example."
presented_at = "PythonWA"
presentation_date = 2023-07-06