[tool.poetry] name = "textual" version = "0.26.0" homepage = "https://github.com/Textualize/textual" description = "Modern Text User Interface framework" authors = ["Will McGugan "] license = "MIT" readme = "README.md" classifiers = [ "Development Status :: 4 - Beta", "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.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "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.scripts] textual = "textual.cli.cli:run" [tool.poetry.dependencies] python = "^3.7" rich = ">=13.3.3" markdown-it-py = {extras = ["plugins", "linkify"], version = "^2.1.0"} #rich = {path="../rich", develop=true} importlib-metadata = ">=4.11.3" typing-extensions = "^4.4.0" # Dependencies below are required for devtools only aiohttp = { version = ">=3.8.1", optional = true } click = {version = ">=8.1.2", optional = true} msgpack = { version = ">=1.0.3", optional = true } [tool.poetry.extras] dev = ["aiohttp", "click", "msgpack"] [tool.poetry.group.dev.dependencies] pytest = "^7.1.3" black = "^23.1.0" mypy = "^1.0.0" pytest-cov = "^2.12.1" mkdocs = "^1.3.0" mkdocstrings = {extras = ["python"], version = "^0.20.0"} mkdocs-material = "^9.0.11" mkdocs-exclude = "^1.0.2" pre-commit = "^2.13.0" pytest-aiohttp = "^1.0.4" time-machine = "^2.6.0" Jinja2 = "<3.1.0" syrupy = "^3.0.0" mkdocs-rss-plugin = "^1.5.0" httpx = "^0.23.1" msgpack-types = "^0.2.0" types-setuptools = "^67.2.0.1" [tool.black] includes = "src" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] addopts = "--strict-markers" markers = [ "integration_test: marks tests as slow integration tests (deselect with '-m \"not integration_test\"')", ] [build-system] requires = ["poetry-core>=1.2.0"] build-backend = "poetry.core.masonry.api"