[build-system] requires = ["poetry-core>=2.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "djangoadmin-tornado-elevue" version = "2.8.0" description = "DjangoAdmin 敏捷开发框架 Tornado + EleVue 版本(模块化、高性能、企业级)" authors = ["小蚂蚁云团队 "] license = "Apache-2.0" readme = "README.md" homepage = "https://www.djangoadmin.cn" packages = [{ include = "*", from = "src" }] [tool.poetry.dependencies] python = ">=3.10" tornado = "^6.3.2" sqlalchemy = "^2.0.18" pymysql = "^1.1.0" redis = "^4.6.0" PyJWT = "^2.7.0" pydantic = "^2.0.2" pydantic-settings = "^2.0.0" bcrypt = "^4.0.0" python-dotenv = "^1.0.0" Pillow = "^10.0.0" openpyxl = "^3.1.2" APScheduler = "^3.11.2" # 可选数据库驱动(默认 MySQL 使用 pymysql): # poetry install -E postgresql / -E mssql / -E oracle # SQLite 走内置 sqlite3,无需额外安装 bleach = "^6.4.0" tinycss2 = "^1.5.1" py-ip2region = "3.0.4" [tool.poetry.extras] postgresql = ["psycopg2-binary"] mssql = ["pymssql"] oracle = ["oracledb"] [tool.poetry.group.dev.dependencies] pytest = "^8.0.0" pytest-asyncio = ">=0.21,<0.24" pytest-cov = "^5.0.0" mypy = "^1.8.0" flake8 = "^7.0.0" pre-commit = "^3.6.0" ruff = "^0.4.0" types-PyMySQL = "^1.1.0.4" [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] asyncio_mode = "auto" [tool.ruff] line-length = 120 target-version = "py310" [tool.mypy] python_version = "3.10" ignore_missing_imports = true