core-lightning/contrib/pyln-proto/setup.py
Christian Decker 6b0a7b173c pyln: Change the setup.py file not to import the package
This would lead to errors about missing dependencies when attempting
to install using `pyhon setup.py install`. This is because the
`setup.py` file effectively is the manifest file used to discover
which dependencies are needed, so when using it to detect dependencies
we obviously don't have them yet.

See https://packaging.python.org/guides/single-sourcing-package-version/
2021-04-08 10:34:14 +09:30

44 lines
1.3 KiB
Python

from setuptools import setup
import codecs
import io
import os.path
with io.open('README.md', encoding='utf-8') as f:
long_description = f.read()
with io.open('requirements.txt', encoding='utf-8') as f:
requirements = [r for r in f.read().split('\n') if len(r)]
def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
return fp.read()
def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith('__version__'):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")
setup(name='pyln-proto',
version=get_version("pyln/proto/__init__.py"),
description='Pure python implementation of the Lightning Network protocol',
long_description=long_description,
long_description_content_type='text/markdown',
url='http://github.com/ElementsProject/lightning',
author='Christian Decker',
author_email='decker.christian@gmail.com',
license='MIT',
packages=['pyln.proto', 'pyln.proto.message'],
package_data={'pyln.proto.message': ['py.typed']},
scripts=[],
zip_safe=True,
install_requires=requirements)