pyproject.toml

Mon, 29 Jul 2024 14:43:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 29 Jul 2024 14:43:35 +0200
branch
eric7-maintenance
changeset 10873
4e8e63df7893
parent 10814
ba20efe10336
parent 10868
ca5cd7faaf5e
child 11019
27cd57e98461
permissions
-rw-r--r--

Merged with branch 'eric7' in order to prepare a new release.

[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "eric-ide"
description = "eric7 is an integrated development environment for the Python language."
readme = "docs/README.md"
license = {text = "GPLv3"}
authors = [
    {name = "Detlev Offenbach"},
    {name = "Detlev Offenbach", email = "detlev@die-offenbachs.de"},
]
maintainers = [
    {name = "Detlev Offenbach"},
    {name = "Detlev Offenbach", email = "detlev@die-offenbachs.de"},
]
classifiers = [
    "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
    "Development Status :: 5 - Production/Stable",
    "Environment :: MacOS X",
    "Environment :: Win32 (MS Windows)",
    "Environment :: X11 Applications",
    "Environment :: X11 Applications :: Qt",
    "Intended Audience :: Developers",
    "Intended Audience :: End Users/Desktop",
    "Natural Language :: English",
    "Natural Language :: German",
    "Natural Language :: Russian",
    "Natural Language :: Spanish",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows :: Windows 10",
    "Operating System :: Microsoft :: Windows :: Windows 11",
    "Operating System :: POSIX :: BSD",
    "Operating System :: POSIX :: BSD :: FreeBSD",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: Implementation :: CPython",
    "Topic :: Internet :: WWW/HTTP :: Browsers",
    "Topic :: Software Development",
    "Topic :: Software Development :: Debuggers",
    "Topic :: Software Development :: Testing :: Unit",
    "Topic :: Software Development :: Version Control :: Git",
    "Topic :: Software Development :: Version Control :: Mercurial",
    "Topic :: Text Editors :: Integrated Development Environments (IDE)",
]
keywords = [
    "Development",
    "PyQt6",
    "IDE",
    "Python3", 
]
requires-python = ">=3.8, <3.13"
dependencies = [
    "pip>=21.1",
    "wheel",
    "PyQt6>=6.2.0",
    "PyQt6-Charts>=6.2.0",
    "PyQt6-WebEngine>=6.2.0",
    "PyQt6-QScintilla>=2.13.0",
    "docutils",
    "Markdown",
    "esprima",
    "pyyaml",
    "tomlkit",
    "chardet",
    "asttokens",
    "EditorConfig",
    "Pygments",
    "parso",
    "jedi",
    "packaging",
    "cyclonedx-python-lib",
    "cyclonedx-bom",
    "trove-classifiers",
    "black>=22.6.0",
    "isort>=5.10.0",
    "coverage>=6.5.0",
    "semver",
    "pipdeptree",
    "watchdog>= 3.0.0",
    "psutil",
    "fido2",
    "pywin32>=1.0;platform_system=='Windows'",
    "command-runner;platform_system=='Windows'",
]
dynamic = ["version"]

[project.urls]
Homepage = "https://eric-ide.python-projects.org"
Donation = "https://www.paypal.com/donate/?hosted_button_id=XG3RSPKE3YAJ2"
"Issues Tracker" = "https://tracker.die-offenbachs.homelinux.org/"
"Source Code" = "https://hg.die-offenbachs.homelinux.org/eric/"
Download = "https://sourceforge.net/projects/eric-ide/files/latest/download"
"Mailing List" = "https://www.riverbankcomputing.com/mailman/listinfo/eric"
News = "https://eric-ide.python-projects.org/eric-news.html"

[project.scripts]
eric7_api = "eric7.eric7_api:main"
eric7_doc = "eric7.eric7_doc:main"
eric7_post_install = "eric7.eric7_post_install:main"
eric7_server =  "eric7.eric7_server:main"

[project.gui-scripts]
eric7_browser = "eric7.eric7_browser:main"
eric7_compare = "eric7.eric7_compare:main"
eric7_configure = "eric7.eric7_configure:main"
eric7_diff = "eric7.eric7_diff:main"
eric7_editor = "eric7.eric7_editor:main"
eric7_fido2 = "eric7.eric7_fido2:main"
eric7_hexeditor = "eric7.eric7_hexeditor:main"
eric7_iconeditor = "eric7.eric7_iconeditor:main"
eric7_ide = "eric7.eric7_ide:main"
eric7_mpy = "eric7.eric7_mpy:main"
eric7_pdf = "eric7.eric7_pdf:main"
eric7_pip = "eric7.eric7_pip:main"
eric7_plugininstall = "eric7.eric7_plugininstall:main"
eric7_pluginrepository = "eric7.eric7_pluginrepository:main"
eric7_pluginuninstall = "eric7.eric7_pluginuninstall:main"
eric7_qregularexpression = "eric7.eric7_qregularexpression:main"
eric7_re = "eric7.eric7_re:main"
eric7_shell = "eric7.eric7_shell:main"
eric7_snap = "eric7.eric7_snap:main"
eric7_sqlbrowser = "eric7.eric7_sqlbrowser:main"
eric7_testing = "eric7.eric7_testing:main"
eric7_tray = "eric7.eric7_tray:main"
eric7_trpreviewer = "eric7.eric7_trpreviewer:main"
eric7_uipreviewer = "eric7.eric7_uipreviewer:main"
eric7_virtualenv = "eric7.eric7_virtualenv:main"

#
# setuptools specific parts below
#

[tool.setuptools]
platforms = [
    "FreeBSD",
    "Linux",
    "macOS",
    "Windows",
]
include-package-data = false

[tool.setuptools.dynamic]
version = {attr = "eric7.__version__.VersionOnly"}

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
"*" = [
    "*.png",
    "*.svg",
    "*.xpm",
    "*.ico",
    "*.gif",
    "*.icns",
    "*.txt",
    "*.md",
    "*.rst",
    "*.tmpl",
    "*.html",
    "*.qch",
    "*.css",
    "*.scss",
    "*.qss",
    "*.ehj",
    "*.ethj",
    "*.api",
    "*.bas",
    "*.dat",
    "*.xbel",
    "*.xml",
    "*.js",
    "*.json",
    "*.yaml",
    "*.desktop",
]
# complete translation files only
"eric7.i18n" = [
    "eric7_de.qm",
    "eric7_en.qm",
    "eric7_es.qm",
    "eric7_ru.qm",
]

#
# black and isort specific parts below
#

[tool.black]
target-version = ["py38", "py39", "py310", "py311", "py312", "py313"]
line-length = 88
extend-exclude = '''
/(
    Examples/
    | ThirdParty/
    | coverage/
    | Ui_.*\.py
    | pycodestyle\.py
    | pyflakes/
    | mccabe\.py
    | eradicate\.py
    | ast_unparse\.py
    | piplicenses\.py
)
'''

[tool.isort]
profile = "black"
sort_order = "natural"
supported_extensions = ["py", "pyi", "pyx", "pxd", "pyw"]
lines_between_types = 1
extend_skip_glob = [
    "*/Examples/*",
    "*/ThirdParty/*",
    "*/Ui_*.py",
    "*/pycodestyle.py",
    "*/pyflakes/*",
    "*/mccabe.py",
    "*/eradicate.py",
    "*/ast_unparse.py",
    "*/piplicenses.py",
]
combine_as_imports = true
#
#known_first_party = ["eric7"]
#import_heading_stdlib = "Standard Library"
#import_heading_firstparty = "eric7 Modules"

eric ide

mercurial