142 lines
3.1 KiB
TOML
142 lines
3.1 KiB
TOML
[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 <goodboy_foss@protonmail.com>"]
|
|
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",
|
|
]
|