d3603c5a34
This reverts commit 93fd1f5c50
.
195 lines
7.0 KiB
TOML
195 lines
7.0 KiB
TOML
[tool.poetry]
|
|
name = "gaphor"
|
|
version = "2.6.4"
|
|
description = "Gaphor is the simple modeling tool written in Python."
|
|
authors = [
|
|
"Arjan J. Molenaar <gaphor@gmail.com>",
|
|
"Dan Yeaw <dan@yeaw.me>"
|
|
]
|
|
|
|
readme = "README.md"
|
|
|
|
homepage = "https://gaphor.org/"
|
|
repository = "https://github.com/gaphor/gaphor"
|
|
documentation = "https://gaphor.readthedocs.io/"
|
|
|
|
keywords = ["gtk+", "diagram", "UML", "MBSE", "gaphor", "modeling"]
|
|
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: X11 Applications :: GTK",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Intended Audience :: Information Technology",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX",
|
|
"Operating System :: Unix",
|
|
"Programming Language :: Python",
|
|
"Topic :: Multimedia :: Graphics :: Editors :: Vector-Based",
|
|
"Topic :: Software Development :: Documentation",
|
|
]
|
|
|
|
include = ["gaphor/locale/*/LC_MESSAGES/*"]
|
|
exclude = ["**/tests", "gaphor/conftest.py" ]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.9"
|
|
pycairo = "^1.18"
|
|
PyGObject = "^3.30"
|
|
gaphas = "^3.1.0"
|
|
generic = "^1.0.0"
|
|
tinycss2 = "^1.0.2"
|
|
pyinstaller = { version = "^4.3", optional = true }
|
|
pyinstaller-versionfile = { version = "^2.0.0", optional = true }
|
|
poethepoet = { version = "^0.10.0", optional = true }
|
|
tomli = { version = "^1.2", optional = true }
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
tomli = "^1.2"
|
|
pytest = "^6.2"
|
|
pytest-cov = "^2.12"
|
|
pytest-mock = "^3.6.1"
|
|
pytest-runner = "^5.3"
|
|
black = "^21.9b0"
|
|
mypy = "0.910"
|
|
pre-commit = "^2.15"
|
|
sphinx = "^4.1"
|
|
myst-parser = "^0.15"
|
|
sphinx-rtd-theme = "^1.0"
|
|
sphinxcontrib-images = "^0.9.4"
|
|
babel = "^2.9.1"
|
|
babelgladeextractor = "^0.7"
|
|
flake8 = "^3.9"
|
|
isort = "^5.9"
|
|
poethepoet = "^0.10.0"
|
|
|
|
[tool.poetry.extras]
|
|
pyinstall = ["poethepoet", "pyinstaller", "pyinstaller-versionfile", "tomli"]
|
|
poethepoet = ["poethepoet"]
|
|
|
|
[tool.poetry.scripts]
|
|
gaphor = "gaphor.ui:main"
|
|
gaphorconvert = "gaphor.plugins.diagramexport.gaphorconvert:main"
|
|
|
|
[tool.poe.tasks]
|
|
test = "pytest -m 'not slow'"
|
|
test-all = "pytest --cov=gaphor/"
|
|
dist = "poetry build"
|
|
install = "poetry install"
|
|
install-nodev = "poetry install --no-dev"
|
|
install-pyinstall = "poetry install --no-dev --extras pyinstall"
|
|
coremodel = [
|
|
{ "cmd" = "gaphor/codegen/codegen.py models/Core.gaphor gaphor/core/modeling/coremodel.py models/Core.override" },
|
|
{ "cmd" = "black gaphor/core/modeling/coremodel.py" },
|
|
{ "cmd" = "mypy gaphor/core/modeling" },
|
|
{ "cmd" = "isort gaphor/core/modeling/coremodel.py" },
|
|
]
|
|
uml = [
|
|
{ "cmd" = "python gaphor/codegen/codegen.py models/UML.gaphor gaphor/UML/uml.py models/UML.override" },
|
|
{ "cmd" = "mypy gaphor/UML" },
|
|
{ "cmd" = "isort gaphor/UML" },
|
|
{ "cmd" = "black gaphor/UML/uml.py" },
|
|
]
|
|
sysml = [
|
|
{ "cmd" = "python gaphor/codegen/codegen.py --uml_profile models/SysML.gaphor gaphor/SysML/sysml.py models/SysML.override" },
|
|
{ "cmd" = "black gaphor/SysML/sysml.py" },
|
|
{ "cmd" = "isort gaphor/SysML" },
|
|
{ "cmd" = "mypy gaphor/SysML" },
|
|
]
|
|
raaml = [
|
|
{ "cmd" = "python gaphor/codegen/codegen.py --sysml_profile models/RAAML.gaphor gaphor/RAAML/raaml.py models/RAAML.override" },
|
|
{ "cmd" = "mypy gaphor/RAAML" },
|
|
{ "cmd" = "isort gaphor/RAAML" },
|
|
{ "cmd" = "black gaphor/RAAML/raaml.py" },
|
|
]
|
|
c4model = [
|
|
{ "cmd" = "python gaphor/codegen/codegen.py --uml_profile models/C4Model.gaphor gaphor/C4Model/c4model.py models/C4Model.override" },
|
|
{ "cmd" = "mypy gaphor/C4Model" },
|
|
{ "cmd" = "isort gaphor/C4Model" },
|
|
{ "cmd" = "black gaphor/C4Model/c4model.py" },
|
|
]
|
|
lint = "pre-commit run --all-files"
|
|
docs = "sphinx-build docs docs/_build/html"
|
|
clean = { "shell" = "rm -rf dist build packaging/dist packaging/build packaging/windows/file_version_info.txt packaging/gaphor-script.py docs/_build" }
|
|
gaphor-script = { "script" = "packaging.make-script:make_gaphor_script" }
|
|
version-file = { "script" = "packaging.make-script:make_file_version_info" }
|
|
pyinstall = { "script" = "packaging.make-script:make_pyinstaller" }
|
|
package = ["install-pyinstall", "gaphor-script", "version-file", "pyinstall"]
|
|
win-installer = { "script" = "packaging.windows.build-win-installer:main" }
|
|
gettext-pot = "pybabel extract -o po/gaphor.pot -F po/babel.ini gaphor"
|
|
gettext-po = { "script" = "po.build-babel:update_po_files" }
|
|
gettext-mo = { "script" = "po.build-babel:compile_mo_files" }
|
|
update-translations = ["gettext-pot", "gettext-po", "gettext-mo"]
|
|
|
|
[tool.poe.executor]
|
|
type = "virtualenv"
|
|
|
|
[tool.poetry.plugins."gaphor.appservices"]
|
|
"event_manager" = "gaphor.core.eventmanager:EventManager"
|
|
"app_file_manager" = "gaphor.ui.appfilemanager:AppFileManager"
|
|
|
|
[tool.poetry.plugins."gaphor.services"]
|
|
"component_registry" = "gaphor.services.componentregistry:ComponentRegistry"
|
|
"event_manager" = "gaphor.core.eventmanager:EventManager"
|
|
"properties" = "gaphor.services.properties:Properties"
|
|
"undo_manager" = "gaphor.services.undomanager:UndoManager"
|
|
"element_factory" = "gaphor.core.modeling:ElementFactory"
|
|
"element_dispatcher" = "gaphor.core.modeling.elementdispatcher:ElementDispatcher"
|
|
"modeling_language" = "gaphor.services.modelinglanguage:ModelingLanguageService"
|
|
"file_manager" = "gaphor.ui.filemanager:FileManager"
|
|
"recent_files" = "gaphor.ui.recentfiles:RecentFiles"
|
|
"main_window" = "gaphor.ui.mainwindow:MainWindow"
|
|
"export_menu" = "gaphor.ui.menufragment:MenuFragment"
|
|
"tools_menu" = "gaphor.ui.menufragment:MenuFragment"
|
|
"copy" = "gaphor.services.copyservice:CopyService"
|
|
"sanitizer" = "gaphor.UML.sanitizerservice:SanitizerService"
|
|
"namespace" = "gaphor.ui.namespace:Namespace"
|
|
"toolbox" = "gaphor.ui.toolbox:Toolbox"
|
|
"diagrams" = "gaphor.ui.diagrams:Diagrams"
|
|
"consolewindow" = "gaphor.plugins.console.consolewindow:ConsoleWindow"
|
|
"elementeditor" = "gaphor.ui.elementeditor:ElementEditor"
|
|
"diagram_export" = "gaphor.plugins.diagramexport:DiagramExport"
|
|
"xmi_export" = "gaphor.plugins.xmiexport:XMIExport"
|
|
"help" = "gaphor.services.helpservice:HelpService"
|
|
|
|
[tool.poetry.plugins."gaphor.modelinglanguages"]
|
|
"UML" = "gaphor.UML.modelinglanguage:UMLModelingLanguage"
|
|
"SysML" = "gaphor.SysML.modelinglanguage:SysMLModelingLanguage"
|
|
"C4Model" = "gaphor.C4Model.modelinglanguage:C4ModelLanguage"
|
|
"RAAML" = "gaphor.RAAML.modelinglanguage:RAAMLModelingLanguage"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = [
|
|
"gaphor",
|
|
"tests",
|
|
"docs",
|
|
]
|
|
python_files = "test_*.py"
|
|
|
|
# for coverage: --cov=gaphor/
|
|
addopts = "--doctest-modules"
|
|
|
|
junit_family = "xunit1"
|
|
markers = "slow: marks tests as slow (deselect with '-m \"not slow\"')"
|
|
|
|
[tool.coverage.run]
|
|
omit = [
|
|
"*tests*",
|
|
]
|
|
|
|
[tool.isort]
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
force_grid_wrap = 0
|
|
use_parentheses = true
|
|
line_length = 88
|
|
known_third_party = ["cairo", "gaphas", "generic", "gi", "pytest", "tinycss2", "tomli"]
|
|
skip = "flatpak,.venv,build,dist"
|
|
skip_glob = "gaphor/diagram/general/__init__.py,gaphor/UML/__init__.py,gaphor/UML/*/__init__.py,gaphor/RAAML/stpa/__init__.py"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|