Skip to content

Commit 689b7d1

Browse files
Merge branch 'main' into modify-pretalx-base-url
2 parents e3aa0d9 + fcd4568 commit 689b7d1

File tree

16 files changed

+2337
-189
lines changed

16 files changed

+2337
-189
lines changed

.github/workflows/build-dev-docs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ jobs:
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v5
2525
with:
2626
# Fetch all history for applying timestamps to every page
2727
fetch-depth: 0
2828

2929
- name: Set up Python
30-
uses: actions/setup-python@v5
30+
uses: actions/setup-python@v6
3131
with:
3232
python-version: '3.10'
3333

@@ -54,7 +54,7 @@ jobs:
5454
- name: Create archive
5555
run: git archive -o site.zip gh-pages
5656

57-
- uses: actions/upload-artifact@v4
57+
- uses: actions/upload-artifact@v5
5858
with:
5959
name: docs
6060
path: site.zip
@@ -70,7 +70,7 @@ jobs:
7070

7171
steps:
7272
- name: Download archive
73-
uses: actions/download-artifact@v4
73+
uses: actions/download-artifact@v6
7474
with:
7575
name: docs
7676

.github/workflows/build-rel-docs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ jobs:
1818
runs-on: ubuntu-latest
1919

2020
steps:
21-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v5
2222
with:
2323
# Fetch all history for applying timestamps to every page
2424
fetch-depth: 0
2525

2626
- name: Set up Python
27-
uses: actions/setup-python@v5
27+
uses: actions/setup-python@v6
2828
with:
2929
python-version: '3.10'
3030

@@ -54,7 +54,7 @@ jobs:
5454
- name: Create archive
5555
run: git archive -o site.zip gh-pages
5656

57-
- uses: actions/upload-artifact@v4
57+
- uses: actions/upload-artifact@v5
5858
with:
5959
name: docs
6060
path: site.zip
@@ -71,7 +71,7 @@ jobs:
7171

7272
steps:
7373
- name: Download archive
74-
uses: actions/download-artifact@v4
74+
uses: actions/download-artifact@v6
7575
with:
7676
name: docs
7777

.github/workflows/publish-pkg.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-latest
2424

2525
steps:
26-
- uses: actions/checkout@v4
26+
- uses: actions/checkout@v5
2727
with:
2828
# Fetch all tags
2929
fetch-depth: 0
@@ -72,7 +72,7 @@ jobs:
7272
echo "✅ Version matches tag"
7373
fi
7474
75-
- uses: actions/upload-artifact@v4
75+
- uses: actions/upload-artifact@v5
7676
with:
7777
name: artifacts
7878
path: dist/*
@@ -90,7 +90,7 @@ jobs:
9090
contents: read
9191

9292
steps:
93-
- uses: actions/download-artifact@v4
93+
- uses: actions/download-artifact@v6
9494
with:
9595
name: artifacts
9696
path: dist
@@ -120,7 +120,7 @@ jobs:
120120
fi
121121
122122
- name: Publish to PyPI
123-
uses: pypa/gh-action-pypi-publish@v1.12.4
123+
uses: pypa/gh-action-pypi-publish@v1.13.0
124124
with:
125125
verbose: true
126126
print-hash: true

.github/workflows/run-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ jobs:
2828
python-version: ['3.10' , '3.11', '3.12', '3.13']
2929

3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v5
3232

3333
- name: Set up Python ${{ matrix.python-version }}
34-
uses: actions/setup-python@v5
34+
uses: actions/setup-python@v6
3535
with:
3636
python-version: ${{ matrix.python-version }}
3737

.github/workflows/test-pypi-oidc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ jobs:
6262
contents: read
6363

6464
steps:
65-
- uses: actions/checkout@v4
65+
- uses: actions/checkout@v5
6666
with:
6767
fetch-depth: 0
6868

6969
- name: Set up Python
70-
uses: actions/setup-python@v5
70+
uses: actions/setup-python@v6
7171
with:
7272
python-version: '3.11'
7373

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
# Changelog
22

3+
## Patch 0.9.6 (2025-08-11)
4+
5+
- replaced requests with httpx for consistency and removed requests dependency
6+
- removed optional installs mailgun and helpdesk (both do not require any extra installs anymore)
7+
- fix: track can also be an int in v1. Added Track model to Submission and flexible handling (API v1 change)
8+
9+
## Patch 0.9.5 (2025-08-10)
10+
11+
- Updated Submission answers require accept list of Answer and int now (API v1 change)
12+
13+
## Patch 0.9.4 (2025-08-10)
14+
15+
- Updated Submission and Tag models for better fit for API v1
16+
17+
## Patch 0.9.3 (2025-08-10)
18+
19+
- removed
20+
21+
## Patch 0.9.2 (2025-08-10)
22+
23+
- Updated requirements & typos thanks to @jbsilva
24+
- Speaker.answers update to fit Pretalx API v1: can handle now both non-expanded and expanded answers
25+
26+
## Patch 0.9.1 (2025-08-09)
27+
28+
- **Removed support for Python pre-3.12**: build problems with hatch / httpx
29+
- Speaker slot: update to fit Pretalx API v1, reduction to one slot for simplification
30+
- Added timeouts to httpx requests
331

432
## Version 0.9.0 (2025-06-26)
533

pyproject.toml

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["hatchling", "hatch-vcs>=0.5.0"]
2+
requires = ["hatchling", "setuptools-scm", "setuptools", "wheel"]
33
build-backend = "hatchling.build"
44

55
####################
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
1010
name = "Pytanis"
1111
description = "Utilities for the program organization of conferences using Pretalx"
1212
readme = "README.md"
13-
requires-python = ">=3.10"
13+
requires-python = ">=3.12"
1414
license = "MIT"
1515
keywords = ["pretalx", "conference", "cfp", "google sheet", "gsheet", "helpdesk"]
1616
authors = [
@@ -20,8 +20,8 @@ authors = [
2020
classifiers = [
2121
"Development Status :: 4 - Beta",
2222
"Programming Language :: Python",
23-
"Programming Language :: Python :: 3.10",
24-
"Programming Language :: Python :: 3.11",
23+
# "Programming Language :: Python :: 3.10",
24+
# "Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
2626
"Programming Language :: Python :: 3.13",
2727
"Programming Language :: Python :: Implementation :: CPython",
@@ -32,15 +32,16 @@ classifiers = [
3232
]
3333
dependencies = [
3434
# Core dependencies only
35-
"pandas>=2",
35+
"pandas>=2,<3",
3636
"tomli",
3737
"pydantic>=2.5",
3838
"httpx",
3939
"httpx-auth",
4040
"structlog",
4141
"tqdm",
4242
"openpyxl>=3.1.5", # For local Excel file support
43-
"pandas-stubs==2.2.3.250527",
43+
"pandas-stubs>=2,<3"
44+
4445
]
4546
dynamic = ["version"]
4647

@@ -53,14 +54,6 @@ google = [
5354
"webcolors",
5455
]
5556

56-
# HelpDesk support (no additional deps needed beyond core)
57-
helpdesk = []
58-
59-
# Mailgun support (uses requests which might already be installed)
60-
mailgun = [
61-
"requests",
62-
]
63-
6457
# Jupyter and visualization support
6558
jupyter = [
6659
"jupyter>=1.1.1",
@@ -71,14 +64,14 @@ jupyter = [
7164
# Schedule optimization
7265
optimization = [
7366
"pyomo>=6.9.1",
74-
"pyomo[optional]", # for optimizing the schedule
67+
# "pyomo[optional]", # for optimizing the schedule
7568
"highspy", # for MIP/LP/QP solver in pyomo
7669
]
7770

7871
# Everything
7972
all = [
8073
# Include all optional groups
81-
"pytanis[google,helpdesk,mailgun,jupyter,optimization]",
74+
"pytanis[google,jupyter,optimization]",
8275
"pillow", # for the creation of social cards
8376
]
8477

@@ -97,12 +90,8 @@ Source = "https://github.com/PioneersHub/pytanis"
9790
allow-direct-references = true
9891

9992
[tool.hatch.version]
100-
source = "vcs"
101-
# For tags: use exact version. For dev: add .devN suffix
102-
raw-options = { version_scheme = "release-branch-semver", local_scheme = "no-local-version" }
103-
104-
[tool.hatch.build.hooks.vcs]
105-
version-file = "src/pytanis/_version.py"
93+
path = "src/pytanis/__init__.py"
94+
pattern = "__version__ = [\"'](?P<version>[^\"']*)[\"']"
10695

10796
[tool.hatch.build]
10897
packages = ["src/pytanis"]
@@ -233,7 +222,7 @@ ignore = [
233222
"PLC1901", # empty string comparisons
234223
"PLW2901", # `for` loop variable overwritten
235224
"SIM114", # Combine `if` branches using logical `or` operator
236-
"E203", # Whitespace before :, needed for black compatability and also `ruff format`
225+
"E203", # Whitespace before :, needed for black compatibility and also `ruff format`
237226
"ISC001", # causes unexpected behaviour with formatter
238227
"PLR0904", # more than 20 public methods
239228
]
@@ -262,12 +251,12 @@ ban-relative-imports = "all"
262251
#####################
263252

264253
[tool.hatch.env]
265-
requires = ["hatch-pip-compile"]
254+
requires = ["hatch-pip-compile", "setuptools"]
266255

267256
# Default
268257
[tool.hatch.envs.default]
269258
type = "pip-compile"
270-
python = "3.10"
259+
python = "3.12"
271260
features = ["all"]
272261
pip-compile-installer = "pip" # or "uv"
273262
pip-compile-constraint = "default" # keep locks between default & others consistent
@@ -282,7 +271,7 @@ dependencies = [
282271
"pytest-vcr",
283272
"pytest-sugar",
284273
"hypothesis",
285-
"hatch-vcs",
274+
"setuptools-scm",
286275
]
287276
[tool.hatch.envs.default.scripts]
288277
cov = "pytest --cov-report=term-missing --cov-config=pyproject.toml --cov=src/pytanis --cov=tests {args}"
@@ -313,6 +302,7 @@ check-all = [
313302
# Docs environment
314303
[tool.hatch.envs.docs]
315304
type = "virtual"
305+
detached = true
316306
dependencies = [
317307
"mkdocs~=1.5",
318308
"mkdocs-material~=9.4",
@@ -333,6 +323,7 @@ dependencies = [
333323
"pygments~=2.13",
334324
# Validation
335325
"linkchecker~=10.3",
326+
"setuptools",
336327
]
337328
[tool.hatch.envs.docs.env-vars]
338329
SOURCE_DATE_EPOCH = "1580601600"
@@ -353,6 +344,7 @@ build-check = [
353344
# Lint environment
354345
[tool.hatch.envs.lint]
355346
type = "virtual"
347+
detached = true
356348
dependencies = [
357349
"mypy~=1.15.0",
358350
"ruff~=0.9.7",
@@ -386,7 +378,7 @@ all = [
386378

387379
# Notebook environment
388380
# Notebooks should be related to conference work and are considered to be moved to an own project in the future.
389-
# Moved to an optional environment to reduce compatibilty conflicts (subdependencies have severe security warnings)
381+
# Moved to an optional environment to reduce compatibility conflicts (subdependencies have severe security warnings)
390382
[tool.hatch.envs.notebook]
391383
python = ">=3.11"
392384
type = "pip-compile"

0 commit comments

Comments
 (0)