Skip to content

Commit 16e54f4

Browse files
authored
Merge pull request #239 from harikitech/topic/support_pool_auto_discovery
2 parents e4eba58 + 049e2f2 commit 16e54f4

25 files changed

+1671
-801
lines changed

.github/dependabot.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
22
version: 2
33
updates:
4-
- package-ecosystem: pip
4+
- package-ecosystem: uv
55
directory: "/"
66
schedule:
77
interval: daily
8-
time: '09:00'
8+
time: "09:00"
99
timezone: Asia/Tokyo
1010
open-pull-requests-limit: 10
11+
target-branch: main

.github/workflows/build.yaml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/publish.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
name: "Publish"
3+
4+
"on":
5+
release:
6+
types:
7+
- published
8+
9+
jobs:
10+
publish:
11+
name: Publish to PyPi
12+
runs-on: ubuntu-latest
13+
environment:
14+
name: pypi
15+
permissions:
16+
id-token: write
17+
contents: read
18+
steps:
19+
- name: Set up Python
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version-file: ".python-version"
23+
- name: Set up uv
24+
uses: astral-sh/setup-uv@v7
25+
- name: Build
26+
run: uv build
27+
- name: Smoke test (wheel)
28+
run: uv run --isolated --no-project --with $(ls dist/*.whl) tests/smoke_test.py
29+
- name: Smoke test (source distribution)
30+
run: uv run --isolated --no-project --with $(ls dist/*.tar.gz) tests/smoke_test.py
31+
- name: Publish
32+
run: uv publish

.github/workflows/test.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
name: Test
3+
4+
"on":
5+
push:
6+
branches:
7+
- main
8+
pull_request:
9+
branches:
10+
- main
11+
12+
jobs:
13+
lint:
14+
name: Lint Typechecking
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v5
19+
- name: Set up Python
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version-file: ".python-version"
23+
- name: Set up uv
24+
uses: astral-sh/setup-uv@v7
25+
with:
26+
enable-cache: true
27+
- name: Install dependencies
28+
run: uv sync --extra dev
29+
- name: Lint (ruff format --check)
30+
run: uv run ruff format --check
31+
- name: Lint (ruff check)
32+
run: uv run ruff check
33+
- name: Type check (mypy)
34+
run: uv run mypy
35+
36+
test:
37+
name: Python ${{ matrix.python-version }} / Django ${{ matrix.django-version }}
38+
runs-on: ubuntu-latest
39+
strategy:
40+
fail-fast: false
41+
matrix:
42+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
43+
django-version: ["4.2", "5.1", "5.2"]
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v5
47+
- name: Set up Python ${{ matrix.python-version }}
48+
uses: actions/setup-python@v6
49+
with:
50+
python-version: ${{ matrix.python-version }}
51+
- name: Set up uv
52+
uses: astral-sh/setup-uv@v7
53+
with:
54+
enable-cache: true
55+
- name: Install dependencies
56+
run: |
57+
uv sync --extra dev
58+
uv pip install "django~=${{ matrix.django-version }}"
59+
- name: Test (pytest)
60+
run: uv run pytest -v

.gitignore

Lines changed: 113 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
### https://raw.github.com/github/gitignore/f57304e9762876ae4c9b02867ed0cb887316387e/python.gitignore
1+
### https://raw.github.com/github/gitignore/77b8cdb81610386ec48504c204b10c3acd322ecd/Python.gitignore
22

33
# Byte-compiled / optimized / DLL files
44
__pycache__/
5-
*.py[cod]
5+
*.py[codz]
66
*$py.class
77

88
# C extensions
99
*.so
1010

1111
# Distribution / packaging
1212
.Python
13-
env/
1413
build/
1514
develop-eggs/
1615
dist/
@@ -23,9 +22,11 @@ parts/
2322
sdist/
2423
var/
2524
wheels/
25+
share/python-wheels/
2626
*.egg-info/
2727
.installed.cfg
2828
*.egg
29+
MANIFEST
2930

3031
# PyInstaller
3132
# Usually these files are written by a python script from a template
@@ -40,13 +41,17 @@ pip-delete-this-directory.txt
4041
# Unit test / coverage reports
4142
htmlcov/
4243
.tox/
44+
.nox/
4345
.coverage
4446
.coverage.*
4547
.cache
4648
nosetests.xml
4749
coverage.xml
48-
*,cover
50+
*.cover
51+
*.py.cover
4952
.hypothesis/
53+
.pytest_cache/
54+
cover/
5055

5156
# Translations
5257
*.mo
@@ -55,6 +60,8 @@ coverage.xml
5560
# Django stuff:
5661
*.log
5762
local_settings.py
63+
db.sqlite3
64+
db.sqlite3-journal
5865

5966
# Flask stuff:
6067
instance/
@@ -67,35 +74,130 @@ instance/
6774
docs/_build/
6875

6976
# PyBuilder
77+
.pybuilder/
7078
target/
7179

7280
# Jupyter Notebook
7381
.ipynb_checkpoints
7482

75-
# pyenv
76-
.python-version
83+
# IPython
84+
profile_default/
85+
ipython_config.py
7786

78-
# celery beat schedule file
87+
# pyenv
88+
# For a library or package, you might want to ignore these files since the code is
89+
# intended to run in multiple environments; otherwise, check them in:
90+
# .python-version
91+
92+
# pipenv
93+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
95+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
96+
# install all needed dependencies.
97+
#Pipfile.lock
98+
99+
# UV
100+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
101+
# This is especially recommended for binary packages to ensure reproducibility, and is more
102+
# commonly ignored for libraries.
103+
#uv.lock
104+
105+
# poetry
106+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
107+
# This is especially recommended for binary packages to ensure reproducibility, and is more
108+
# commonly ignored for libraries.
109+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
110+
#poetry.lock
111+
#poetry.toml
112+
113+
# pdm
114+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
115+
#pdm.lock
116+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
117+
# in version control.
118+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
119+
.pdm.toml
120+
.pdm-python
121+
.pdm-build/
122+
123+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
124+
__pypackages__/
125+
126+
# Celery stuff
79127
celerybeat-schedule
128+
celerybeat.pid
80129

81130
# SageMath parsed files
82131
*.sage.py
83132

84-
# dotenv
133+
# Environments
85134
.env
86-
87-
# virtualenv
135+
.envrc
88136
.venv
137+
env/
89138
venv/
90139
ENV/
140+
env.bak/
141+
venv.bak/
91142

92143
# Spyder project settings
93144
.spyderproject
145+
.spyproject
94146

95147
# Rope project settings
96148
.ropeproject
97149

98150
# mkdocs documentation
99151
/site
100152

101-
153+
# mypy
154+
.mypy_cache/
155+
.dmypy.json
156+
dmypy.json
157+
158+
# Pyre type checker
159+
.pyre/
160+
161+
# pytype static type analyzer
162+
.pytype/
163+
164+
# Cython debug symbols
165+
cython_debug/
166+
167+
# PyCharm
168+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
169+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
170+
# and can be added to the global gitignore or merged into this file. For a more nuclear
171+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
172+
#.idea/
173+
174+
# Abstra
175+
# Abstra is an AI-powered process automation framework.
176+
# Ignore directories containing user credentials, local state, and settings.
177+
# Learn more at https://abstra.io/docs
178+
.abstra/
179+
180+
# Visual Studio Code
181+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
182+
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
183+
# and can be added to the global gitignore or merged into this file. However, if you prefer,
184+
# you could uncomment the following to ignore the entire vscode folder
185+
# .vscode/
186+
187+
# Ruff stuff:
188+
.ruff_cache/
189+
190+
# PyPI configuration file
191+
.pypirc
192+
193+
# Cursor
194+
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
195+
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
196+
# refer to https://docs.cursor.com/context/ignore-files
197+
.cursorignore
198+
.cursorindexingignore
199+
200+
# Marimo
201+
marimo/_static/
202+
marimo/_lsp/
203+
__marimo__/

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.10

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include LICENSE
2-
include README.rst
2+
include README.md
33

44
exclude requirements.txt
55
exclude tox.ini

0 commit comments

Comments
 (0)