Skip to content

temporal: Update and vendor ply dependency per repo's instructions as no longer published #5942

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

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

echoix
Copy link
Member

@echoix echoix commented Jun 22, 2025

Closes #5917

I updated my old branch that updated the ply dependency with a vendored copy, as per the author's instructions.

Tests still pass in CI, and it is also adjusted to be built with CMake. The dependency is removed from the various lists.

@echoix echoix requested a review from wenzeslaus June 22, 2025 15:16
@github-actions github-actions bot added windows Microsoft Windows specific macOS macOS specific linux Linux specific docker Docker related CI Continuous integration temporal Related to temporal data processing Python Related code is in Python HTML Related code is in HTML libraries module docs markdown Related to markdown, markdown files CMake labels Jun 22, 2025
for n, s in enumerate(syms):
if s[0] in "'\"":
try:
c = eval(s)

Check warning

Code scanning / Bandit

Use of possibly insecure function - consider using safer ast.literal_eval. Warning

Use of possibly insecure function - consider using safer ast.literal_eval.
@nilason
Copy link
Contributor

nilason commented Jun 22, 2025

PLY comes with ctypesgen (https://github.com/OSGeo/grass/tree/main/python/libgrass_interface_generator/ctypesgen/parser). Not sure if we should use that one instead…

@echoix
Copy link
Member Author

echoix commented Jun 22, 2025

PLY comes with ctypesgen (https://github.com/OSGeo/grass/tree/main/python/libgrass_interface_generator/ctypesgen/parser). Not sure if we should use that one instead…

At the time, I didn't want to couple the ply version from ctypesgen into our runtime code. Its already hard enough to get ctypesgen updated, so I left their version alone, it works with their code. Ply, in the python grass.temporal code, is distributed at runtime. I think ctypesgen is meant to be a compile-time tool, and not really distributed.

for n, s in enumerate(syms):
if s[0] in "'\"":
try:
c = eval(s)

Check warning

Code scanning / Bandit

Use of possibly insecure function - consider using safer ast.literal_eval.

Use of possibly insecure function - consider using safer ast.literal_eval.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous integration CMake docker Docker related docs HTML Related code is in HTML libraries linux Linux specific macOS macOS specific markdown Related to markdown, markdown files module Python Related code is in Python temporal Related to temporal data processing windows Microsoft Windows specific
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Skip temporal algebra tests when ply is not installed
2 participants