1#!/usr/bin/env python 2 3from setuptools import setup, Command 4 5import versioneer 6 7commands = versioneer.get_cmdclass().copy() 8 9class Trial(Command): 10 description = "run trial" 11 user_options = [] 12 13 def initialize_options(self): 14 pass 15 def finalize_options(self): 16 pass 17 def run(self): 18 import sys 19 from twisted.scripts import trial 20 sys.argv = ["trial", "--rterrors", "foolscap.test"] 21 trial.run() # does not return 22commands["trial"] = Trial 23commands["test"] = Trial 24 25trove_classifiers = [ 26 "Development Status :: 3 - Alpha", 27 "Operating System :: OS Independent", 28 "License :: OSI Approved :: MIT License", 29 "Programming Language :: Python", 30 "Programming Language :: Python :: 2", 31 "Programming Language :: Python :: 2.7", 32 "Programming Language :: Python :: 3", 33 "Programming Language :: Python :: 3.5", 34 "Programming Language :: Python :: 3.6", 35 "Programming Language :: Python :: 3.7", 36 "Programming Language :: Python :: 3.8", 37 "Programming Language :: Python :: Implementation :: CPython", 38 "Topic :: Internet", 39 "Topic :: Software Development :: Libraries :: Python Modules", 40 "Topic :: System :: Distributed Computing", 41 "Topic :: System :: Networking", 42 "Topic :: Software Development :: Object Brokering", 43 ] 44 45setup_args = { 46 "name": "foolscap", 47 "version": versioneer.get_version(), 48 "description": "Foolscap contains an RPC protocol for Twisted.", 49 "author": "Brian Warner", 50 "author_email": "warner-foolscap@lothar.com", 51 "url": "http://foolscap.lothar.com/trac", 52 "license": "MIT", 53 "long_description": """\ 54Foolscap (aka newpb) is a new version of Twisted's native RPC protocol, known 55as 'Perspective Broker'. This allows an object in one process to be used by 56code in a distant process. This module provides data marshaling, a remote 57object reference system, and a capability-based security model. 58""", 59 "classifiers": trove_classifiers, 60 "platforms": ["any"], 61 62 "package_dir": {"": "src"}, 63 "packages": ["foolscap", "foolscap.slicers", "foolscap.logging", 64 "foolscap.connections", 65 "foolscap.appserver", "foolscap.test"], 66 "entry_points": {"console_scripts": [ 67 "flogtool = foolscap.logging.cli:run_flogtool", 68 "flappserver = foolscap.appserver.cli:run_flappserver", 69 "flappclient = foolscap.appserver.client:run_flappclient", 70 ] }, 71 "cmdclass": commands, 72 "install_requires": ["six", "twisted[tls] >= 16.0.0", "pyOpenSSL"], 73 "extras_require": { 74 "dev": ["mock", "txtorcon >= 19.0.0", 75 "txi2p-tahoe >= 0.3.5; python_version > '3.0'", 76 "txi2p >= 0.3.2; python_version < '3.0'", 77 "pywin32 ; sys_platform == 'win32'"], 78 "tor": ["txtorcon >= 19.0.0"], 79 "i2p": ["txi2p-tahoe >= 0.3.5; python_version > '3.0'", 80 "txi2p >= 0.3.2; python_version < '3.0'"], 81 }, 82} 83 84setup_args.update( 85 include_package_data=True, 86) 87 88if __name__ == "__main__": 89 setup(**setup_args) 90 91