-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
86 lines (77 loc) · 2.75 KB
/
Copy pathpyproject.toml
File metadata and controls
86 lines (77 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "awsysco"
dynamic = ["version"]
description = "Official Python SDK for the AWSYS.CO URL Shortener API"
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [
{ name = "Alpha Wave Systems", email = "dev@awsys.co" },
]
keywords = ["url-shortener", "awsys", "sdk", "api"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"httpx>=0.27,<1",
"pydantic>=2.0,<3",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio",
"python-dotenv",
"pytest-cov",
"ruff>=0.15,<1",
"mypy>=1.10,<2",
]
[project.urls]
Homepage = "https://awsys.co"
Documentation = "https://docs.awsys.co"
Repository = "https://github.com/AlphaWaveSystems/awsysco-python-sdk"
"Bug Tracker" = "https://github.com/AlphaWaveSystems/awsysco-python-sdk/issues"
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"integration: requires AWSYS_API_KEY and network access to a live/staging AWSYS API (auto-applied to any test using the `client` fixture; see conftest.py)",
]
[tool.coverage.run]
source = ["awsysco"]
[tool.hatch.version]
# Single source of truth for the version: awsysco/_version.py. hatchling reads
# the `__version__ = "..."` assignment from this file at build time, so there's
# no second, manually-synced copy in this file to drift out of step.
path = "awsysco/_version.py"
[tool.ruff]
target-version = "py39"
line-length = 100
[tool.ruff.lint]
# Pinned explicitly (rather than relying on ruff's "default" selection) so a ruff
# version upgrade can't silently change what's enforced — e.g. 0.16 started
# flagging import-sort (I001) issues under the bare default that 0.15 didn't.
select = ["E4", "E7", "E9", "F"]
[tool.mypy]
# Ideally this would match requires-python (3.9). It's pinned to 3.10 instead
# because checking as 3.9 makes mypy follow into a transitive dependency's own
# source (anyio) and fail on a match-statement there (3.10+ syntax) — a false
# positive against our own code, not a real compatibility issue with 3.9 (the
# CI matrix actually runs pytest against a real 3.9 interpreter, which is the
# check that matters for runtime compatibility).
python_version = "3.10"
check_untyped_defs = true
warn_redundant_casts = true
warn_unused_ignores = true
no_implicit_optional = true