[build-system]
requires = ["setuptools>=61.2"]
build-backend = "setuptools.build_meta"

[project]
name = "scyjava"
version = "1.9.2.dev0"
description = "Supercharged Java access from Python"
license = {text = "The Unlicense"}
authors = [{name = "SciJava developers", email = "ctrueden@wisc.edu"}]
readme = "README.md"
keywords = ["java", "maven", "cross-language"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "Intended Audience :: Education",
    "Intended Audience :: Science/Research",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "License :: OSI Approved :: The Unlicense (Unlicense)",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: Unix",
    "Operating System :: MacOS",
    "Topic :: Scientific/Engineering",
    "Topic :: Software Development :: Libraries :: Java Libraries",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Utilities",
]

# NB: Keep this in sync with environment.yml AND dev-environment.yml!
requires-python = ">=3.7"
dependencies = [
    "jpype1 >= 1.3.0",
    "jgo",
]

[project.optional-dependencies]
# NB: Keep this in sync with dev-environment.yml!
dev = [
    "autopep8",
    "black",
    "build",
    "flake8",
    "flake8-pyproject",
    "flake8-typing-imports",
    "isort",
    "jep",
    "pytest",
    "pytest-cov",
    "numpy",
    "pandas",
    "toml",
    "validate-pyproject[all]",
]

[project.urls]
homepage = "https://github.com/scijava/scyjava"
documentation = "https://github.com/scijava/scyjava/blob/main/README.md"
source = "https://github.com/scijava/scyjava"
download = "https://pypi.org/project/scyjava/"
tracker = "https://github.com/scijava/scyjava/issues"

[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = false

[tool.setuptools.packages.find]
where = ["src"]
namespaces = false

# Thanks to Flake8-pyproject, we can configure flake8 here!
[tool.flake8]
exclude = ["bin", "build", "dist"]
extend-ignore = ["E203"]
# See https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8
max-line-length = 88
min_python_version = "3.7"

[tool.isort]
profile = "black"
