[tool.poetry]
name = "nextpy"
version = "0.4.0"
description = "ð®Pythonic App Framework from Future: Build â¡Blazing Fast , ð¤Self-Modifying Apps!"
license = "Apache-2.0"
authors = ["Team dotagent "]
readme = "README.md"
homepage = "https://nextpy.org"
repository = "https://github.com/dot-agent/nextpy"
documentation = "https://docs.nextpy.org/getting-started/introduction"
keywords = ["web", "framework"]
classifiers = ["Development Status :: 4 - Beta"]
packages = [{include = "nextpy"}]
[tool.poetry.dependencies]
python = "^3.8"
cloudpickle = "^2.2.1"
fastapi = "^0.96.0"
gunicorn = "^20.1.0"
httpx = ">=0.24.0,<0.26.0"
jinja2 = "^3.1.2"
psutil = "^5.9.4"
pydantic = {version = "^1.10.2", extras = ["email"]}
python-multipart = "^0.0.5"
python-socketio = "^5.7.0"
redis = "^4.3.5"
rich = "^13.0.0"
sqlmodel = "^0.0.14"
typer = ">=0.4.2,<1"
uvicorn = [
{version = "^0.24.0", python = ">=3.12"},
{version = "^0.20.0", python = "<3.12"},
]
watchdog = "^2.3.1"
watchfiles = "^0.19.0"
starlette-admin = "^0.9.0"
alembic = "^1.11.1"
platformdirs = "^3.10.0"
distro = {version = "^1.8.0", platform = "linux"}
python-engineio = "!=4.6.0"
wrapt = [
{version = "^1.14.0", python = ">=3.11"},
{version = "^1.11.0", python = "<3.11"},
]
packaging = "^23.1"
tabulate = "^0.9.0"
pipdeptree = "^2.13.0"
websockets = ">=10.4"
pyjokes = "^0.6.0"
pylint = "^3.0.3"
charset-normalizer = "^3.3.2"
aiosmtplib = "^3.0.1"
reacton = "^1.8.2"
solara = "^1.25.1"
[tool.poetry.group.dev.dependencies]
pytest = "^7.1.2"
pytest-mock = "^3.10.0"
pyright = ">=1.1.229,<1.1.335"
darglint = "^1.8.1"
toml = "^0.10.2"
pytest-asyncio = "^0.20.1"
pytest-cov = "^4.0.0"
black = "^22.10.0"
ruff = "^0.0.244"
pandas = [
{ version = "^2.1.1", python = ">=3.9,<3.13" },
{ version = "^1.1.5", python = ">=3.8,<3.9" }
]
numpy = [
{ version = "^1.21.0", python = ">=3.9,<3.13" },
{ version = "^1.19.5", python = ">=3.8,<3.9" }
]
pillow = [
{version = "^10.0.0", python = ">=3.8,<4.0"}
]
plotly = "^5.13.0"
asynctest = "^0.13.0"
pre-commit = {version = "^3.2.1", python = ">=3.8,<4.0"}
selenium = "^4.11.0"
types-tabulate = "^0.9.0.3"
pytest-benchmark = "^4.0.0"
pytest-profiling = "^1.7.0"
pytest-html = "^4.1.1"
ipykernel = "^6.27.1"
setuptools = "^69.0.2"
wheel = "^0.42.0"
build = "^1.0.3"
[tool.poetry.group.ai]
optional = true
[tool.poetry.group.ai.dependencies]
diskcache = "*"
openai = "^0.27.8"
pyparsing = ">=3.0.0"
pygtrie = "*"
platformdirs = "*"
tiktoken = ">=0.3"
nest_asyncio = "*"
msal = "*"
requests = "*"
aiohttp = "*"
[tool.poetry.group.aidev]
optional = true
[tool.poetry.group.aidev.dependencies]
transformers = "*"
torch = "*"
[tool.poetry.scripts]
nextpy = "nextpy.cli:cli"
[build-system]
requires = ["poetry-core>=1.5.1"]
build-backend = "poetry.build.masonry.api"
[tool.pyright]
exclude = ["**/node_modules",
"**/__pycache__",
"nextpy/ai",
"nextpy/data/vectordb",
"nextpy/build/source_reload.py",
"nextpy/data/jsondb.py",
"nextpy/interfaces/templates",
"nextpy/interfaces/web/components/animation/motion/motion.py",
]
[tool.ruff]
select = ["B", "D", "E", "F", "I", "SIM", "W"]
ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]
target-version = "py37"
[tool.ruff.per-file-ignores]
"__init__.py" = ["F401"]
"tests/*.py" = ["D100", "D103", "D104"]
"nextpy/ai/*.py" = ["ALL"]
"nextpy/data/vectordb/*.py" = ["ALL"]
"nextpy/interfaces/web/templates/*.py" = ["D100", "D103", "D104"]
"*.pyi" = ["ALL"]
"app-examples/*.py" = ["ALL"]
"ai-notebooks/*.py" = ["ALL"]
[tool.pylint.MASTER]
ignore-paths = [
"nextpy/ai"
]