[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "collectionparser" version = "3.0.0" description = "Parse, deduplicate, and query multi-billion password collections." readme = "README.md" requires-python = ">=3.11" keywords = ["passwords", "breach", "email", "dataset", "search"] classifiers = [ "Environment :: Console", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Topic :: Security", "Topic :: Utilities", ] dependencies = [ "click>=8.1", "tqdm>=4.66", ] [project.optional-dependencies] dev = ["pytest>=8", "ruff>=0.6"] [project.scripts] collectionparser = "collectionparser.cli:cli" [tool.setuptools.packages.find] include = ["collectionparser*"] [tool.ruff] target-version = "py311" line-length = 88 src = ["collectionparser", "tests"] [tool.ruff.lint] select = ["E", "W", "F", "I", "N", "UP", "B", "C4", "SIM"] ignore = ["E501"] # long lines are handled by the formatter [tool.ruff.format] quote-style = "double" indent-style = "space"