Skip to content

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

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