108 lines
3.1 KiB
Python
Executable File
108 lines
3.1 KiB
Python
Executable File
# prefer setuptools over distutils
|
|
from setuptools import setup, find_packages
|
|
|
|
# use a consistent encoding
|
|
from codecs import open
|
|
from os import path
|
|
import json
|
|
import sys
|
|
|
|
is_python_2 = sys.version_info < (3, 0)
|
|
|
|
here = path.abspath(path.dirname(__file__))
|
|
root = path.dirname(here)
|
|
|
|
readme = path.join(here, 'README.md')
|
|
package_json = path.join(here, 'package.json')
|
|
|
|
# a workaround when installing locally from git repository with pip install -e .
|
|
if not path.isfile(package_json):
|
|
package_json = path.join(root, 'package.json')
|
|
|
|
# long description from README file
|
|
with open(readme, encoding='utf-8') as f:
|
|
long_description = f.read()
|
|
|
|
# version number and all other params from package.json
|
|
with open(package_json, encoding='utf-8') as f:
|
|
package = json.load(f)
|
|
|
|
project_urls = {
|
|
'Homepage': 'https://ccxt.com',
|
|
'Documentation': 'https://github.com/ccxt/ccxt/wiki',
|
|
'Discord': 'https://discord.gg/ccxt',
|
|
'Twitter': 'https://twitter.com/ccxt_official',
|
|
'Funding': 'https://opencollective.com/ccxt',
|
|
}
|
|
|
|
setup(
|
|
|
|
name=package['name'],
|
|
version=package['version'],
|
|
description=package['description'],
|
|
long_description=long_description,
|
|
long_description_content_type='text/markdown',
|
|
|
|
# will switch from rst to md shortly
|
|
# long_description_content_type='text/markdown',
|
|
|
|
url=package['homepage'],
|
|
|
|
author=package['author']['name'],
|
|
author_email=package['author']['email'],
|
|
|
|
license=package['license'],
|
|
|
|
classifiers=[
|
|
'Development Status :: 4 - Beta',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: Financial and Insurance Industry',
|
|
'Intended Audience :: Information Technology',
|
|
'Topic :: Software Development :: Build Tools',
|
|
'Topic :: Office/Business :: Financial :: Investment',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Programming Language :: Python :: 2',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Programming Language :: Python :: 3.10',
|
|
'Programming Language :: Python :: 3.11',
|
|
'Programming Language :: JavaScript',
|
|
'Programming Language :: PHP',
|
|
'Operating System :: OS Independent',
|
|
'Environment :: Console'
|
|
],
|
|
|
|
keywords=package['keywords'],
|
|
packages=find_packages(exclude=['ccxt.async_support*'] if is_python_2 else []),
|
|
|
|
install_requires=[
|
|
'setuptools>=60.9.0',
|
|
'certifi>=2018.1.18',
|
|
'requests>=2.18.4',
|
|
'cryptography>=2.6.1',
|
|
'typing_extensions>=4.4.0',
|
|
],
|
|
|
|
extras_require={
|
|
':python_version>="3.5.2"': [
|
|
'aiohttp>=3.10.11',
|
|
'aiodns>=1.1.1',
|
|
'yarl>=1.7.2',
|
|
],
|
|
':python_version>="3.9" and python_version<="3.13"': [
|
|
'coincurve==21.0.0',
|
|
],
|
|
'qa': [
|
|
'ruff==0.0.292',
|
|
'tox>=4.8.0',
|
|
],
|
|
'type': [
|
|
'mypy==1.6.1',
|
|
],
|
|
},
|
|
project_urls=project_urls,
|
|
)
|