[tool.poetry] name = "jumpserver" version = "v4.0" description = "广受欢迎的开源堡垒机" authors = ["ibuler "] license = "GPLv3" readme = "README.md" package-mode = false repository = "https://github.com/jumpserver/jumpserver" homepage = "https://www.jumpserver.org" documentation = "https://docs.jumpserver.org" # 说明 # poetry install (社区版) # poetry install --with=xpack (企业版) [tool.poetry.dependencies] python = "^3.11" aiofiles = "23.1.0" ansible-core = { url = "https://github.com/jumpserver-dev/ansible/archive/refs/tags/v2.14.1.7.zip" } ansible = "7.1.0" ansible-runner = { url = "https://github.com/jumpserver-dev/ansible-runner/archive/refs/tags/2.4.0.1.zip" } asn1crypto = "1.5.1" configparser = "6.0.0" decorator = "5.1.1" enum-compat = "0.0.3" ephem = "4.1.4" olefile = "0.46" passlib = "1.7.4" phonenumbers = "8.13.17" gmssl = "3.2.2" itsdangerous = "1.1.0" pyotp = "2.8.0" simplejson = "3.19.1" sshtunnel = "0.4.0" sshpubkeys = "3.3.1" werkzeug = "2.3.6" unicodecsv = "0.14.1" httpsig = "1.3.0" treelib = "1.6.4" psutil = "6.0.0" msrestazure = "0.6.4" adal = "1.2.7" # Requires fixed version number, ImportError: cannot import name 'save_virtual_workbook' from 'openpyxl.writer.excel' openpyxl = "3.0.10" pyexcel = "0.7.0" pyexcel-xlsx = "0.6.0" data-tree = "0.0.1" pyvmomi = "8.0.1.0.2" termcolor = "2.3.0" html2text = "2020.1.16" pyzipper = "0.3.6" python3-saml = "1.15.0" websocket-client = "1.6.1" pyjwkest = "1.4.2" jsonfield2 = "4.0.0.post0" geoip2 = "4.8.0" ipip-ipdb = "1.6.1" pywinrm = "0.4.3" python-nmap = "0.7.1" django = "4.1.13" django-bootstrap3 = "23.4" django-filter = "23.2" django-formtools = "2.4.1" django-simple-captcha = "0.5.18" djangorestframework-bulk = "0.2.1" django-simple-history = "3.3.0" django-private-storage = "3.1" drf-nested-routers = "0.93.4" drf-writable-nested = "0.7.0" rest-condition = "1.0.3" drf-yasg = "1.21.7" openapi-codec = "1.3.2" django-proxy = "1.2.2" eventlet = "0.33.3" gunicorn = "21.2.0" flower = "2.0.1" django-celery-beat = "2.6.0" uvicorn = "0.22.0" websockets = "11.0.3" python-ldap = [ { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/python_ldap-3.4.3-cp311-cp311-manylinux_2_28_x86_64.whl", markers = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/python_ldap-3.4.3-cp311-cp311-manylinux_2_28_aarch64.whl", markers = "sys_platform == 'linux' and platform_machine == 'aarch64'" }, { version = "3.4.3", source = "aliyun", markers = "sys_platform != 'linux'" } ] ldap3 = "2.9.1" django-radius = { url = "https://github.com/ibuler/django-radius/archive/refs/tags/1.5.0.zip" } django-cas-ng = { url = "https://github.com/ibuler/django-cas-ng/releases/download/v4.3.2/django-cas-ng-4.3.2.zip" } django-auth-ldap = "4.4.0" mysqlclient = [ { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/mysqlclient-2.2.4-cp311-cp311-manylinux_2_28_x86_64.whl", markers = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/mysqlclient-2.2.4-cp311-cp311-manylinux_2_28_aarch64.whl", markers = "sys_platform == 'linux' and platform_machine == 'aarch64'" }, { version = "2.2.4", source = "aliyun", markers = "sys_platform != 'linux'" } ] pymssql = "2.2.11" django-redis = "5.3.0" python-redis-lock = "4.0.0" pyopenssl = "23.2.0" redis = { url = "https://github.com/jumpserver-dev/redis-py/archive/refs/tags/v5.0.3.zip" } pymongo = "4.4.1" pyfreerdp = "0.0.2" forgerypy3 = "0.3.1" django-debug-toolbar = "4.1.0" pympler = "1.0.1" hvac = "1.1.1" ipy = "1.1" netifaces = [ { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/netifaces-0.11.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", markers = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, { url = "https://github.com/jumpserver-dev/core-package/releases/download/v1.0.0/netifaces-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", markers = "sys_platform == 'linux' and platform_machine == 'aarch64'" }, { version = "^0.11.0", source = "aliyun", markers = "sys_platform != 'linux'" } ] daphne = "4.0.0" channels-redis = "4.1.0" fido2 = "^1.1.2" user-agents = "^2.2.0" django-cors-headers = "^4.3.0" mistune = "2.0.3" openai = "^1.29.0" xlsxwriter = "^3.1.9" exchangelib = "^5.1.0" elasticsearch7 = "7.17.9" elasticsearch8 = "8.13.2" polib = "^1.2.0" psycopg2-binary = "2.9.6" pycountry = "^24.6.1" boto = "2.49.0" azure-storage-blob = "12.17.0" esdk-obs-python = "3.21.4" [tool.poetry.group.xpack] optional = true [tool.poetry.group.xpack.dependencies] qingcloud-sdk = "1.2.15" azure-mgmt-subscription = "3.1.1" azure-identity = "1.13.0" azure-mgmt-compute = "30.0.0" azure-mgmt-network = "23.1.0" google-cloud-compute = "1.15.0" alibabacloud-dysmsapi20170525 = "2.0.24" python-novaclient = "18.3.0" python-keystoneclient = "5.1.0" bce-python-sdk = "0.8.87" tencentcloud-sdk-python = "3.0.941" aliyun-python-sdk-core-v3 = "2.13.33" aliyun-python-sdk-ecs = "4.24.64" oracledb = "1.4.0" ucloud-sdk-python3 = "0.11.50" huaweicloudsdkecs = "3.1.52" volcengine-python-sdk = "1.0.71" [[tool.poetry.source]] name = "aliyun" url = "https://mirrors.aliyun.com/pypi/simple" priority = "primary" [[tool.poetry.source]] name = "pypi" priority = "supplemental" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"