Skip to content

Add tablemapREST Class for Table Expression Generator and Fix Issues in tablereduceREST #360

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jul 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
298 changes: 149 additions & 149 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,149 +1,149 @@
[project]
name = "ansys-dynamicreporting-core"
version = "0.10.2.dev0"
authors = [
{name = "ANSYS, Inc.", email = "[email protected]"},
]
maintainers = [
{name = "ANSYS, Inc.", email = "[email protected]"},
{name = "Ansys ADR Team", email = "[email protected]"},
]
description = "Python interface to Ansys Dynamic Reporting"
readme = "README.rst"
requires-python = ">=3.10"
keywords = ["dynamicreporting", "pydynamicreporting", "pyansys", "ansys"]
license = {text = "MIT"}
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"docker>=7.1.0",
"pypng>=0.20220715.0",
"requests>=2.32",
"urllib3<3.0.0",
"Pillow>=9.3.0",
"python-dateutil>=2.8.0",
"pytz>=2021.3",
"psutil>=6.0.0",
# core ADR dependencies
"django~=4.2",
"djangorestframework~=3.15",
"django-guardian~=2.4",
"tzlocal~=5.0",
"numpy>=1.23.5,<3",
"python-pptx>=0.6.19,<1",
"pandas>=2.0",
"statsmodels>=0.14",
"scipy<=1.15.3", # breaks ADR if not included. Remove when statsmodels is updated
"docutils>=0.21",
"psycopg[binary]>=3.2.3",
"qtpy>=2.4.3"
]
[tool.setuptools.packages.find]
where = ["src"]
include = ["ansys.dynamicreporting*"]
[project.urls]
homepage = "https://github.com/ansys/pydynamicreporting"
documentation = "https://dynamicreporting.docs.pyansys.com/"
changelog = "https://github.com/ansys/pydynamicreporting/blob/main/CHANGELOG.rst"
"Bug Tracker" = "https://github.com/ansys/pydynamicreporting/issues"
repository = "https://github.com/ansys/pydynamicreporting"
ci = "https://github.com/ansys/pydynamicreporting/actions"
[project.optional-dependencies]
test = [
"pytest>=8.3.3",
"pytest-cov>=6.0.0",
"pyvista==0.45.3",
"vtk==9.4.2",
"ansys-dpf-core==0.13.8",
]
doc = [
"ansys-sphinx-theme>=1.1.1",
"numpydoc>=1.8.0",
"Sphinx>=8.0.2",
"sphinx-copybutton>=0.5.2",
"sphinx-gallery>=0.18.0",
]
dev = [
"build",
"packaging",
"twine",
"ipdb",
"ipython",
"pre-commit>=4.0.1",
"black>=25.0.0",
"isort>=6.0.0",
]
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools>=75.8.0",
"setuptools-scm",
]
[tool.pytest.ini_options]
tmp_path_retention_policy = "failed"
testpaths = ["tests"]
addopts = "--capture=tee-sys --tb=native -p no:warnings -vv"
markers =[
"integration:Run integration tests",
"smoke:Run the smoke tests",
"unit:Run the unit tests",
"ado_test: subset of tests to be run in the ADO pipeline for ADR",
]
norecursedirs =[
".git",
".idea",
]
filterwarnings = [
"ignore:.+:DeprecationWarning"
]
[tool.coverage.run]
omit = ["*/ansys/dynamicreporting/core/adr_utils.py", "*/ansys/dynamicreporting/core/build_info.py"]
branch = true
[tool.coverage.report]
show_missing = true
ignore_errors = true
[tool.coverage.html]
show_contexts = true
[tool.black]
line-length = 100
[tool.isort]
profile = "black"
skip_gitignore = true
force_sort_within_sections = true
line_length = 100
default_section = "THIRDPARTY"
src_paths = ["doc", "src", "tests"]
[tool.codespell]
ignore-words = "doc/styles/Vocab/ANSYS/accept.txt"
skip = '*.pyc,*.xml,*.gif,*.png,*.jpg,*.js,*.html,doc/source/examples/**/*.ipynb,*.json,*.gz'
quiet-level = 3
[tool.bandit]
targets = ["src"]
recursive = true
number = 3
severity_level = "high"
require_serial = true
exclude_dirs = [ "venv/*","setup.py","test_cleanup.py","tests/*","doc/*" ]
[project]
name = "ansys-dynamicreporting-core"
version = "0.10.2.dev1"
authors = [
{name = "ANSYS, Inc.", email = "[email protected]"},
]

maintainers = [
{name = "ANSYS, Inc.", email = "[email protected]"},
{name = "Ansys ADR Team", email = "[email protected]"},
]
description = "Python interface to Ansys Dynamic Reporting"
readme = "README.rst"
requires-python = ">=3.10"
keywords = ["dynamicreporting", "pydynamicreporting", "pyansys", "ansys"]
license = {text = "MIT"}
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"docker>=7.1.0",
"pypng>=0.20220715.0",
"requests>=2.32",
"urllib3<3.0.0",
"Pillow>=9.3.0",
"python-dateutil>=2.8.0",
"pytz>=2021.3",
"psutil>=6.0.0",
# core ADR dependencies
"django~=4.2",
"djangorestframework~=3.15",
"django-guardian~=2.4",
"tzlocal~=5.0",
"numpy>=1.23.5,<3",
"python-pptx>=0.6.19,<1",
"pandas>=2.0",
"statsmodels>=0.14",
"scipy<=1.15.3", # breaks ADR if not included. Remove when statsmodels is updated
"docutils>=0.21",
"psycopg[binary]>=3.2.3",
"qtpy>=2.4.3"
]

[tool.setuptools.packages.find]
where = ["src"]
include = ["ansys.dynamicreporting*"]

[project.urls]
homepage = "https://github.com/ansys/pydynamicreporting"
documentation = "https://dynamicreporting.docs.pyansys.com/"
changelog = "https://github.com/ansys/pydynamicreporting/blob/main/CHANGELOG.rst"
"Bug Tracker" = "https://github.com/ansys/pydynamicreporting/issues"
repository = "https://github.com/ansys/pydynamicreporting"
ci = "https://github.com/ansys/pydynamicreporting/actions"

[project.optional-dependencies]
test = [
"pytest>=8.3.3",
"pytest-cov>=6.0.0",
"pyvista==0.45.3",
"vtk==9.4.2",
"ansys-dpf-core==0.13.8",
]
doc = [
"ansys-sphinx-theme>=1.1.1",
"numpydoc>=1.8.0",
"Sphinx>=8.0.2",
"sphinx-copybutton>=0.5.2",
"sphinx-gallery>=0.18.0",
]
dev = [
"build",
"packaging",
"twine",
"ipdb",
"ipython",
"pre-commit>=4.0.1",
"black>=25.0.0",
"isort>=6.0.0",
]

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

[tool.pytest.ini_options]
tmp_path_retention_policy = "failed"
testpaths = ["tests"]
addopts = "--capture=tee-sys --tb=native -p no:warnings -vv"
markers =[
"integration:Run integration tests",
"smoke:Run the smoke tests",
"unit:Run the unit tests",
"ado_test: subset of tests to be run in the ADO pipeline for ADR",
]
norecursedirs =[
".git",
".idea",
]
filterwarnings = [
"ignore:.+:DeprecationWarning"
]

[tool.coverage.run]
omit = ["*/ansys/dynamicreporting/core/adr_utils.py", "*/ansys/dynamicreporting/core/build_info.py"]
branch = true

[tool.coverage.report]
show_missing = true
ignore_errors = true

[tool.coverage.html]
show_contexts = true

[tool.black]
line-length = 100

[tool.isort]
profile = "black"
skip_gitignore = true
force_sort_within_sections = true
line_length = 100
default_section = "THIRDPARTY"
src_paths = ["doc", "src", "tests"]

[tool.codespell]
ignore-words = "doc/styles/Vocab/ANSYS/accept.txt"
skip = '*.pyc,*.xml,*.gif,*.png,*.jpg,*.js,*.html,doc/source/examples/**/*.ipynb,*.json,*.gz'
quiet-level = 3

[tool.bandit]
targets = ["src"]
recursive = true
number = 3
severity_level = "high"
require_serial = true
exclude_dirs = [ "venv/*","setup.py","test_cleanup.py","tests/*","doc/*" ]
1 change: 1 addition & 0 deletions src/ansys/dynamicreporting/core/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
GENERATOR_TYPES = (
"Generator:tablemerge",
"Generator:tablereduce",
"Generator:tablemap",
"Generator:tablerowcolumnfilter",
"Generator:tablevaluefilter",
"Generator:tablesortfilter",
Expand Down
2 changes: 2 additions & 0 deletions src/ansys/dynamicreporting/core/serverless/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
SQLQueryGenerator,
StatisticalGenerator,
TabLayout,
TableMapGenerator,
TableMergeGenerator,
TableMergeRCFilterGenerator,
TableMergeValueFilterGenerator,
Expand Down Expand Up @@ -70,6 +71,7 @@
"TableReduceGenerator",
"TableMergeRCFilterGenerator",
"TableMergeValueFilterGenerator",
"TableMapGenerator",
"TableSortFilterGenerator",
"TreeMergeGenerator",
"SQLQueryGenerator",
Expand Down
5 changes: 5 additions & 0 deletions src/ansys/dynamicreporting/core/serverless/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class ReportType(StrEnum):
# Generators
TABLE_MERGE_GENERATOR = "Generator:tablemerge"
TABLE_REDUCE_GENERATOR = "Generator:tablereduce"
TABLE_MAP_GENERATOR = "Generator:tablemap"
TABLE_ROW_COLUMN_FILTER_GENERATOR = "Generator:tablerowcolumnfilter"
TABLE_VALUE_FILTER_GENERATOR = "Generator:tablevaluefilter"
TABLE_SORT_FILTER_GENERATOR = "Generator:tablesortfilter"
Expand Down Expand Up @@ -623,6 +624,10 @@ class TableReduceGenerator(Generator):
report_type: str = ReportType.TABLE_REDUCE_GENERATOR


class TableMapGenerator(Generator):
report_type: str = ReportType.TABLE_MAP_GENERATOR


class TableMergeRCFilterGenerator(Generator):
report_type: str = ReportType.TABLE_ROW_COLUMN_FILTER_GENERATOR

Expand Down
Loading