Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
dbe5a61
Remove Travis CI testing
tducret Sep 26, 2026
5d98682
Modernize Python packaging and dependencies
tducret Sep 26, 2026
29970d3
Remove Docker support
tducret Sep 26, 2026
6886351
Document uv workflow
tducret Sep 26, 2026
c228c2c
Add uv lockfile
tducret Sep 26, 2026
0ed64ff
Refactor allocine into focused modules
tducret Sep 26, 2026
1c746e1
Add recorded Allocine API test
tducret Sep 26, 2026
644308c
Fetch all theater showtime pages
tducret Sep 26, 2026
a4a3588
Extract Allocine client module
tducret Sep 26, 2026
4047778
Simplify Allocine response parsing
tducret Sep 26, 2026
66282f0
Add `Allocine.search_theaters`
tducret Sep 26, 2026
8d0955a
Add dedicated showtime retrieval
tducret Sep 28, 2026
636a262
Skip showtime entries without movies
tducret Sep 28, 2026
8a081c4
Cache HTTP responses on disk
tducret Sep 28, 2026
1bd3f19
Add more URSS and Palestine variants
tducret Sep 28, 2026
ed578bd
Clamp past showtime dates to today
tducret Sep 28, 2026
ac816f3
Treat missing showtimes as empty
tducret Sep 28, 2026
79538c2
Hide tracebacks for theater lookup errors
tducret Sep 28, 2026
d7f38d9
Automate CI and PyPI releases
tducret Sep 28, 2026
96f580e
Cache requests by default
tducret Sep 28, 2026
e35ac97
Translate README to French
tducret Sep 28, 2026
5471427
Rename CLI command to seances
tducret Sep 28, 2026
66b1952
Ignore third-party test warnings
tducret Sep 28, 2026
bde6b38
Avoid duplicate CI runs for pull requests
tducret Sep 28, 2026
2ae9bd4
Update captured demo using `vhs`
tducret Sep 28, 2026
effc298
Replace PTableUnicode with Rich
tducret Sep 28, 2026
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
107 changes: 0 additions & 107 deletions .dockerignore

This file was deleted.

2 changes: 0 additions & 2 deletions .flake8

This file was deleted.

6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
68 changes: 68 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: CI

on:
push:
branches: [master]
pull_request:

permissions:
contents: read

jobs:
quality:
name: Quality checks
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false

- name: Install uv and Python
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
python-version: "3.14"
version: "0.12.19"

- name: Install the project
run: uv sync --locked --extra dev

- name: Lint
run: uv run ruff check .

- name: Check formatting
run: uv run ruff format --check .

- name: Type-check
run: uv run ty check

test:
name: Test (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false

- name: Install uv and Python
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
python-version: ${{ matrix.python-version }}
version: "0.12.19"

- name: Install the project
run: uv sync --locked --extra dev

- name: Run tests
run: uv run pytest
74 changes: 74 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Publish release to PyPI

on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+rc[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+[ab][0-9]+"

jobs:
build:
name: Build distributions
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
env:
RELEASE_TAG: ${{ github.ref_name }}
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false

- name: Install uv
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: false
version: "0.12.19"

- name: Build distributions
run: uv build --no-sources

- name: Smoke-test wheel
run: uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py

- name: Smoke-test source distribution
run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py

- name: Upload distributions
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: distributions
path: dist/

publish:
name: Publish to PyPI
needs: build
runs-on: ubuntu-latest
timeout-minutes: 10
environment:
name: pypi
url: https://pypi.org/project/allocine/
permissions:
id-token: write
steps:
- name: Install uv
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: false
version: "0.12.19"

- name: Download distributions
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: distributions
path: dist/

- name: Generate PEP 740 attestations
uses: astral-sh/attest-action@f589a42a7efb6fe400b4f400de60b4bc90390027 # v0.0.6

- name: Publish distributions
run: uv publish
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,10 @@ venv.bak/
# mypy
.mypy_cache/

# VSCode
.vscode/
# Ruff
.ruff_cache/

# VS Code workspace configuration
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
19 changes: 19 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
repos:
- repo: local
hooks:
- id: ruff-check
name: ruff check
entry: .venv/bin/ruff check --fix
language: system
types_or: [python, pyi]
- id: ruff-format
name: ruff format
entry: .venv/bin/ruff format
language: system
types_or: [python, pyi]
- id: ty-check
name: ty check
entry: .venv/bin/ty check
language: system
pass_filenames: false
always_run: true
19 changes: 0 additions & 19 deletions .travis.yml

This file was deleted.

7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"astral-sh.ty",
"charliermarsh.ruff",
"ms-python.python"
]
}
17 changes: 17 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.languageServer": "None",
"ruff.configurationPreference": "filesystemFirst",
"ruff.interpreter": ["${workspaceFolder}/.venv/bin/python"],
"ruff.nativeServer": "on",
"ty.diagnosticMode": "workspace",
"ty.interpreter": ["${workspaceFolder}/.venv/bin/python"],
"[python]": {
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
},
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true
}
}
20 changes: 0 additions & 20 deletions Dockerfile

This file was deleted.

6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.PHONY: check

check:
.venv/bin/ruff check --fix .
.venv/bin/ruff format .
.venv/bin/ty check
Loading
Loading