| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import json
- import os
- import setuptools
- import ssl
- import subprocess
- from python_appimage.utils.deps import ensure_excludelist
- from python_appimage.utils.url import urlopen
- CLASSIFIERS = '''\
- Development Status :: 4 - Beta
- Intended Audience :: Developers
- License :: OSI Approved :: GNU General Public License v3 (GPLv3)
- Programming Language :: Python
- Topic :: Software Development
- Operating System :: POSIX :: Linux
- '''
- with open('README.md') as f:
- long_description = f.read()
- def get_version():
- '''Get the next version number from PyPI
- '''
- version = os.getenv('PYTHON_APPIMAGE_VERSION')
- if not version:
- try:
- _create_unverified_https_context = ssl._create_unverified_context
- except AttributeError:
- pass
- else:
- ssl._create_default_https_context = _create_unverified_https_context
- meta = json.load(
- urlopen('https://pypi.org/pypi/python-appimage/json'))
- version = meta['info']['version']
- numbers = version.split('.')
- numbers[-1] = str(int(numbers[-1]) + 1)
- version = '.'.join(numbers)
- p = subprocess.Popen('git describe --match=NeVeRmAtCh --always --dirty',
- shell=True, stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- stdout, _ = p.communicate()
- try:
- stdout = stdout.decode()
- except AttributeError:
- stdout = str(stdout)
- git_revision = stdout.strip()
- with open('python_appimage/version.py', 'w+') as f:
- f.write('''\
- # This file was generated by setup.py
- version = '{version:}'
- git_revision = '{git_revision:}'
- '''.format(version=version, git_revision=git_revision))
- return version
- def get_package_data():
- '''Get the list of package data
- '''
- ensure_excludelist()
- prefix = os.path.dirname(__file__) or '.'
- return ['data/' + file_
- for file_ in os.listdir(prefix + '/python_appimage/data')]
- setuptools.setup(
- name = 'python_appimage',
- version = get_version(),
- author = 'Valentin Niess',
- author_email = 'valentin.niess@gmail.com',
- description = 'Appimage releases of Python',
- long_description = long_description,
- long_description_content_type = 'text/markdown',
- url = 'https://github.com/niess/python-appimage',
- download_url = 'https://pypi.python.org/pypi/python-appimage',
- project_urls = {
- 'Bug Tracker' : 'https://github.com/niess/python-appimage/issues',
- 'Source Code' : 'https://github.com/niess/python-appimage',
- },
- packages = setuptools.find_packages(),
- classifiers = [s for s in CLASSIFIERS.split(os.linesep) if s.strip()],
- license = 'GPLv3',
- platforms = ['Linux'],
- python_requires = '>=2.7',
- include_package_data = True,
- package_data = {'': get_package_data()},
- entry_points = {
- 'console_scripts' : (
- 'python-appimage = python_appimage.__main__:main',)
- }
- )
|