forked from catalyst-cooperative/pudl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
116 lines (107 loc) · 3.48 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/usr/bin/env python
"""Setup script to make PUDL directly installable with pip."""
import os
from pathlib import Path
from setuptools import find_packages, setup
install_requires = [
'coloredlogs',
'datapackage>=1.9.0',
'dbfread',
'goodtables',
'matplotlib',
'networkx>=2.2',
'numpy',
'pandas>=0.24',
'pyarrow>=0.14.0',
'pyyaml',
'scikit-learn>=0.20',
'scipy',
'sqlalchemy>=1.3.0',
'tableschema',
'tableschema-sql>=1.1.0',
'timezonefinder',
'xlsxwriter',
]
# We are installing the PUDL module to build the docs, but the C libraries
# required to build snappy aren't available on RTD, so we need to exclude it
# from the installed dependencies here, and mock it for import in docs/conf.py
# using the autodoc_mock_imports parameter:
if not os.getenv('READTHEDOCS'):
install_requires.append('python-snappy')
doc_requires = [
'doc8',
'sphinx',
'sphinx_rtd_theme',
]
test_requires = [
'bandit',
'coverage',
'doc8',
'flake8',
'flake8-docstrings',
'flake8-builtins',
'pep8-naming',
'pre-commit',
'pydocstyle',
'pytest',
'pytest-cov',
'nbval',
]
readme_path = Path(__file__).parent / "README.rst"
long_description = readme_path.read_text()
setup(
name='catalystcoop.pudl',
description='An open data processing pipeline for public US utility data.',
long_description=long_description,
long_description_content_type='text/x-rst',
use_scm_version=True,
author='Catalyst Cooperative',
author_email='[email protected]',
maintainer='Zane A. Selvans',
maintainer_email='[email protected]',
url="https://catalyst.coop/pudl",
project_urls={
"Source": "https://github.com/catalyst-cooperative/pudl",
"Documentation": "https://catalystcoop-pudl.readthedocs.io",
"Issue Tracker": "https://github.com/catalyst-cooperative/pudl/issues",
},
license='MIT',
keywords=[
'electricity', 'energy', 'data', 'analysis', 'mcoe', 'climate change',
'finance', 'eia 923', 'eia 860', 'ferc', 'form 1', 'epa ampd',
'epa cems', 'coal', 'natural gas', ],
python_requires='>=3.7, <3.8.0a0',
setup_requires=['setuptools_scm'],
install_requires=install_requires,
extras_require={
"doc": doc_requires,
"test": test_requires,
},
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Console',
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.7',
'Topic :: Scientific/Engineering',
],
packages=find_packages('src'),
package_dir={'': 'src'},
# package_data is data that is deployed within the python package on the
# user's system. setuptools will get whatever is listed in MANIFEST.in
include_package_data=True,
# This defines the interfaces to the command line scripts we're including:
entry_points={
'console_scripts': [
'pudl_data = pudl.workspace.datastore_cli:main',
'pudl_setup = pudl.workspace.setup_cli:main',
'pudl_etl = pudl.cli:main',
'datapkg_to_sqlite = pudl.convert.datapkg_to_sqlite:main',
'ferc1_to_sqlite = pudl.convert.ferc1_to_sqlite:main',
'epacems_to_parquet = pudl.convert.epacems_to_parquet:main',
]
},
)