[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" ]