/ setup.py
setup.py
 1  import setuptools
 2  import sys
 3  
 4  pure_python = False
 5  pure_notice = "\n\n**Warning!** *This package is the zero-dependency version of Reticulum. You should almost certainly use the [normal package](https://pypi.org/project/rns) instead. Do NOT install this package unless you know exactly why you are doing it!*"
 6  
 7  if '--pure' in sys.argv:
 8      pure_python = True
 9      sys.argv.remove('--pure')
10      print("Building pure-python wheel")
11  
12  exec(open("RNS/_version.py", "r").read())
13  with open("README.md", "r") as fh:
14      long_description = fh.read()
15  
16  if pure_python:
17      pkg_name = "rnspure"
18      requirements = []
19      long_description = long_description.replace("</p>", "</p>"+pure_notice)
20  else:
21      pkg_name = "rns"
22      requirements = ['cryptography>=3.4.7', 'pyserial>=3.5']
23  
24  excluded_modules = ["tests.*", "tests"]
25  packages = setuptools.find_packages(exclude=excluded_modules)
26  
27  setuptools.setup(
28      name=pkg_name,
29      version=__version__,
30      author="Mark Qvist",
31      author_email="mark@unsigned.io",
32      description="Self-configuring, encrypted and resilient mesh networking stack for LoRa, packet radio, WiFi and everything in between",
33      long_description=long_description,
34      long_description_content_type="text/markdown",
35      url="https://reticulum.network/",
36      packages=packages,
37      license="Reticulum License",
38      license_files = ("LICENSE"),
39      classifiers=[
40          "Programming Language :: Python :: 3",
41          "Operating System :: OS Independent",
42          "Development Status :: 5 - Production/Stable",
43      ],
44      entry_points= {
45          'console_scripts': [
46              'rnsd=RNS.Utilities.rnsd:main',
47              'rnstatus=RNS.Utilities.rnstatus:main',
48              'rnprobe=RNS.Utilities.rnprobe:main',
49              'rnpath=RNS.Utilities.rnpath:main',
50              'rnid=RNS.Utilities.rnid:main',
51              'rncp=RNS.Utilities.rncp:main',
52              'rnx=RNS.Utilities.rnx:main',
53              'rnir=RNS.Utilities.rnir:main',
54              'rnodeconf=RNS.Utilities.rnodeconf:main',
55          ]
56      },
57      install_requires=requirements,
58      python_requires='>=3.7',
59  )