Skip to content

autodesk-platform-services/aps-dx-graphql-workflow-python

Repository files navigation

Data Exchange Workflow Bench

ver pep8

Stackoverflow License

Description

This is a Python sample built as a visual dataflow editor: drag nodes onto a canvas, wire them together, and run the graph against the Autodesk Platform Services (APS) Data Exchange GraphQL API. The code is organized so each node type maps clearly to the query it runs — readability and comprehension come first, not compactness.

Built as a Flask app with APS 3-legged sign-in. For project structure, node types, how to read the code, and extending the app, see other_info.md.

Thumbnail

thumbnail

Dependencies

  • Python: Download Python. It is required to use Python >= 3.13 (see pyproject.toml).
  • uv: Used to install dependencies and run the app (uv sync, uv run).
  • APS Account: Learn how to create an APS Account, activate subscription and create an app at this tutorial.

Running locally

Create an app at https://aps.autodesk.com/myapps with a callback URL of http://localhost:5000/oauth/callback.

Within the project folder:

  1. Install dependencies:
    uv sync
  1. Configure credentials:
    cp .env.example .env

Edit .env and set APS_CLIENT_ID and APS_CLIENT_SECRET. Optional: adjust APS_REDIRECT_URI, APS_SCOPE, PORT, and FLASK_SECRET_KEY.

  1. Start the app:
    uv run python run.py

Open http://localhost:5000/ in a browser.

The landing page shows Sign In with Autodesk until you have a session; once signed in, the flow editor opens at /.

Use Log Off to return to the landing page.

Each API-backed node has a Get the GraphQL query button that shows the query, example variables, and required headers. You can also export a flow as a standalone Python script from the toolbar (Export as Python code).

Known issues

  • Access tokens are not auto-refreshed; sessions expire after ~1 hour. If you add the viewables:read scope for Viewer Output, log in again after changing APS_SCOPE.

Further Reading

License

These samples are licensed under the terms of the MIT License. Please see the LICENSE file for full details.

Authors

Denis Grigor (denis.grigor@autodesk.com), APS Partner Development

See more at Developer Community Blog.

About

Illustration of use of Data Exchange GraphQL API in a Python project

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages