Skip to content

Commit 1ccde46

Browse files
authored
Merge pull request #12 from iamtatsuki05/develop
Sync: Develop to Main
2 parents 2738abc + f3063f0 commit 1ccde46

5 files changed

Lines changed: 1795 additions & 1404 deletions

File tree

.github/workflows/test_poetry.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
strategy:
1919
matrix:
20-
python-version: [3.12]
20+
python-version: [3.13]
2121

2222
steps:
2323
- name: Checkout repository

docker/cpu/Dockerfile

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM ubuntu:24.04 AS base
22

3-
ARG PYTHON_VERSION=3.12
3+
ARG PYTHON_VERSION=3.13
44

55
ENV DEBIAN_FRONTEND=noninteractive
66
ENV WORKDIR /app/
@@ -9,15 +9,15 @@ WORKDIR /opt
99

1010
# install dev tools
1111
RUN apt-get update && apt-get install -y \
12-
vim neovim nano \
13-
git git-lfs \
14-
zip unzip \
15-
curl wget make build-essential xz-utils file tree \
16-
sudo \
17-
dnsutils \
18-
tzdata language-pack-ja \
19-
&& apt-get clean \
20-
&& rm -rf /var/lib/apt/lists/*
12+
vim neovim nano \
13+
git git-lfs \
14+
zip unzip \
15+
curl wget make build-essential xz-utils file tree \
16+
sudo \
17+
dnsutils \
18+
tzdata language-pack-ja \
19+
&& apt-get clean \
20+
&& rm -rf /var/lib/apt/lists/*
2121

2222
# for Japanese settings
2323
# ENV TZ Asia/Tokyo
@@ -29,22 +29,26 @@ ENV LANGUAGE en_US
2929

3030
# install Python
3131
RUN apt-get update \
32-
&& apt-get install -y --no-install-recommends \
33-
software-properties-common \
34-
&& add-apt-repository ppa:deadsnakes/ppa -y \
35-
&& apt-get update \
36-
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
37-
build-essential libssl-dev libffi-dev \
38-
python${PYTHON_VERSION} \
39-
python${PYTHON_VERSION}-dev \
40-
python3-pip \
41-
# python${PYTHON_VERSION}-distutils \ # for python3.12
42-
&& ln -s /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python3 \
43-
&& ln -s /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python \
44-
&& apt-get purge -y --auto-remove software-properties-common \
45-
&& rm -rf /var/lib/apt/lists/*
46-
47-
## install Poetry
32+
&& apt-get install -y --no-install-recommends \
33+
software-properties-common \
34+
&& add-apt-repository ppa:deadsnakes/ppa -y \
35+
&& apt-get update \
36+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
37+
build-essential libssl-dev libffi-dev \
38+
python${PYTHON_VERSION} \
39+
python${PYTHON_VERSION}-dev \
40+
python3-pip \
41+
# python${PYTHON_VERSION}-distutils \ # for python3.13 if required
42+
&& ln -s /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python3 \
43+
&& ln -s /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python \
44+
&& apt-get purge -y --auto-remove software-properties-common \
45+
&& rm -rf /var/lib/apt/lists/*
46+
47+
# install rust
48+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
49+
ENV PATH="/root/.cargo/bin:$PATH"
50+
51+
## install uv
4852
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
4953

5054
WORKDIR ${WORKDIR}

pyproject.toml

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,51 +3,38 @@ name = "project"
33
version = "0.1.0"
44
description = ""
55
authors = [{ name = "Tatsuki Okada", email = "tatsukio0522@gmali.com" }]
6-
requires-python = ">=3.12"
6+
requires-python = ">=3.13"
77
dependencies = [
88
"python-dotenv>=1.0.0",
9-
"setuptools>=69.0.3",
10-
"fire>=0.5.0",
11-
"pydantic>=2.5.3",
12-
"beautifulsoup4>=4.12.2",
13-
"selenium>=4.16.0",
14-
"fastapi>=0.108.0",
15-
"uvicorn>=0.25.0",
16-
"matplotlib>=3.9.0",
17-
"pandas>=1.4.2",
18-
"seaborn>=0.11.2",
19-
"japanize-matplotlib>=1.1.3",
20-
"numpy>=2.2.0",
21-
"tqdm>=4.64.0",
22-
"scikit-learn>=1.6.0",
9+
"setuptools>=80.9.0",
10+
"fire>=0.7.1",
11+
"pydantic>=2.12.4",
12+
"beautifulsoup4>=4.14.0",
13+
"selenium>=4.38.0",
14+
"playwright>=1.56.0",
15+
"fastapi>=0.121.0",
16+
"uvicorn>=0.38.0",
17+
"polars>=1.35.2",
18+
"pandas>=2.3.3",
2319
"openpyxl>=3.1.2",
24-
"polars>=0.20.31",
20+
"matplotlib>=3.10.7",
21+
"seaborn>=0.13.2",
22+
"japanize-matplotlib>=1.1.3",
23+
"matplotlib-fontja>=1.1.0",
24+
"numpy>=2.3.4",
25+
"tqdm>=4.67.1",
26+
"scikit-learn>=1.7.2",
2527
"aiohttp>=3.9.5",
26-
"tenacity>=8.4.1",
27-
"playwright>=1.44.0",
28+
"tenacity>=9.1.2",
2829
"toml>=0.10.2",
2930
]
3031

3132
[tool.hatch.build.targets.wheel]
3233
packages = ["src/project", "src"]
3334

34-
[tool.uv]
35-
dev-dependencies = [
36-
"jupyterlab>=3.3.4",
37-
"marimo>=0.13.3",
38-
"mypy>=1.11.2",
39-
"nbstripout>=0.7.1",
40-
"pre-commit>=4.0.1",
41-
"pytest>=8.3.3",
42-
"ruff>=0.6.9",
43-
"tox>=4.21.2",
44-
"types-pyyaml>=6.0.12.20250402",
45-
"types-toml>=0.10.8.20240310",
46-
]
47-
4835
[tool.ruff]
4936
line-length = 119
50-
target-version = "py312"
37+
target-version = "py313"
5138
exclude = [".git", ".venv", "__pycache__", "data", "dist", "misc", "notebooks", "prof", "tmp", "workspacea", ".tox"]
5239

5340
[tool.ruff.format]
@@ -72,7 +59,7 @@ split-on-trailing-comma = true
7259
keep-runtime-typing = true
7360

7461
[tool.mypy]
75-
python_version="3.12"
62+
python_version="3.13"
7663
files = "src"
7764
ignore_missing_imports = true
7865
disallow_untyped_defs = true
@@ -88,3 +75,20 @@ filterwarnings = ["ignore::DeprecationWarning",]
8875
[build-system]
8976
requires = ["hatchling"]
9077
build-backend = "hatchling.build"
78+
79+
[dependency-groups]
80+
dev = [
81+
"jupyterlab>=4.1.0",
82+
"marimo>=0.17.0",
83+
"tox>=4.30.0",
84+
"pytest>=9.0.0",
85+
"pytest-xdist>=3.8.0",
86+
"pytest-asyncio>=1.3.0",
87+
"ruff>=0.14.4",
88+
"mypy>=1.18.0",
89+
"ty>=0.0.1a26",
90+
"nbstripout>=0.8.0",
91+
"pre-commit>=4.3.0",
92+
"types-pyyaml>=6.0.12.20250402",
93+
"types-toml>=0.10.8.20240310",
94+
]

tox.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[tox]
2-
envlist = py312, lint
2+
envlist = py313, lint
33

44
[gh-actions]
55
python =
6-
3.12: py312, lint
6+
3.13: py313, lint
77

88
[testenv]
99
allowlist_externals =
1010
pytest
1111
skip_install = true
1212
commands =
13-
pytest tests/
13+
pytest tests/ -n auto
1414

1515
[testenv:lint]
1616
allowlist_externals =

0 commit comments

Comments
 (0)