-
Notifications
You must be signed in to change notification settings - Fork 14
/
setup.py
106 lines (95 loc) · 3.3 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
from setuptools import find_packages, setup
# Get version number
def getVersionNumber():
with open("reciprocalspaceship/VERSION", "r") as vfile:
version = vfile.read().strip()
return version
__version__ = getVersionNumber()
DESCRIPTION = "Tools for exploring reciprocal space"
LONG_DESCRIPTION = """
``reciprocalspaceship`` provides a ``pandas``-style interface for
analyzing and manipulating reflection data from crystallography
experiments. Using this library, it is possible to interactively work
with crystallographic data in Python, enabling easy integration with
modern scientific computing libraries. ``reciprocalspaceship`` is
intended to support the rapid prototyping of new crystallographic methods
and custom analyses while maintaining clear, reproducible, and performant
code.
Features of this library include:
- Crystallographically-aware ``pandas`` objects, datatypes, and syntax
that are familiar to Python users.
- Convenient integration with `GEMMI <https://gemmi.readthedocs.io/en/latest/>`__
to provide built-in methods and support for developing functions that
use space groups, unit cell parameters, and crystallographic symmetry
operations.
- Support for reading and writing MTZ reflection files.
"""
PROJECT_URLS = {
"Bug Tracker": "https://github.com/rs-station/reciprocalspaceship/issues",
"Documentation": "https://rs-station.github.io/reciprocalspaceship/",
"Source Code": "https://github.com/rs-station/reciprocalspaceship",
}
# Testing requirements
tests_require = ["pytest", "pytest-cov", "pytest-xdist", "ray"]
# Documentation requirements
docs_require = [
"sphinx",
"sphinx_rtd_theme",
"nbsphinx",
"sphinx-design",
"sphinxcontrib-autoprogram",
"autodocsumm",
]
# Examples requirements
examples_require = [
"jupyter",
"tqdm",
"matplotlib",
"seaborn",
"celluloid",
"scikit-image",
]
setup(
name="reciprocalspaceship",
packages=find_packages(),
include_package_data=True,
version=__version__,
license="MIT",
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
author="Kevin M. Dalton, Jack B. Greisman",
author_email="kmdalton@g.harvard.edu, greisman@g.harvard.edu",
url="https://rs-station.github.io/reciprocalspaceship/",
project_urls=PROJECT_URLS,
python_requires=">=3.9",
install_requires=[
"gemmi>=0.5.5, <=0.6.7",
"pandas>=2.2.2, <=2.2.3",
"numpy",
"scipy",
"ipython",
"msgpack",
],
setup_requires=["pytest-runner"],
tests_require=tests_require,
extras_require={
"dev": tests_require + docs_require + examples_require,
"examples": examples_require,
},
entry_points={
"console_scripts": [
"rs.mtzdump=reciprocalspaceship.commandline.mtzdump:main",
"rs.cifdump=reciprocalspaceship.commandline.cifdump:main"
]
},
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Topic :: Scientific/Engineering :: Chemistry",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python",
],
)