[project]
name = "s3ranger"
version = "1.2.0"
description = "A terminal-based user interface for browsing and managing AWS S3 buckets and objects"
readme = "README.md"
requires-python = ">=3.11"
authors = [
    {name = "Sharashchandra", email = "sharashchandra1998@gmail.com"}
]
license = {file = "LICENSE"}
keywords = ["s3", "aws", "terminal", "tui", "cloud", "storage"]
classifiers = [
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Topic :: System :: Systems Administration",
    "Topic :: Utilities",
]
dependencies = [
    "awscli>=1.41.9",
    "boto3>=1.39.9",
    "click>=8.0.0",
    "textual>=4.0.0",
    "textual-fspicker>=0.4.1",
    "toml>=0.10.2",
]

[project.urls]
Homepage = "https://github.com/Sharashchandra/s3ranger"
Repository = "https://github.com/Sharashchandra/s3ranger"
Issues = "https://github.com/Sharashchandra/s3ranger/issues"

[project.scripts]
s3ranger = "s3ranger.main:cli"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[dependency-groups]
dev = [
    "ipdb>=0.13.13",
    "ipython>=9.4.0",
    "pre-commit>=4.2.0",
    "ruff>=0.12.7",
    "textual-dev>=1.7.0",
    "ty>=0.0.5",
]

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".ipynb_checkpoints",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pyenv",
    ".pytest_cache",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "site-packages",
    "venv",
]
