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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
|
[tool:pytest]
minversion = 7
testpaths = "ginga" "doc"
norecursedirs = build doc/_build
astropy_header = true
filterwarnings =
ignore:numpy.ndarray size changed:RuntimeWarning
ignore:numpy.ufunc size changed:RuntimeWarning
ignore:distutils Version classes are deprecated:DeprecationWarning
# matplotlib + python-dateutil<=2.8.2 + Python 3.12
ignore:datetime\.datetime\.utcfromtimestamp:DeprecationWarning
[bdist_wheel]
universal = 1
[metadata]
name = ginga
description = A scientific image viewer and toolkit
long_description = file: LONG_DESC.txt
long_description_content_type = text/plain
author = Ginga Maintainers
author_email = eric@naoj.org
license = BSD
license_files = LICENSE.txt
url = https://ejeschke.github.io/ginga/
edit_on_github = False
github_project = ejeschke/ginga
keywords = scientific, image, viewer, numpy, toolkit, astronomy, FITS
classifiers =
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Programming Language :: C
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Programming Language :: Python :: 3
Topic :: Scientific/Engineering :: Astronomy
Topic :: Scientific/Engineering :: Physics
[options]
zip_safe = False
packages = find:
python_requires = >=3.11
install_requires =
numpy>=1.26
qtpy>=2.4.1
astropy>=6.0.1
puremagic>=1.28
pillow>=11.1.0
pyyaml>=6.0
packaging>=23.1
setup_requires = setuptools_scm
[options.extras_require]
recommended =
scipy>=1.11.4
matplotlib>=3.8
opencv-python-headless>=4.5.4
exifread>=2.3.2
pillow-heif>=0.21.0
astroquery>=0.4.7
python-dateutil>=2.8.2
photutils
test =
attrs>=19.2.0
pytest-astropy-header
pytest-doctestplus
pytest-remotedata
scipy
photutils
docs =
sphinx
sphinx-astropy
sphinx_rtd_theme
gtk3 =
gobject-introspection>=1.84.0
pycairo>=1.27.0
pygobject>=3.50.0
gtk4 =
gobject-introspection>=1.84.0
pycairo>=1.29.0
pygobject>=3.54.5
qt5 =
PyQt5
qt6 =
PyQt6
pyside2 =
PySide2
pyside6 =
PySide6
tk =
pycairo
web =
tornado
pycairo
[options.package_data]
ginga = examples/*/*, examples/*/*/*, web/pgw/js/*.js, web/pgw/js/*.css
ginga.doc = *.html
ginga.fonts = */*.ttf, */*.txt
ginga.gtk3w = gtk_css
ginga.gtk4w = gtk_css
ginga.icons = *.ppm, *.png, *.svg
ginga.cursors = *.svg, *.toml
ginga.opengl = glsl/*.vert, glsl/*.frag
ginga.web.pgw = templates/*.html, js/*.js
ginga.locale = */LC_MESSAGES/*.mo
[options.entry_points]
console_scripts =
ginga = ginga.rv.main:_main
ggrc = ginga.misc.grc:_main
ginga_modes =
meta = ginga.modes.meta:MetaMode
draw = ginga.modes.draw:DrawMode
pan = ginga.modes.pan:PanMode
zoom = ginga.modes.zoom:ZoomMode
cuts = ginga.modes.cuts:CutsMode
contrast = ginga.modes.contrast:ContrastMode
rotate = ginga.modes.rotate:RotateMode
cmap = ginga.modes.cmap:CMapMode
dist = ginga.modes.dist:DistMode
camera = ginga.modes.camera:CameraMode
naxis = ginga.modes.naxis:NaxisMode
plot2d = ginga.modes.plot2d:Plot2DMode
ginga_loaders =
pillow = ginga.util.io.io_rgb:PillowFileHandler
opencv = ginga.util.io.io_rgb:OpenCvFileHandler
astropy = ginga.util.io.io_fits:AstropyFitsFileHandler
fitsio = ginga.util.io.io_fits:FitsioFileHandler
asdf = ginga.util.io.io_asdf:ASDFFileHandler
# for Babel
[extract_messages]
input_dirs = ginga
output_file = ginga/locale/ginga.pot
# for Babel
[compile_catalog]
domain = ginga
directory = ginga/locale
[flake8]
# Ignoring these for now:
# E129: visually indented line with same indent as next logical line
# E265: block comment should start with '#'
# E266: too many leading '#' for block comment
# E402: module level import not at top of file
# E501: line too long
# E741: ambiguous variable name 'l'
# I100: import statements are in the wrong order
# I101: imported names are in the wrong order
# W504: line break after binary operator
# F841: local variable '%s' is assigned to but never used
# F824: global variable '%s' is never assigned in scope
ignore = E129,E265,E266,E402,E501,E741,I100,I101,W504,F841,F824
[coverage:run]
source = ginga
omit =
ginga/cython_version*
ginga/setup_package*
ginga/*/setup_package*
ginga/*/*/setup_package*
ginga/tests/*
ginga/*/tests/*
ginga/*/*/tests/*
ginga/version*
*/ginga/cython_version*
*/ginga/setup_package*
*/ginga/*/setup_package*
*/ginga/*/*/setup_package*
*/ginga/tests/*
*/ginga/*/tests/*
*/ginga/*/*/tests/*
*/ginga/version*
[coverage:report]
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain about packages we have installed
except ImportError
# Don't complain if tests don't hit assertions
raise AssertionError
raise NotImplementedError
# Don't complain about script hooks
def main\(.*\):
# Ignore branches that don't pertain to this version of Python
pragma: py{ignore_python_version}
# Don't complain about IPython completion helper
def _ipython_key_completions_
|