1#!/usr/bin/env python 2 3# Copyright (c) Jupyter Development Team. 4# Distributed under the terms of the Modified BSD License. 5 6import os 7 8from setuptools import setup 9 10# the name of the package 11name = 'nbclient' 12 13local_path = os.path.dirname(__file__) 14# Fix for tox which manipulates execution pathing 15if not local_path: 16 local_path = '.' 17here = os.path.abspath(local_path) 18 19 20def read(path): 21 with open(path) as fhandle: 22 return fhandle.read() 23 24 25def read_reqs(fname): 26 req_path = os.path.join(here, fname) 27 return [req.strip() for req in read(req_path).splitlines() if req.strip()] 28 29 30long_description = read(os.path.join(os.path.dirname(__file__), "README.md")) 31requirements = read(os.path.join(os.path.dirname(__file__), "requirements.txt")) 32dev_reqs = read_reqs(os.path.join(os.path.dirname(__file__), 'requirements-dev.txt')) 33doc_reqs = read_reqs(os.path.join(os.path.dirname(__file__), 'docs/requirements-doc.txt')) 34extras_require = {"test": dev_reqs, "dev": dev_reqs, "sphinx": doc_reqs} 35 36setup( 37 name=name, 38 author='Jupyter Development Team', 39 author_email='jupyter@googlegroups.com', 40 url='https://jupyter.org', 41 description=( 42 "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." 43 ), 44 long_description=long_description, 45 long_description_content_type='text/markdown', 46 packages=['nbclient'], 47 include_package_data=True, 48 python_requires=">=3.6.1", 49 install_requires=requirements, 50 extras_require=extras_require, 51 entry_points={ 52 'console_scripts': [ 53 'jupyter-execute = nbclient.cli:main', 54 ], 55 }, 56 project_urls={ 57 'Documentation': 'https://nbclient.readthedocs.io', 58 'Funding': 'https://numfocus.org/', 59 'Source': 'https://github.com/jupyter/nbclient', 60 'Tracker': 'https://github.com/jupyter/nbclient/issues', 61 }, 62 license='BSD', 63 platforms="Linux, Mac OS X, Windows", 64 keywords=['jupyter', 'pipeline', 'notebook', 'executor'], 65 classifiers=[ 66 'Intended Audience :: Developers', 67 'Intended Audience :: System Administrators', 68 'Intended Audience :: Science/Research', 69 'License :: OSI Approved :: BSD License', 70 'Programming Language :: Python', 71 'Programming Language :: Python :: 3', 72 'Programming Language :: Python :: 3.6', 73 'Programming Language :: Python :: 3.7', 74 'Programming Language :: Python :: 3.8', 75 'Programming Language :: Python :: 3.9', 76 ], 77) 78