Skip to content

Commit 5b14471

Browse files
committed
build: migrate to uv, pin Python 3.10, and remove pip-tools
- Replace imperative setup.py with declarative pyproject.toml (PEP 621) - Adopt PEP 517/518 compliant build system using hatchling - Pin `requires-python = ">=3.10"` to align with Build CI defaults - Remove pip-tools as uv natively handles locking and syncing - Initialize uv.lock for deterministic and faster dependency resolution - Reorganize dev dependencies into [dependency-groups]
1 parent fb4a8ba commit 5b14471

4 files changed

Lines changed: 1249 additions & 3 deletions

File tree

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,6 @@ target/
7676
# Jupyter Notebook
7777
.ipynb_checkpoints
7878

79-
# pyenv
80-
.python-version
81-
8279
# celery beat schedule file
8380
celerybeat-schedule
8481

.python-version

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

pyproject.toml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
[project]
2+
name = "ipinfo"
3+
dynamic = ["version"] # Use this if you want to keep SDK_VERSION in a python file
4+
description = "Official Python library for IPInfo"
5+
readme = "README.md"
6+
authors = [
7+
{ name = "IPinfo", email = "support@ipinfo.io" }
8+
]
9+
license = { text = "Apache License 2.0" }
10+
requires-python = ">=3.9"
11+
dependencies = [
12+
"requests>=2.18.4",
13+
"cachetools==4.2.0",
14+
"aiohttp>=3.12.14,<=4",
15+
]
16+
17+
[project.urls]
18+
Homepage = "https://github.com/ipinfo/python"
19+
Documentation = "https://ipinfo.io/developers"
20+
21+
[build-system]
22+
requires = ["hatchling"]
23+
build-backend = "hatchling.build"
24+
25+
[tool.hatch.version]
26+
path = "ipinfo/version.py"
27+
28+
[tool.hatch.build.targets.wheel]
29+
packages = ["ipinfo"]
30+
31+
[dependency-groups]
32+
dev = [
33+
"pytest==8.4.1",
34+
"pytest-asyncio==1.1.0",
35+
"black==22.6.0",
36+
]

0 commit comments

Comments
 (0)