Skip to content

Commit 5effc6b

Browse files
committed
Update README.md
1 parent 383c2f1 commit 5effc6b

File tree

1 file changed

+6
-111
lines changed

1 file changed

+6
-111
lines changed

β€ŽREADME.md

Lines changed: 6 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,9 @@
11
# 🎀 programapi
22

3-
This project powers the **EuroPython 2025** website and Discord bot by downloading, transforming, and serving clean, structured JSON files for sessions, speakers, and the schedule, all pulled from Pretalx.
3+
> [!TIP]
4+
> This Program API as we know it was not implemented until 2024. The data might be incomplete or not fully accurate.
45
5-
Built for transparency. Designed for reuse. Optimized for EuroPython.
6-
7-
---
8-
9-
## πŸš€ What This Project Does
10-
11-
1. **Downloads** submission and speaker data from Pretalx.
12-
2. **Transforms** raw data:
13-
- Removes private/irrelevant fields
14-
- Normalizes formats
15-
- Adds computed fields (e.g. URLs, delivery mode)
16-
3. **Serves** the transformed JSON files via a static API.
17-
18-
---
19-
20-
## βš™οΈ Installation
21-
22-
1. **Clone the repo**
23-
```bash
24-
git clone https://github.com/EuroPython/programapi.git
25-
cd programapi
26-
```
27-
28-
2. **Install [uv](https://docs.astral.sh/uv/getting-started/installation/)** (fast Python package manager)
29-
30-
3. **Create a Python 3.13 virtual environment**
31-
```bash
32-
uv venv -p 3.13
33-
```
34-
35-
4. **Install dev dependencies**
36-
```bash
37-
make dev
38-
```
39-
40-
5. **Enable pre-commit hooks**
41-
```bash
42-
make pre-commit
43-
```
44-
45-
---
46-
47-
## πŸ› οΈ Configuration
48-
49-
You can update the event year or shortname in [`src/config.py`](src/config.py).
50-
51-
Also, create a `.env` file in the project root and set:
52-
53-
```env
54-
PRETALX_TOKEN=your_api_token_here
55-
```
56-
57-
(Yes, Pretalx has rate limits. Please be nice. πŸ€ͺ)
58-
59-
---
60-
61-
## πŸ“¦ Usage
62-
63-
- Run the **entire pipeline**:
64-
```bash
65-
make all
66-
```
67-
68-
- Run only the **download step**:
69-
```bash
70-
make download
71-
```
72-
73-
- Run only the **transformation step**:
74-
```bash
75-
make transform
76-
```
77-
78-
- (Optional) **Exclude components**:
79-
```bash
80-
make all EXCLUDE="schedule youtube"
81-
```
82-
83-
---
84-
85-
## 🌐 API Endpoints
86-
87-
Hosted at:
88-
89-
```
90-
https://static.europython.eu/programme/ep2025/releases/current
91-
```
92-
93-
| Endpoint | Description |
94-
|---------------------|--------------------------------------------|
95-
| `/speakers.json` | List of confirmed speakers |
96-
| `/sessions.json` | List of confirmed sessions |
97-
| `/schedule.json` | Finalized conference schedule *(TBA)* |
98-
99-
---
100-
101-
## πŸ“– Schema Documentation
102-
103-
Looking for field definitions and examples?
104-
Check out the πŸ‘‰ [`data/examples/README.md`](data/examples/README.md) for a full schema reference with example payloads and explanations.
105-
106-
---
107-
108-
## πŸ’¬ Questions? Feedback?
109-
110-
Feel free to open an issue or reach us at [[email protected]](mailto:[email protected]). We love contributors πŸ’œ
111-
112-
---
113-
114-
πŸ“… Last updated for: **EuroPython 2025**
6+
## Accessing the Program API
7+
- https://static.europython.eu/programme/ep2023/releases/current/speakers.json
8+
- https://static.europython.eu/programme/ep2023/releases/current/sessions.json
9+
- https://static.europython.eu/programme/ep2023/releases/current/schedule.json

0 commit comments

Comments
Β (0)