[build-system] requires = ["setuptools>=67", "wheel"] build-backend = "setuptools.build_meta" [project] name = "bit-transformer-lm" version = "1.0.0" description = "Bit-native transformer with reversible layers, safety telemetry, and enterprise features" readme = "README.md" requires-python = ">=3.10" license = {text = "AGPL-3.0"} authors = [{name = "WCNegentropy", email = "research@wcnegentropy.com"}] keywords = [ "transformer", "language-model", "bit-native", "reversible", "safety", "telemetry", "distributed-training", "quantization", "pytorch" ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ "torch>=2.0.0", "numpy>=1.21.0", "scikit-learn>=1.0.0", "matplotlib>=3.5.0", "datasets>=2.0.0", "huggingface-hub>=0.10.0", "requests>=2.25.0", ] [project.optional-dependencies] dashboard = [ "gradio>=4.0.0", "flask>=2.0.0", "watchdog>=2.0.0", ] distributed = [ "accelerate>=0.20.0", ] dev = [ "pytest>=7.0.0", "black>=22.0.0", "isort>=5.10.0", "mypy>=1.0.0", "ruff>=0.1.0", ] [project.urls] Homepage = "https://github.com/WCNegentropy/BitTransformerLM" Documentation = "https://github.com/WCNegentropy/BitTransformerLM/blob/main/README.md" Repository = "https://github.com/WCNegentropy/BitTransformerLM" Issues = "https://github.com/WCNegentropy/BitTransformerLM/issues" [project.scripts] bit-transformer-train = "bit_transformer.cli:train_cli" bit-transformer-infer = "bit_transformer.cli:infer_cli" bit-transformer-dashboard = "bit_transformer.cli:dashboard_cli" [tool.setuptools.packages.find] include = ["bit_transformer"] [tool.black] line-length = 88 target-version = ["py310", "py311", "py312"] [tool.isort] profile = "black" multi_line_output = 3 [tool.mypy] python_version = "3.10" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true [tool.ruff] target-version = "py310" line-length = 88 [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [] [tool.pytest.ini_options] testpaths = ["tests", "scripts/testing"] python_files = "test_*.py" python_functions = "test_*" addopts = "-v --tb=short"