File: pyproject.toml

package info (click to toggle)
mycli 1.44.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,052 kB
  • sloc: python: 9,168; makefile: 10
file content (109 lines) | stat: -rw-r--r-- 2,608 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[project]
name = "mycli"
dynamic = ["version"]
description = "CLI for MySQL Database. With auto-completion and syntax highlighting."
readme = "README.md"
requires-python = ">=3.10"
license = "BSD-3-Clause"
authors = [{ name = "Mycli Core Team", email = "mycli-dev@googlegroups.com" }]
urls = { homepage = "http://mycli.net" }

dependencies = [
    "click >= 8.3.1",
    "cryptography >= 1.0.0",
    "Pygments>=1.6",
    "prompt_toolkit>=3.0.6,<4.0.0",
    "PyMySQL >= 0.9.2",
    "sqlparse>=0.3.0,<0.6.0",
    "sqlglot[rs] == 27.*",
    "configobj >= 5.0.5",
    "cli_helpers[styles] >= 2.7.0",
    "pyperclip >= 1.8.1",
    "pycryptodomex",
    "pyfzf >= 0.3.1",
]

[build-system]
requires = ["setuptools>=64.0", "setuptools-scm>=8"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]


[project.optional-dependencies]
ssh = ["paramiko", "sshtunnel"]
llm = [
    "llm>=0.19.0",
    "setuptools",                   # Required by llm commands to install models
    "pip",
]
all = [
  "mycli[ssh]",
  "mycli[llm]",
]
dev = [
    "behave>=1.2.6",
    "coverage>=7.2.7",
    "mypy~=1.18.1",
    "pexpect>=4.9.0",
    "pytest>=7.4.4",
    "pytest-cov>=4.1.0",
    "tox>=4.8.0",
    "pdbpp>=0.10.3",
    "paramiko",
    "sshtunnel",
    "llm>=0.19.0",
    "setuptools",                   # Required by llm commands to install models
    "pip",
    "ruff~=0.14.10",
]

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

[tool.setuptools.package-data]
mycli = ["myclirc", "AUTHORS", "SPONSORS"]

[tool.setuptools.packages.find]
include = ["mycli*"]

[tool.ruff]
target-version = 'py310'
line-length = 140

[tool.ruff.lint]
select = ['A', 'B', 'I', 'E', 'W', 'F', 'C4', 'PIE', 'TID']
ignore = [
    'B005',   # Multi-character strip()
    'E401',   # Multiple imports on one line
    'E402',   # Module level import not at top of file
    'PIE808', # range() starting with 0
    # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
    'E111', # indentation-with-invalid-multiple
    'E114', # indentation-with-invalid-multiple-comment
    'E117', # over-indented
    'W191', # tab-indentation
]

[tool.ruff.lint.isort]
force-sort-within-sections = true
known-first-party = ['mycli', 'test', 'steps']

[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = 'all'

[tool.ruff.format]
preview = true
quote-style = 'preserve'
exclude = ['build', 'mycli_dev']

[tool.mypy]
pretty = true
strict_equality = true
ignore_missing_imports = true
warn_unreachable = true
warn_redundant_casts = true
warn_no_return = true
warn_unused_configs = true
show_column_numbers = true
exclude = ['^build/', '^dist/']