Where do I submit Canvas DAP Client bug reports? (or pull requests)

Jump to solution
Jo-lCollins
Community Member

The Issue:

The Instructure DAP Client relies on open source software called json-strong-typing. This software was updated one month ago (git blame link) that causes an unavoidable breakage in the instructure dap client. The software update was made by an instructure developer (Levente Hunyadi Github Profile)

Questions for Instructure:

Currently, the DAP Client source code is not publicly available, or if it is a link is not provided in the documentation.

  1. Is there a preferred way to submit bug reports for this project?
  2. Can the github repository be made public?
  3. Regardless of whether or not the repository can be made public, can the requirements.txt be published?

Error Solution

If you are using the DAP Client and you're receiving the error message TypeError: missing context for evaluating type: ForwardRef('JsonType')

For those who have installed the Instructure DAP Client on/after Dec 4, 2023, you will need to install the previously released version of json-strong-typing

 

pip install json-strong-typing==0.2.9

 

 

 

 

 

 

 

 

Labels (3)
0 Likes
1 Solution
LeventeHunyadi
Instructure
Instructure

We will be releasing a patch version in the 0.3.x series of instructure-dap-client that will pin the dependency to

json-strong-typing==0.2.9

As of today, we don't plan on publishing version series 0.3.x of instructure-dap-client as a GitHub project. The team is actively working on the next-generation client library series 0.4.x, which has entered the testing phase. While the CLI commands of 0.3.x and 0.4.x are the same, database connectivity has been completely re-written. This provides improved robustness and faster execution speed (up to 5x the speed of the current client as per our measurements).

Is there a preferred way to submit bug reports for this project?

Bug reports for instructure-dap-client should go through Instructure support.

Can the github repository be made public?

We are evaluating to publish version series 0.4.x of instructure-dap-client as an open-source repository on GitHub. Unfortunately, we don't have a decision or target date yet.

Both 0.3.x and 0.4.x versions of instructure-dap-client are pure Python packages, and available with source code. Once you install with pip, you can freely browse the source code on your machine.

Regardless of whether or not the repository can be made public, can the requirements.txt be published?

This is what the relevant part of setup.cfg looks like in instructure-dap-client version 0.3.17:

[options]
zip_safe = True
include_package_data = True
packages = find:
python_requires = >=3.8
install_requires =
aiohttp >= 3.8.4
aiohttp-retry >= 2.8.3
aiofiles >= 23.1.0
types-aiofiles >= 23.1.0
json_strong_typing >= 0.2.8
orjson >= 3.9.1
PyJWT >= 2.7.0
asyncpg >= 0.27.0
SQLAlchemy[asyncio] >= 2.0.16
aiomysql >= 0.2.0

This requirement list will change significantly in instructure-dap-client version 0.4.x.

View solution in original post