[build-system]
requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"

[project]
name = "longcodezip"
version = "0.1.0"
description = "A novel two-stage long code compression method for code language models"
readme = "README.md"
requires-python = ">=3.9"
license = {text = "MIT"}
authors = [
    {name = "Yuling Shi"},
]
keywords = [
    "code compression",
    "language models",
    "llm",
    "code intelligence",
    "nlp",
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
    "appdirs",
    "datasets",
    "editdistance",
    "fire",
    "loguru",
    "matplotlib",
    "nltk",
    "numpy",
    "openai>=1.0.0",
    "rich",
    "torch",
    "transformers",
    "tqdm",
    "tree-sitter-languages",
    "tempdir",
    "wget",
]

[project.optional-dependencies]
dev = [
    "pytest",
    "black",
    "flake8",
]

[project.urls]
Homepage = "https://github.com/YerbaPage/LongCodeZip"
Repository = "https://github.com/YerbaPage/LongCodeZip"
Documentation = "https://github.com/YerbaPage/LongCodeZip/blob/main/README.md"
"Bug Tracker" = "https://github.com/YerbaPage/LongCodeZip/issues"
"Paper" = "https://arxiv.org/abs/2510.00446"

[tool.setuptools]
packages = ["longcodezip"]

[tool.setuptools.package-data]
longcodezip = ["py.typed"]

