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
|
[project]
name = "xarray-ceos-alos2"
requires-python = ">= 3.10"
license = { text = "MIT" }
description = "xarray reader for advanced land observing satellite 2 (ALOS2) CEOS files"
readme = "README.md"
dependencies = [
"toolz",
"python-dateutil",
"xarray>=2024.10.0",
"numpy",
"construct>=2.10",
"fsspec",
"platformdirs",
"exceptiongroup; python_version < '3.11'",
]
keywords = [
"xarray",
"earth-observation",
"remote-sensing",
"satellite-imagery",
"ceos",
"alos2",
"sar",
"synthetic-aperture-radar",
]
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
]
dynamic = ["version"]
[project.urls]
homepage = "https://xarray-ceos-alos2.readthedocs.io"
documentation = "https://xarray-ceos-alos2.readthedocs.io"
repository = "https://github.com/umr-lops/xarray-ceos-alos2"
changelog = "https://xarray-ceos-alos2.readthedocs.io/en/latest/changelog.html"
[project.scripts]
ceos-alos2-create-cache = "ceos_alos2.sar_image.cli:main"
[build-system]
requires = ["setuptools>=64.0", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
packages = [
"ceos_alos2",
"ceos_alos2.sar_image",
"ceos_alos2.sar_image.caching",
"ceos_alos2.sar_leader",
"ceos_alos2.sar_trailer",
"ceos_alos2.tests",
"ceos_alos2.volume_directory",
]
[tool.setuptools_scm]
fallback_version = "999"
[tool.black]
line-length = 100
[tool.ruff]
target-version = "py310"
builtins = ["ellipsis"]
exclude = [".git", ".eggs", "build", "dist", "__pycache__"]
line-length = 100
[tool.ruff.lint]
ignore = [
"E402", # module level import not at top of file
"E501", # line too long - let black worry about that
"E731", # do not assign a lambda expression, use a def
"UP038", # type union instead of tuple for isinstance etc
]
select = [
"F", # Pyflakes
"E", # Pycodestyle
"I", # isort
"UP", # Pyupgrade
"TID", # flake8-tidy-imports
"W",
]
extend-safe-fixes = [
"TID252", # absolute imports
"UP031", # percent string interpolation
]
fixable = ["I", "TID252", "UP"]
[tool.ruff.lint.isort]
known-first-party = ["ceos_alos2"]
known-third-party = ["xarray", "toolz", "construct"]
[tool.ruff.lint.flake8-tidy-imports]
# Disallow all relative imports.
ban-relative-imports = "all"
[tool.coverage.run]
source = ["ceos_alos2"]
branch = true
[tool.coverage.report]
show_missing = true
exclude_lines = ["pragma: no cover", "if TYPE_CHECKING"]
|