GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — DynamicObject support script no longer working since version 3.1.0rc0 · Issue #2696 · pythonnet/pythonnet

DynamicObject support script no longer working since version 3.1.0rc0 #2696

New issue
Copy link
New issue
Copy link
Closed
#2706
Closed
DynamicObject support script no longer working since version 3.1.0rc0#2696
#2706
Copy link
Milestone
3.1.0

Description

@spkl
spkl
opened on Mar 19, 2026
Issue body actions

A long while ago, @filmor created a script that could be used to enable accessing DynamicObjects from Python as a workaround for issue #72 . Since then, this has worked beautifully up to version 3.0.5 and seemed to be a mature solution, even without direct support for DLR types in pythonnet.

With version 3.1.0rc0, this approach stopped working. When trying to access a dynamic property, I get AttributeError: 'Class1' object has no attribute 'SomePropertyFromDynamicObject'. It seems like the injected __getattr__ function is not called.

Python 3.12, pythonnet 3.0.5 - working
Python 3.12, pythonnet 3.1.0rc0 - not working
Python 3.14, pythonnet 3.1.0rc0 - not working

I have attached a C# project and python script to reproduce the issue. Build the C# solution, then run the test_dynamic_access.py script. It tests the DynamicObject-based approach, as well as our own, simplified version of it (that also stopped working).

DynamicObjectIssueRepro.zip

This feature is very important to us, so I hope that a fix is feasible. Let me know if I can do anything to support.

Activity

  1. filmor commented on Mar 19, 2026

    @filmor
    filmor
    on Mar 19, 2026
    Member
    More actions

    The problematic commit is 08550d0.

    /edit
    So, as a short-term measure, I could adjust the code to only run the workaround for Python 3.14, but I'll investigate whether I can find a solution that works for all versions.

  2. filmor
    added this to the 3.1.0 milestone on Mar 19, 2026
  3. spkl commented on Mar 20, 2026

    @spkl
    spkl
    on Mar 20, 2026
    Author
    More actions

    /edit So, as a short-term measure, I could adjust the code to only run the workaround for Python 3.14, but I'll investigate whether I can find a solution that works for all versions.

    Just FYI: For us, a fix that only restores the functionality with older Python versions wouldn't really help, because we could just stay on pythonnet 3.0.5, but we need to use Python 3.14 😮‍💨

  4. filmor
    closed this as completedin #2706on May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      • 3.1.0

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.