-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
106 lines (98 loc) · 2.78 KB
/
pyproject.toml
File metadata and controls
106 lines (98 loc) · 2.78 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=77.0"]
[project]
name = "supernote"
version = "0.14.8"
license = "Apache-2.0"
license-files = ["LICENSE"]
description = "All-in-one toolkit for Supernote devices: parse notebooks, self-host services, access services"
readme = "README.md"
authors = [
{ name = "jya", email = "jya@wizmy.net" },
{ name = "Allen Porter", email = "allen.porter@gmail.com" }
]
requires-python = ">=3.13"
classifiers = []
dependencies = [
# Core notebook dependencies (always installed)
"colour>=0.1.5",
"numpy>=1.19.0",
"Pillow>=7.2.0",
"potracer>=0.0.1",
"pypng>=0.0.20",
"reportlab>=3.6.1",
"svgwrite>=1.4",
]
[project.optional-dependencies]
client = [
"aiohttp",
"requests",
"tqdm",
]
server = [
"aiohttp>=3.13.2",
"mashumaro>=3.17",
"pyyaml>=6.0",
"PyJWT>=2.10.1",
"SQLAlchemy[asyncio]>=2.0.0",
"alembic>=1.13.0",
"aiosqlite>=0.19.0",
"aiofiles>=25.1.0",
"aiohttp-remotes>=1.3.0",
"google-genai>=1.57.0",
"mcp>=1.25.0",
"aiohttp-asgi>=0.6.1",
]
all = ["supernote[client,server]"]
[project.urls]
Source = "https://github.com/allenporter/supernote"
[tool.setuptools.packages.find]
include = ["supernote*"]
[project.entry-points."console_scripts"]
supernote = "supernote.cli.main:main"
supernote-server = "supernote.cli.server:main"
[tool.setuptools.package-data]
"supernote" = ["alembic.ini"]
"supernote.alembic" = ["env.py", "script.py.mako", "versions/*.py"]
"supernote.server" = ["static/**/*"]
"supernote.server.resources.prompts" = ["**/*.md"]
[tool.mypy]
exclude = [
"venv/",
"data",
# TODO: Fix mypy errors and then remove this
"supernote/notebook/",
"supernote/cli/",
]
platform = "linux"
show_error_codes = true
follow_imports = "silent"
local_partial_types = true
strict_equality = true
no_implicit_optional = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_unused_configs = true
warn_unused_ignores = true
disable_error_code = [
"import-untyped",
]
extra_checks = false
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
warn_return_any = true
warn_unreachable = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
# Ignore pytest warnings in upstream libraries
filterwarnings = [
"ignore:'_UnionGenericAlias' is deprecated and slated for removal in Python 3.17:DeprecationWarning:google.genai",
"ignore:websockets.legacy is deprecated:DeprecationWarning:websockets.legacy",
"ignore:websockets.server.WebSocketServerProtocol is deprecated:DeprecationWarning:uvicorn.protocols.websockets.websockets_impl",
"ignore:The `route` decorator is deprecated, and will be removed in version 1.0.0:DeprecationWarning:starlette.applications",
]