[build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" # ------ - ------ [tool.poetry] name = "tractor" version = "0.1.0a6dev0" description='structured concurrent `trio`-"actors"' authors = ["Tyler Goodlet "] license = "AGPlv3" readme = "docs/README.rst" # TODO: do we need this xontrib loader at all given pep420 # and xonsh's xontrib global-autoload-via-setuptools? # https://xon.sh/tutorial_xontrib.html#authoring-xontribs packages = [ {include = 'tractor' }, # {include = 'tractor.experimental' }, # {include = 'tractor.trionics' }, # {include = 'tractor.msg' }, # {include = 'tractor.devx' }, ] # ------ - ------ [tool.poetry.dependencies] python = "^3.11" # trio runtime related # proper range spec: # https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#id5 trio='^0.24' tricycle = "^0.4.1" trio-typing = "^0.10.0" msgspec='^0.18.5' # interchange wrapt = "^1.16.0" # decorators colorlog = "^6.8.2" # logging # built-in multi-actor `pdb` REPL pdbp = "^1.5.0" # TODO: distributed transport using # linux kernel networking # 'pyroute2 # ------ - ------ [tool.poetry.group.dev] optional = false [tool.poetry.group.dev.dependencies] # testing pytest = "^8.2.0" pexpect = "^4.9.0" # .devx tooling greenback = "^1.2.1" stackscope = "^0.2.2" # (light) xonsh usage/integration xontrib-vox = "^0.0.1" prompt-toolkit = "^3.0.43" xonsh-vox-tabcomplete = "^0.5" # ------ - ------ [tool.towncrier] package = "tractor" filename = "NEWS.rst" directory = "nooz/" version = "0.1.0a6" title_format = "tractor {version} ({project_date})" template = "nooz/_template.rst" all_bullets = true [[tool.towncrier.type]] directory = "feature" name = "Features" showcontent = true [[tool.towncrier.type]] directory = "bugfix" name = "Bug Fixes" showcontent = true [[tool.towncrier.type]] directory = "doc" name = "Improved Documentation" showcontent = true [[tool.towncrier.type]] directory = "trivial" name = "Trivial/Internal Changes" showcontent = true # ------ - ------ [tool.pytest.ini_options] minversion = '6.0' testpaths = [ 'tests' ] addopts = [ # TODO: figure out why this isn't working.. '--rootdir=./tests', '--import-mode=importlib', # don't show frickin captured logs AGAIN in the report.. '--show-capture=no', ] log_cli = false # TODO: maybe some of these layout choices? # https://docs.pytest.org/en/8.0.x/explanation/goodpractices.html#choosing-a-test-layout-import-rules # pythonpath = "src" # ------ - ------ [project] keywords = [ 'trio', 'async', 'concurrency', 'structured concurrency', 'actor model', 'distributed', 'multiprocessing' ] classifiers = [ "Development Status :: 3 - Alpha", "Operating System :: POSIX :: Linux", "Framework :: Trio", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.11", "Topic :: System :: Distributed Computing", ]