tractor/setup.py

101 lines
3.0 KiB
Python
Raw Normal View History

2018-07-06 00:57:23 +00:00
#!/usr/bin/env python
#
# tractor: structured concurrent "actors".
2018-07-06 00:57:23 +00:00
#
# Copyright 2018-eternity Tyler Goodlet.
2018-07-06 00:57:23 +00:00
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
2018-07-06 00:57:23 +00:00
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
2018-07-06 00:57:23 +00:00
from setuptools import setup
2021-02-21 22:47:06 +00:00
with open('docs/README.rst', encoding='utf-8') as f:
2018-07-06 00:57:23 +00:00
readme = f.read()
setup(
name="tractor",
2022-08-03 18:38:32 +00:00
version='0.1.0a6dev0', # alpha zone
description='structured concurrent `trio`-"actors"',
2018-07-06 00:57:23 +00:00
long_description=readme,
license='AGPLv3',
2018-07-06 00:57:23 +00:00
author='Tyler Goodlet',
maintainer='Tyler Goodlet',
maintainer_email='goodboy_foss@protonmail.com',
2019-04-28 14:41:24 +00:00
url='https://github.com/goodboy/tractor',
platforms=['linux', 'windows'],
2018-07-06 00:57:23 +00:00
packages=[
'tractor',
'tractor.experimental', # wacky ideas
'tractor.trionics', # trio extensions
'tractor.msg', # lowlevel data types
2018-07-06 00:57:23 +00:00
],
2019-01-16 18:41:49 +00:00
install_requires=[
2021-07-02 15:56:14 +00:00
# trio related
# proper range spec:
# https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#id5
2022-10-11 15:24:50 +00:00
'trio >= 0.22',
2021-02-26 04:51:53 +00:00
'async_generator',
2021-07-02 15:56:14 +00:00
'trio_typing',
'exceptiongroup',
2021-07-02 15:56:14 +00:00
# tooling
'stackscope',
2021-06-11 20:20:35 +00:00
'tricycle',
'trio_typing',
2021-02-26 04:51:53 +00:00
'colorlog',
'wrapt',
# IPC serialization
2022-08-03 18:28:21 +00:00
'msgspec',
2023-01-26 20:27:55 +00:00
# debug mode REPL
'pdbp',
2023-01-26 20:27:55 +00:00
# TODO: distributed transport using
# linux kernel networking
# 'pyroute2',
# pip ref docs on these specs:
# https://pip.pypa.io/en/stable/reference/requirement-specifiers/#examples
# and pep:
# https://peps.python.org/pep-0440/#version-specifiers
],
2018-07-06 00:57:23 +00:00
tests_require=['pytest'],
python_requires=">=3.10",
2018-07-06 00:57:23 +00:00
keywords=[
2021-02-26 04:51:53 +00:00
'trio',
'async',
'concurrency',
'structured concurrency',
'actor model',
'distributed',
2021-02-26 04:51:53 +00:00
'multiprocessing'
2018-07-06 00:57:23 +00:00
],
classifiers=[
2021-02-27 21:08:14 +00:00
"Development Status :: 3 - Alpha",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
2018-07-10 21:27:47 +00:00
"Framework :: Trio",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
2018-07-06 00:57:23 +00:00
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: 3 :: Only",
2022-07-11 15:19:44 +00:00
"Programming Language :: Python :: 3.10",
2018-07-10 21:27:47 +00:00
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Topic :: System :: Distributed Computing",
2018-07-06 00:57:23 +00:00
],
)