mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 21:01:36 +00:00
113 lines
3.5 KiB
TOML
113 lines
3.5 KiB
TOML
[project]
|
|
name = "gam7"
|
|
dynamic = [
|
|
"version",
|
|
]
|
|
authors = [
|
|
{ name = "Jay Lee", email = "jay0lee@gmail.com" },
|
|
{ name = "Ross Scroggs", email = "Ross.Scroggs@gmail.com" },
|
|
]
|
|
dependencies = [
|
|
"arrow==1.4.0",
|
|
"chardet==7.4.3",
|
|
"cryptography==48.0.1",
|
|
"distro==1.9.0 ; sys_platform=='linux'",
|
|
"filelock==3.29.4",
|
|
"google-api-python-client==2.197.0",
|
|
"google-auth-httplib2==0.4.0",
|
|
"google-auth-oauthlib==1.4.0",
|
|
"google-auth==2.55.1",
|
|
"httplib2==0.31.2",
|
|
"lxml==6.1.1",
|
|
"passlib==1.7.4",
|
|
"pathvalidate==3.3.1",
|
|
"pysocks==1.7.1",
|
|
]
|
|
description = "CLI tool to manage Google Workspace"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Operating System :: OS Independent",
|
|
]
|
|
license-files = [
|
|
"LICEN[CS]E*",
|
|
]
|
|
|
|
[project.license]
|
|
text = "Apache License (2.0)"
|
|
|
|
[project.optional-dependencies]
|
|
yubikey = [
|
|
"yubikey-manager==5.9.1",
|
|
]
|
|
|
|
[project.scripts]
|
|
gam = "gam.__main__:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/GAM-team/GAM"
|
|
Issues = "https://github.com/GAM-team/GAM/issues"
|
|
Discussion = "https://groups.google.com/group/google-apps-manager"
|
|
Chat = "https://git.io/gam-chat"
|
|
|
|
[tool.hatch.version]
|
|
path = "src/gam/__init__.py"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = [
|
|
"src/gam",
|
|
]
|
|
|
|
[build-system]
|
|
requires = [
|
|
"hatchling",
|
|
]
|
|
build-backend = "hatchling.build"
|
|
|
|
# Ruff linter configuration — https://docs.astral.sh/ruff/
|
|
[tool.ruff]
|
|
target-version = "py311"
|
|
src = ["src", "tests"]
|
|
|
|
[tool.ruff.lint]
|
|
# Focused rules that catch real bugs without overwhelming noise.
|
|
select = [
|
|
"F", # Pyflakes — unused imports, undefined names, etc.
|
|
"E711", # Comparison to None (use `is` / `is not`)
|
|
"E713", # Not-in test (use `not in` operator)
|
|
"UP", # pyupgrade — modernize syntax for Python 3.11+
|
|
]
|
|
ignore = [
|
|
# Pyflakes rules suppressed for GAM's architecture
|
|
"F402", # Import shadowed by loop variable — GAM reuses `entity` in loops
|
|
"F403", # Star import — GAM uses `from gam.constants import *`
|
|
"F405", # Undefined from star import — GAM uses `from gam.constants import *`
|
|
"F811", # Redefined while unused — GAM reassigns variables in arg-parsing loops
|
|
"F841", # Local variable assigned but never used — some GAM patterns use this intentionally
|
|
# pyupgrade rules that would be too noisy right now
|
|
"UP009", # UTF-8 encoding declaration — harmless, not worth a 17-file churn
|
|
"UP024", # os.error alias — 37 occurrences, low priority
|
|
"UP030", # Format literals — would change string formatting style
|
|
"UP031", # printf-string-formatting — 200+ occurrences, too noisy right now
|
|
"UP032", # f-string — auto-conversion can break complex expressions
|
|
]
|
|
fixable = [] # Don't auto-fix — we want to review changes manually
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# __init__.py re-exports cmd/ functions for dispatch tables
|
|
"src/gam/__init__.py" = ["F401", "E402", "F821"]
|
|
# cmd/ files use `from gam.constants import *`
|
|
"src/gam/cmd/**" = ["F821"]
|
|
# util/ modules have ordered imports and re-exports
|
|
"src/gam/util/**" = ["E402", "F821"]
|
|
# gamlib modules
|
|
"src/gam/gamlib/**" = ["F821"]
|
|
# Test files can be more relaxed
|
|
"tests/**" = ["F401", "F811"]
|