[build-system] requires = ["setuptools >= 65.63"] [project] name = "cowrie" version = "2.5.0" description="Cowrie SSH/Telnet Honeypot." license.text="BSD-3-Clause" authors = [ {name = "Michel Oosterhof", email="michel@oosterhof.net"}, ] maintainers = [ {name = "Michel Oosterhof", email="michel@oosterhof.net"}, ] keywords=["ssh", "telnet", "honeypot"] requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, <4" readme="README.rst" classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: No Input/Output (Daemon)", "Framework :: Twisted", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Security" ] dependencies = [ "Twisted==24.3.0", ] # "cryptography>=0.9.1", # "configparser", # "pyparsing", # "incremental", # "packaging", # "appdirs>=1.4.0", # "python-dateutil", # "service_identity>=14.0.0", #] [project.urls] homepage = "https://www.cowrie.org/" repository = "https://github.com/cowrie/cowrie" [project.scripts] fsctl = "cowrie.scripts.fsctl:run" asciinema = "cowrie.scripts.asciinema:run" creatfs = "cowrie.scripts.createfs:run" playlog = "cowrie.scripts.playlog:run" [project.optional-dependencies] csirtg = ["csirtgsdk==1.1.5"] dshield = ["requests"] elasticsearch = ["pyes"] mysql = ["mysqlclient"] mongodb = ["pymongo"] rethinkdblog = ["rethinkdb"] s3 = ["botocore"] slack = ["slackclient"] influxdb = ["influxdb"] [tool.isort] profile = "black" known_zope = "zope" known_twisted = "twisted" known_first_party = ["cowrie","backend_pool"] sections=["FUTURE","STDLIB","THIRDPARTY","ZOPE","TWISTED","FIRSTPARTY","LOCALFOLDER"] [tool.mypy] namespace_packages = true plugins = [ "mypy_zope:plugin" ] disable_error_code = [ "annotation-unchecked" ] ignore_missing_imports = true warn_unused_configs = true no_implicit_optional = true show_column_numbers = true show_error_codes = true strict_optional = true warn_no_return = true warn_redundant_casts = true warn_return_any = true warn_unreachable = true disallow_incomplete_defs = true disallow_any_unimported = true strict_equality = true disallow_untyped_decorators = true disallow_subclassing_any = true warn_unused_ignores = true # Getting these passing should be easy # strict_concatenate = true # These are too strict for us at the moment check_untyped_defs = false disallow_untyped_defs = false disallow_any_decorated = false disallow_any_explicit = false disallow_any_expr = false disallow_any_generics = false disallow_untyped_calls = false [tool.pylint."MESSAGES CONTROL"] disable = ["R0901", "R0902", "R0903", "R0904", "R0912", "R0913", "R0914", "R0915", "C0103", "C0114", "C0115", "C0116", "C0301", "W0201"] ignored-classes = ["twisted.internet.reactor"] [tool.pyright] include = ["src"] typeCheckingMode = "strict" reportArgumentType = "none" reportAssignmentType = "none" reportAttributeAccessIssue = "none" reportCallIssue = "information" reportGeneralTypeIssues = "information" reportIncompatibleMethodOverride = "information" reportIncompatibleVariableOverride = "none" reportMissingImports = "none" reportMissingModuleSource = "none" reportOperatorIssue = "information" reportOptionalCall = "information" reportOptionalMemberAccess = "none" reportOptionalOperand = "information" reportPossiblyUnboundVariable = "information" reportUnsupportedDunderAll = "information" [tool.ruff] line-length = 88 # Enable Pyflakes `E` and `F` codes by default. lint.select = ["E", "F", "UP", "YTT", "B", "T20", "Q", "RUF"] lint.ignore = ["E501", "UP007", "B019", "RUF001", "UP038"] # Assume Python 3.10. target-version = "py310" # Ignore `T201` (print) in all scripts [tool.ruff.lint.per-file-ignores] "src/cowrie/scripts/*" = ["T201"] [tool.setuptools] package-dir = {"" = "src"} [tool.setuptools.packages.find] where = ["src"]