add
This commit is contained in:
107
setup.py
Executable file
107
setup.py
Executable file
@@ -0,0 +1,107 @@
|
||||
# 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,
|
||||
)
|
||||
Reference in New Issue
Block a user