2021-01-26 20:37:27 -05:00
[ tool . poetry ]
name = "gaphor"
2021-09-05 16:09:32 -04:00
version = "2.6.0"
2021-01-26 20:37:27 -05:00
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" ,
]
2021-03-13 15:37:12 +01:00
exclude = [ "**/tests" , "gaphor/conftest.py" ]
2021-01-26 20:37:27 -05:00
[ tool . poetry . dependencies ]
2021-07-13 13:00:56 +01:00
python = "^3.9"
2021-01-26 20:37:27 -05:00
pycairo = "^1.18"
PyGObject = "^3.30"
2021-03-19 23:24:49 +01:00
gaphas = "^3.1.0"
2021-04-19 20:32:46 -04:00
importlib_metadata = ">=1.4,<5.0"
2021-01-26 20:37:27 -05:00
typing_extensions = "^3.7.4"
generic = "^1.0.0"
tinycss2 = "^1.0.2"
2021-08-14 19:51:37 -04:00
pyinstaller = { version = "^4.3" , optional = true }
pyinstaller-versionfile = { version = "^2.0.0" , optional = true }
poethepoet = { version = "^0.10.0" , optional = true }
2021-09-04 16:12:24 -04:00
tomli = { version = "^1.2" , optional = true }
2021-01-26 20:37:27 -05:00
[ tool . poetry . dev-dependencies ]
2021-09-04 16:12:24 -04:00
tomli = "^1.2"
2021-01-26 20:37:27 -05:00
pytest = "^6.2"
2021-05-17 06:14:02 +00:00
pytest-cov = "^2.12"
2021-05-08 13:30:51 -04:00
pytest-mock = "^3.6.1"
2021-02-12 21:37:24 -05:00
pytest-runner = "^5.3"
2021-09-14 20:07:53 -04:00
black = "^21.9b0"
2021-06-25 08:48:46 -04:00
mypy = "0.910"
2021-09-03 22:34:59 -04:00
pre-commit = "^2.15"
2021-07-12 18:22:28 -04:00
sphinx = "^4.1"
2021-09-04 16:11:38 -04:00
myst-parser = "^0.15"
2021-09-13 20:41:09 -04:00
sphinx-rtd-theme = "^1.0"
2021-08-08 14:15:58 -04:00
sphinxcontrib-images = "^0.9.4"
2021-05-01 13:25:08 -04:00
babel = "^2.9.1"
2021-01-26 20:37:27 -05:00
babelgladeextractor = "^0.7"
2021-03-15 06:26:34 +00:00
flake8 = "^3.9"
2021-06-25 12:03:05 -04:00
isort = "^5.9"
2021-07-18 14:12:57 -04:00
poethepoet = "^0.10.0"
2021-01-26 20:37:27 -05:00
2021-08-14 19:51:37 -04:00
[ tool . poetry . extras ]
2021-09-04 16:12:24 -04:00
pyinstall = [ "poethepoet" , "pyinstaller" , "pyinstaller-versionfile" , "tomli" ]
2021-09-06 10:10:03 -04:00
poethepoet = [ "poethepoet" ]
2021-08-14 19:51:37 -04:00
2021-01-26 20:37:27 -05:00
[ tool . poetry . scripts ]
2021-07-18 22:19:00 -04:00
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"
2021-08-14 19:51:37 -04:00
install-nodev = "poetry install --no-dev"
install-pyinstall = "poetry install --no-dev --extras pyinstall"
2021-07-18 22:19:00 -04:00
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 = [
2021-07-22 21:30:17 -04:00
{ "cmd" = "python gaphor/codegen/codegen.py --uml_profile models/C4Model.gaphor gaphor/C4Model/c4model.py models/C4Model.override" } ,
2021-07-18 22:19:00 -04:00
{ "cmd" = "mypy gaphor/C4Model" } ,
{ "cmd" = "isort gaphor/C4Model" } ,
2021-07-22 21:30:17 -04:00
{ "cmd" = "black gaphor/C4Model/c4model.py" } ,
2021-07-18 22:19:00 -04:00
]
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" }
2021-07-31 23:13:09 -04:00
pyinstall = { "script" = "packaging.make-script:make_pyinstaller" }
2021-09-06 19:51:36 -04:00
package = [ "install-pyinstall" , "gaphor-script" , "version-file" , "pyinstall" ]
2021-07-18 22:19:00 -04:00
win-installer = { "script" = "packaging.windows.build-win-installer:main" }
2021-07-24 22:13:42 -04:00
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" ]
2021-01-26 20:37:27 -05:00
2021-08-07 15:32:34 -04:00
[ tool . poe . executor ]
type = "virtualenv"
2021-01-26 20:37:27 -05:00
[ tool . poetry . plugins . "gaphor.appservices" ]
"event_manager" = "gaphor.core.eventmanager:EventManager"
"session" = "gaphor.services.session:Session"
"help" = "gaphor.services.helpservice:HelpService"
"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"
2021-04-18 12:21:13 +02:00
"consolewindow" = "gaphor.plugins.console.consolewindow:ConsoleWindow"
2021-01-26 20:37:27 -05:00
"elementeditor" = "gaphor.ui.elementeditor:ElementEditor"
"diagram_export" = "gaphor.plugins.diagramexport:DiagramExport"
"xmi_export" = "gaphor.plugins.xmiexport:XMIExport"
[ tool . poetry . plugins . "gaphor.modelinglanguages" ]
"UML" = "gaphor.UML.modelinglanguage:UMLModelingLanguage"
"SysML" = "gaphor.SysML.modelinglanguage:SysMLModelingLanguage"
2021-02-12 22:42:27 +01:00
"C4Model" = "gaphor.C4Model.modelinglanguage:C4ModelLanguage"
2021-02-18 21:47:14 -05:00
"RAAML" = "gaphor.RAAML.modelinglanguage:RAAMLModelingLanguage"
2021-01-26 20:37:27 -05:00
[ 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" , "importlib_metadata" , "pytest" , "recommonmark" , "tinycss2" , "tomlkit" , "typing_extensions" ]
skip = "flatpak,.venv,build,dist"
2021-06-08 21:43:43 -04:00
skip_glob = "gaphor/diagram/general/__init__.py,gaphor/UML/__init__.py,gaphor/UML/*/__init__.py,gaphor/RAAML/stpa/__init__.py"
2021-01-26 20:37:27 -05:00
[ build-system ]
requires = [ "poetry-core>=1.0.0" ]
build-backend = "poetry.core.masonry.api"