[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