Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ __pycache__/

# C extensions
*.so
*.so.*

# Distribution / packaging
.Python
Expand Down Expand Up @@ -74,3 +75,6 @@ Miniconda*.exe
/vcpkg

!/logo/logo.png
.venv/
.venv-test/
tmp/
33 changes: 31 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,31 @@
include README.rst
include rawpy/def_helper.h
# Include documentation and license files
include README.md
include LICENSE
include LICENSE.LibRaw
# Note: AGENTS.md is excluded - it's for development only, not end users

# Include Cython source and helper headers
include rawpy/_rawpy.pyx
include rawpy/def_helper.h
include rawpy/data_helper.h

# Include type stub and marker
include rawpy/py.typed
include rawpy/_rawpy.pyi

# Include external LibRaw source code (required for building from source)
recursive-include external/LibRaw *.h *.cpp
include external/LibRaw/COPYRIGHT
include external/LibRaw/LICENSE.CDDL
include external/LibRaw/LICENSE.LGPL
include external/LibRaw/Changelog.txt
recursive-include external/LibRaw-cmake *.cmake *.cmake.in CMakeLists.txt

# Exclude build artifacts
prune external/LibRaw-cmake/build

# Exclude development-only directories
prune test

# Exclude generated files (regenerated from .pyx during build)
exclude rawpy/_rawpy.cpp
4 changes: 3 additions & 1 deletion dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# build dependencies
wheel>=0.31.0
setuptools>=69
build
delocate;sys.platform == 'darwin'
cython

Expand All @@ -12,7 +14,7 @@ scikit-image
# test dependencies
pytest
imageio>=2.21 # for imageio.v3 / iio support
setuptools
mypy

# documentation dependencies
sphinx_rtd_theme
Expand Down
79 changes: 79 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
[build-system]
requires = [
"setuptools>=69.0.0",
"wheel",
"Cython>=0.29.32",
"cmake",
# Build against NumPy 2.x headers. Extensions compiled with NumPy 2.0+
# are backward-compatible with NumPy >= 1.19 at runtime.
"numpy>=2.0.0",
]
build-backend = "setuptools.build_meta"

[project]
name = "rawpy"
dynamic = ["version"]
description = "RAW image processing for Python, a wrapper for libraw"
readme = "README.md"
authors = [
{name = "Maik Riechert"}
]
license = {text = "MIT"}
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Cython",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: Unix",
"Topic :: Multimedia :: Graphics",
"Topic :: Software Development :: Libraries",
]
requires-python = ">=3.9"
dependencies = [
"numpy>=1.26.0"
]

[project.urls]
Homepage = "https://github.com/letmaik/rawpy"

[project.optional-dependencies]
test = [
"pytest",
"imageio>=2.21",
"mypy",
"scikit-image",
]

[tool.setuptools.packages.find]
include = ["rawpy*"]

[tool.mypy]
# Global mypy configuration for rawpy project
warn_unused_configs = true
check_untyped_defs = true

# Selectively ignore missing imports for optional dependencies
[[tool.mypy.overrides]]
module = [
"skimage.*",
"cv2",
"scipy.*",
"imageio",
"imageio.*",
"imageio.v3"
]
ignore_missing_imports = true

[tool.pytest.ini_options]
minversion = "6.0"
testpaths = ["test"]
Loading