papermill
/
setup.py
105 строк · 3.6 Кб
1#!/usr/bin/env python
2""""
3setup.py
4
5See:
6https://packaging.python.org/tutorials/packaging-projects/
7https://packaging.python.org/en/latest/distributing.html
8https://github.com/pypa/sampleproject
9
10"""
11import os12
13from setuptools import setup14
15local_path = os.path.dirname(__file__)16# Fix for tox which manipulates execution pathing
17if not local_path:18local_path = '.'19here = os.path.abspath(local_path)20
21
22def version():23with open(f"{here}/papermill/version.py") as ver:24for line in ver.readlines():25if line.startswith('version ='):26return line.split(' = ')[-1].strip()[1:-1]27raise ValueError('No version found in papermill/version.py')28
29
30def read(fname):31with open(fname) as fhandle:32return fhandle.read()33
34
35def read_reqs(fname, folder=None):36path_dir = os.path.join(here, folder) if folder else here37req_path = os.path.join(path_dir, fname)38return [req.strip() for req in read(req_path).splitlines() if req.strip()]39
40
41s3_reqs = read_reqs('s3.txt', folder='requirements')42azure_reqs = read_reqs('azure.txt', folder='requirements')43gcs_reqs = read_reqs('gcs.txt', folder='requirements')44hdfs_reqs = read_reqs('hdfs.txt', folder='requirements')45github_reqs = read_reqs('github.txt', folder='requirements')46docs_only_reqs = read_reqs('docs.txt', folder='requirements')47black_reqs = ['black >= 19.3b0']48all_reqs = s3_reqs + azure_reqs + gcs_reqs + hdfs_reqs + github_reqs + black_reqs49docs_reqs = all_reqs + docs_only_reqs50# Temporarily remove hdfs_reqs from dev deps until the pyarrow package is available for Python 3.12
51dev_reqs = read_reqs('dev.txt', folder='requirements') + s3_reqs + azure_reqs + gcs_reqs + black_reqs # all_reqs52extras_require = {53"test": dev_reqs,54"dev": dev_reqs,55"all": all_reqs,56"s3": s3_reqs,57"azure": azure_reqs,58"gcs": gcs_reqs,59"hdfs": hdfs_reqs,60"github": github_reqs,61"black": black_reqs,62"docs": docs_reqs,63}
64
65# Get the long description from the README file
66with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:67long_description = f.read()68
69setup(70name='papermill',71version=version(),72description='Parameterize and run Jupyter and nteract Notebooks',73author='nteract contributors',74author_email='nteract@googlegroups.com',75license='BSD',76# Note that this is a string of words separated by whitespace, not a list.77keywords='jupyter mapreduce nteract pipeline notebook',78long_description=long_description,79long_description_content_type='text/markdown',80url='https://github.com/nteract/papermill',81packages=['papermill'],82python_requires='>=3.8',83install_requires=read_reqs('requirements.txt'),84extras_require=extras_require,85entry_points={'console_scripts': ['papermill = papermill.__main__:papermill']},86project_urls={87'Documentation': 'https://papermill.readthedocs.io',88'Funding': 'https://nteract.io',89'Source': 'https://github.com/nteract/papermill/',90'Tracker': 'https://github.com/nteract/papermill/issues',91},92classifiers=[93'Intended Audience :: Developers',94'Intended Audience :: System Administrators',95'Intended Audience :: Science/Research',96'License :: OSI Approved :: BSD License',97'Programming Language :: Python',98'Programming Language :: Python :: 3',99'Programming Language :: Python :: 3.8',100'Programming Language :: Python :: 3.9',101'Programming Language :: Python :: 3.10',102'Programming Language :: Python :: 3.11',103'Programming Language :: Python :: 3.12',104],105)
106