evennia/pyproject.toml
2025-07-02 15:26:30 +02:00

194 lines
4.2 KiB
TOML

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "evennia"
version = "5.0.1"
maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }]
description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)."
requires-python = ">=3.11"
readme = { file = "README.md", content-type = "text/markdown" }
license = { text = "BSD" }
keywords = [
"MUD",
"MUSH",
"MUX",
"MMO",
"text-only",
"multiplayer",
"online",
"rpg",
"game",
"engine",
"framework",
"text",
"adventure",
"telnet",
"websocket",
"blind",
"accessible",
"ascii",
"utf-8",
"terminal",
"online",
"server",
"beginner",
"tutorials",
]
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: JavaScript",
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: BSD License",
"Environment :: Console",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Twisted",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Topic :: Database",
"Topic :: Education",
"Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)",
"Topic :: Games/Entertainment :: Puzzle Games",
"Topic :: Games/Entertainment :: Role-Playing",
"Topic :: Games/Entertainment :: Simulation",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server",
]
dependencies = [
# core dependencies
"legacy-cgi;python_version >= '3.13'",
"django >= 5.2, < 5.3",
"twisted >= 24.11.0, < 25",
"pytz >= 2022.6",
"djangorestframework >= 3.14, < 3.15",
"pyyaml >= 6.0",
"django-filter == 2.4",
"django-sekizai == 2.0.0",
"inflect >= 5.2.0",
"autobahn >= 20.7.1, < 21.0.0",
"lunr == 0.7.0.post1",
"simpleeval <= 1.0",
"uritemplate == 4.1.1",
"tzdata >= 2022.6",
# for unit tests and code formatting
"mock >= 4.0.3",
"model_mommy >= 2.0",
"anything ==0.2.1",
"black >= 22.6",
"isort >= 5.10",
"parameterized == 0.9.0"
]
[project.optional-dependencies]
extra = [
# contrib optional dependencies
# install with 'pip install evennia[extra]`
# crypto libraries for ssh support
"cryptography >= 2.8",
"pyasn1 >= 0.4.8",
"bcrypt >= 3.1.7",
# Telnet-SSL support
"pyopenssl >= 19.1",
"service_identity >= 18.1.0",
# AWS storage contrib
"boto3 >= 1.4.4",
"botocore >= 1.15",
# Jupyter Notebook support
"jupyter >= 1.0.0",
"ipython >= 7.19.0",
"django-extensions >= 3.1.0",
# xyzroom contrib
"scipy == 1.15.1",
# Git contrib
"gitpython >= 3.1.27",
]
[project.urls]
"Homepage" = "https://www.evennia.com"
"Github" = "https://github.com/evennia/evennia"
"Documentation" = "https://www.evennia.com/docs/latest/index.html"
"Live Demo" = "https://demo.evennia.com/"
"Forums" = "https://github.com/evennia/evennia/discussions"
"Discord" = "https://discord.gg/AJJpcRUhtF"
"Dev Blog" = "https://www.evennia.com/devblog/index.html"
"Game Index" = "http://games.evennia.com"
"Issue tracker" = "https://github.com/evennia/evennia/issues"
"Patreon" = "https://www.patreon.com/griatch"
[project.scripts]
evennia = "evennia.server.evennia_launcher:main"
[tool.black]
line-length = 100
target-version = ['py310', 'py311']
exclude = '''
(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
| migrations
| docs
)
'''
[tool.coverage]
[tool.coverage.run]
concurrency = ["multiprocessing"]
parallel = true
source = ["evennia"]
omit = [
"*/migrations/*",
"*/urls.py",
"*/test*.py",
"*.sh",
"*.txt",
"*.md",
"*.pyc",
"*.service",
]
[tool.ruff]
exclude = [
"/.eggs/",
"/.git/",
"/.hg/",
"/.mypy_cache/",
"/.tox/",
"/.venv/",
"/_build/",
"/buck-out/",
"/build/",
"/dist/",
"migrations",
"docs",
]
line-length = 100