-
Notifications
You must be signed in to change notification settings - Fork 815
/
pyproject.toml
91 lines (84 loc) · 2.93 KB
/
pyproject.toml
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
[tool.poetry]
name = "textual"
version = "0.88.1"
homepage = "https://github.com/Textualize/textual"
repository = "https://github.com/Textualize/textual"
documentation = "https://textual.textualize.io/"
description = "Modern Text User Interface framework"
authors = ["Will McGugan <[email protected]>"]
license = "MIT"
readme = "README.md"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Operating System :: Microsoft :: Windows :: Windows 10",
"Operating System :: Microsoft :: Windows :: Windows 11",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.8",
"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",
"Typing :: Typed",
]
include = [
"src/textual/py.typed",
{ path = "docs/examples", format = "sdist" },
{ path = "tests", format = "sdist" },
# The reason for the slightly convoluted path specification here is that
# poetry populates the exclude list with the content of .gitignore, and
# it also seems like exclude trumps include. So here we specify that we
# want to package up the content of the docs-offline directory in a way
# that works around that.
{ path = "docs-offline/**/*", format = "sdist" },
]
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/Textualize/textual/issues"
[tool.poetry.dependencies]
python = "^3.8.1"
markdown-it-py = { extras = ["plugins", "linkify"], version = ">=2.1.0" }
rich = ">=13.3.3"
#rich = {path="../rich", develop=true}
typing-extensions = "^4.4.0"
tree-sitter = { version = "^0.20.1", optional = true }
tree-sitter-languages = { version = "1.10.2", optional = true }
platformdirs = ">=3.6.0,<5"
[tool.poetry.extras]
syntax = ["tree-sitter", "tree_sitter_languages"]
[tool.poetry.group.dev.dependencies]
black = "24.4.2"
griffe = "0.32.3"
httpx = "^0.23.1"
mkdocs = "^1.3.0"
mkdocs-exclude = "^1.0.2"
mkdocs-git-revision-date-localized-plugin = "^1.2.5"
mkdocs-material = "^9.0.11"
mkdocs-rss-plugin = "^1.5.0"
mkdocstrings = { extras = ["python"], version = "^0.20.0" }
mkdocstrings-python = "^1.0.0"
mypy = "^1.0.0"
pre-commit = "^2.13.0"
pytest = "^8.3.1"
pytest-xdist = "^3.6.1"
pytest-asyncio = "*"
pytest-cov = "^5.0.0"
textual-dev = "^1.7.0"
types-setuptools = "^67.2.0.1"
types-tree-sitter = "^0.20.1.4"
types-tree-sitter-languages = "^1.7.0.1"
isort = "^5.13.2"
pytest-textual-snapshot = "^1.0.0"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
addopts = "--strict-markers"
markers = [
"syntax: marks tests that require syntax highlighting (deselect with '-m \"not syntax\"')",
]
asyncio_default_fixture_loop_scope = "function"
[build-system]
requires = ["poetry-core>=1.2.0"]
build-backend = "poetry.core.masonry.api"