Skip to content

servable dependency uses Python 2 syntax, causing import errors #42

@bmander

Description

@bmander

Problem

The servable package dependency uses Python 2 syntax which causes syntax errors when importing the graphcrawler module:

File "/workspaces/graphserver/pygs/graphserver/ext/graphcrawler.py", line 4, in <module>
  from servable import Servable
File "/usr/local/python/3.12.1/lib/python3.12/site-packages/servable.py", line 134
  print "starting HTTP server"
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Impact

This prevents the CLI from loading and blocks testing of the migrated click-based commands.

Potential Solutions

  1. Find a Python 3 compatible version of servable
  2. Replace servable with a modern alternative (like Flask)
  3. Make the graphcrawler import optional with proper error handling
  4. Vendor/fork servable and fix the Python 3 compatibility issues

Workaround

For now, we could make the graphcrawler import optional to allow testing other CLI commands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions