[build-system]
requires = ["setuptools>=45", "wheel", "Cython>=0.29.0"]
build-backend = "setuptools.build_meta"

[project]
name = "rugo"
version = "0.1.19"
description = "Parquet Metadata Reader"
readme = "README.md"
authors = [
    {name = "Justin Joyce", email = "justin.joyce@joocer.com"}
]
license = {file = "LICENSE"}
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "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 :: Cython",
    "Topic :: Software Development :: Libraries",
    "Topic :: System :: Archiving",
]
keywords = ["data", "decoder", "parquet", "cython", "python"]
requires-python = ">=3.9"
dependencies = [
]

[project.optional-dependencies]
dev = [
    "pytest>=6.0.0",
    "pytest-cov",
    "build",
    "twine",
]
test = [
    "orso",
    "pyarrow",
    "pytest>=6.0.0",
    "pytest-cov",
]
orso = [
    "orso>=0.0.200",
]

[project.urls]
Homepage = "https://github.com/mabel-dev/rugo"
Repository = "https://github.com/mabel-dev/rugo"
Issues = "https://github.com/mabel-dev/rugo/issues"

[tool.setuptools]
packages = ["rugo", "rugo.parquet", "rugo.jsonl", "rugo.csv", "rugo.converters"]

[tool.setuptools.package-data]
"*" = ["*.pyx", "*.pxd", "*.pxi"]

[tool.setuptools.package-dir]
"" = "."

[tool.pytest.ini_options]
minversion = "6.0"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "--tb=short --disable-warnings"

[tool.isort]
profile = "black"
extend_skip_glob = ["tests/**", "*.pyx", "*.pxd", "testdata/**", "examples/**"]
skip_gitignore = true
line_length = 100
multi_line_output = 9
force_single_line = true
float_to_top = true
ensure_newline_before_comments = true

[tool.cython-lint]
max-line-length = 120