xonsh/pyproject.toml
Andy Kipp 71ac21f241
Fix missing webconfig/js/xonsh_sticker.svg (#5077)
* Update pyproject.toml

* Create fix_missing_icon.rst
2023-03-02 15:01:50 +05:30

189 lines
4.2 KiB
TOML

[build-system]
# PEP 518 https://www.python.org/dev/peps/pep-0518/
# https://discuss.python.org/t/help-testing-experimental-features-in-setuptools/13821
requires = ["setuptools>=61", "wheel"]
# PEP 517 https://peps.python.org/pep-0517/
build-backend = "setuptools.build_meta"
[project]
# PEP 621 project metadata
# See https://www.python.org/dev/peps/pep-0621/
name = "xonsh"
dynamic = ["version", "readme"]
description = "Python-powered, cross-platform, Unix-gazing shell"
authors = [{ name = "Anthony Scopatz" }, { email = "scopatz@gmail.com" }]
maintainers = [{ name = "Anthony Scopatz" }, { email = "scopatz@gmail.com" }]
license = { text = "BSD 2-Clause License" }
requires-python = ">=3.8"
[tool.setuptools.dynamic]
version = {attr = "xonsh.__version__"}
readme = {file = ["README.rst"]}
[tool.setuptools]
packages = [
"xonsh",
"xonsh.ply.ply",
"xonsh.ptk_shell",
"xonsh.procs",
"xonsh.parsers",
"xonsh.xoreutils",
"xontrib",
"xonsh.completers",
"xonsh.history",
"xonsh.prompt",
"xonsh.pytest",
"xonsh.lib",
"xonsh.webconfig",
"xonsh.virtualenv",
"xompletions",
]
platforms = ["Cross Platform"]
include-package-data = false
[tool.setuptools.package-dir]
xonsh = "xonsh"
xontrib = "xontrib"
xompletions = "xompletions"
"xonsh.lib" = "xonsh/lib"
"xonsh.webconfig" = "xonsh/webconfig"
[tool.setuptools.package-data]
xonsh = [
"*.json",
"*.githash",
]
xontrib = ["*.xsh"]
"xonsh.lib" = ["*.xsh"]
"xonsh.virtualenv" = ["*.xsh"]
"xonsh.webconfig" = [
"*.html",
"js/app.min.js",
"js/bootstrap.min.css",
"js/LICENSE-bootstrap",
"js/xonsh_sticker.svg",
]
[project.entry-points]
pytest11 = { xonsh = "xonsh.pytest.plugin" }
[project.entry-points."pygments.lexers"]
xonsh = "xonsh.pyghooks:XonshLexer"
xonshcon = "xonsh.pyghooks:XonshConsoleLexer"
[project.entry-points."virtualenv.activate"]
xonsh = "xonsh.virtualenv:XonshActivator"
[project.urls]
Homepage = "https://xon.sh"
documentation = "https://xon.sh/contents.html"
repository = "https://github.com/xonsh/xonsh"
changelog = "https://github.com/xonsh/xonsh/blob/main/CHANGELOG.rst"
"Issue tracker" = "https://github.com/xonsh/xonsh/issues"
[project.optional-dependencies]
ptk = [
"prompt-toolkit>=3.0.29",
"pyperclip",
]
pygments = ["pygments>=2.2"]
mac = ["gnureadline"]
linux = ["distro"]
proctitle = ["setproctitle"]
full = [
"xonsh[ptk,pygments]",
"distro; platform_system=='Linux'",
"setproctitle; platform_system=='Windows'",
"gnureadline; platform_system=='Darwin'",
"ujson",
]
bestshell = [
"prompt_toolkit>=3.0.29",
"pygments>=2.2",
]
test = [
"xonsh[bestshell]",
"pytest>=7",
"restructuredtext_lint",
"pytest-cov",
"pytest-mock",
"pytest-timeout",
"pytest-subprocess",
"pytest-rerunfailures",
"prompt-toolkit>=3.0.29",
"pygments>=2.2",
"coverage>=5.3.1",
"pyte>=0.8.0",
"virtualenv>=20.16.2",
]
dev = [
"xonsh[test,doc]",
"pre-commit",
"re-ver",
"tomli",
]
doc = [
"xonsh[bestshell]",
"furo",
"numpydoc",
"sphinx<5,>=3.1",
"psutil",
"pyzmq",
"matplotlib",
"doctr",
"tornado",
"runthis-sphinxext",
"livereload",
"myst-parser",
]
[project.scripts]
xonsh = "xonsh.main:main"
xonsh-cat = "xonsh.xoreutils.cat:main"
xonsh-uname = "xonsh.xoreutils.uname:main"
xonsh-uptime = "xonsh.xoreutils.uptime:main"
[tool.black]
# better to keep default line-length than to match flake8
exclude = '''
( # exclude entire contents of these top level directories...
/( \.eggs
| \.git
| \.hg
| \.mypy
| _cache
| \.nox
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
)
|
( # and these additional random rules
/( __pycache__
| \.circleci
| \.github
| \.vscode
| \.pytest_cache
| ply
)/
)
'''
extend_exclude = '''
((xonsh/parser_table.py)|(xonsh/completion_parser_table.py))
'''
[tool.isort]
profile = "black"
extend_skip_glob = ["xonsh/*_table.py", "xonsh/ply/**.py"]
src_paths = ["xonsh", "xontrib", "xompletions", "tests"]
known_first_party = ["xonsh", "xontrib", "xompletions", "tests"]
known_third_party = ["ply", "pytest"]