139 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			TOML
		
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			TOML
		
	
	
| [build-system]
 | |
| requires = ["hatchling"]
 | |
| build-backend = "hatchling.build"
 | |
| 
 | |
| # ------ build-system ------
 | |
| 
 | |
| [project]
 | |
| name = "tractor"
 | |
| version = "0.1.0a6dev0"
 | |
| description = 'structured concurrent `trio`-"actors"'
 | |
| authors = [{ name = "Tyler Goodlet", email = "goodboy_foss@protonmail.com" }]
 | |
| requires-python = ">= 3.11"
 | |
| readme = "docs/README.rst"
 | |
| license = "AGPL-3.0-or-later"
 | |
| 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",
 | |
| ]
 | |
| dependencies = [
 | |
| # trio runtime and friends
 | |
|   # (poetry) proper range specs,
 | |
|   # https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#id5
 | |
|   # TODO, for 3.13 we must go go `0.27` which means we have to
 | |
|   # disable strict egs or port to handling them internally!
 | |
|   # trio='^0.27'
 | |
|   "trio>=0.24,<0.25",
 | |
|   "tricycle>=0.4.1,<0.5",
 | |
|   "trio-typing>=0.10.0,<0.11",
 | |
| 
 | |
|   "wrapt>=1.16.0,<2",
 | |
|   "colorlog>=6.8.2,<7",
 | |
| 
 | |
| # built-in multi-actor `pdb` REPL
 | |
|   "pdbp>=1.5.0,<2",
 | |
| 
 | |
| # typed IPC msging
 | |
| # TODO, get back on release once 3.13 support is out!
 | |
|   "msgspec",
 | |
| ]
 | |
| 
 | |
| # ------ project ------
 | |
| 
 | |
| [dependency-groups]
 | |
| dev = [
 | |
|   # test suite
 | |
|   # TODO: maybe some of these layout choices?
 | |
|   # https://docs.pytest.org/en/8.0.x/explanation/goodpractices.html#choosing-a-test-layout-import-rules
 | |
|   "pytest>=8.2.0,<9",
 | |
|   "pexpect>=4.9.0,<5",
 | |
|   # `tractor.devx` tooling
 | |
|   "greenback>=1.2.1,<2",
 | |
|   "stackscope>=0.2.2,<0.3",
 | |
| 
 | |
|   # xonsh usage/integration (namely as @goodboy's sh of choice Bp)
 | |
|   "xonsh>=0.19.1",
 | |
|   "xontrib-vox>=0.0.1,<0.0.2",
 | |
|   "prompt-toolkit>=3.0.43,<4",
 | |
|   "xonsh-vox-tabcomplete>=0.5,<0.6",
 | |
|   "pyperclip>=1.9.0",
 | |
| ]
 | |
| 
 | |
| # TODO, distributed (multi-host) extensions
 | |
| # linux kernel networking
 | |
| # 'pyroute2
 | |
| 
 | |
| [tool.hatch.build.targets.sdist]
 | |
| include = ["tractor"]
 | |
| 
 | |
| [tool.hatch.build.targets.wheel]
 | |
| include = ["tractor"]
 | |
| 
 | |
| # ------ dependency-groups ------
 | |
| 
 | |
| [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
 | |
| 
 | |
| # ------ tool.towncrier ------
 | |
| 
 | |
| [tool.uv.sources]
 | |
| msgspec = { git = "https://github.com/jcrist/msgspec.git" }
 | |
| 
 | |
| # ------ tool.uv.sources ------
 |