René's URL Explorer Experiment


Title: Proposal: Implement binding manager to hold binding overrides by koubaa · Pull Request #2543 · pythonnet/pythonnet · GitHub

Open Graph Title: Proposal: Implement binding manager to hold binding overrides by koubaa · Pull Request #2543 · pythonnet/pythonnet

X Title: Proposal: Implement binding manager to hold binding overrides by koubaa · Pull Request #2543 · pythonnet/pythonnet

Description: What does this implement/fix? Explain your changes. This adds a place to register at runtime options to customize the binding of types. This customization can be specified at a type or assembly level. Does this close any currently open issues? No, but it can be used as a way to close issues going forwards - especially in cases where there is disagreement about what the correct way to bind to python, or if there are legacy compatibility reasons to bind in a way that is not the default way. For example, in the ansys-pythonnet fork, this is proposed to be used in two ways: to bind properties and methods coming from explicit interface implementation in order to satisfy a requirement in one library for compatibility with legacy IronPython scripts. In IronPython, explicit interface implementations are provided in Python, even when that is not the idiomatic choice. to automatically add pep8 aliases, allowing python code to use normal python style even when the C# library uses the normal C# style. As this is just a proposal - I will move forward with the checklist if the maintainers of pythonnet agree with the direction. Example usage (from python) m = clr.AddReference('MyLib') from Python.Runtime import BindingManager, BindingOptions binding_options = BindingOptions() binding_options.SuppressDocs = True BindingManager.SetBindingOptions(m, binding_options) Checklist Check all those that are applicable and complete. Make sure to include one or more tests for your change If an enhancement PR, please create docs and at best an example Ensure you have signed the .NET Foundation CLA Add yourself to AUTHORS Updated the CHANGELOG

Open Graph Description: What does this implement/fix? Explain your changes. This adds a place to register at runtime options to customize the binding of types. This customization can be specified at a type or assembly lev...

X Description: What does this implement/fix? Explain your changes. This adds a place to register at runtime options to customize the binding of types. This customization can be specified at a type or assembly lev...

Opengraph URL: https://github.com/pythonnet/pythonnet/pull/2543

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:068e5ece-04e4-dd5a-af10-af852afb654f
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9030:3476BC:C62D82:114A0C7:6970BE4D
html-safe-noncef2f9642232dd472e023caa704f832789751151d43931d25031467d6aec8f7447
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MDMwOjM0NzZCQzpDNjJEODI6MTE0QTBDNzo2OTcwQkU0RCIsInZpc2l0b3JfaWQiOiI0MDE3ODU3OTc0OTI2MDk3OTk3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacd9c85650a4257dc65d32a1a063d6b9048918394af9617c27bcf61cc86f4c19be
hovercard-subject-tagpull_request:2274250507
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/pythonnet/pythonnet/pull/2543/files
twitter:imagehttps://avatars.githubusercontent.com/u/11414628?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/11414628?s=400&v=4
og:image:altWhat does this implement/fix? Explain your changes. This adds a place to register at runtime options to customize the binding of types. This customization can be specified at a type or assembly lev...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonebb43a7bc61aba1b91c3c5cf8e7d00342e1e77a0cfe55a141222dbd7f9782d26f
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git
octolytics-dimension-user_id6050430
octolytics-dimension-user_loginpythonnet
octolytics-dimension-repository_id14748123
octolytics-dimension-repository_nwopythonnet/pythonnet
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id14748123
octolytics-dimension-repository_network_root_nwopythonnet/pythonnet
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release34817b01ad7cdf8b2beb35ea7b0e2a7609004eff
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2543%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2543%2Ffiles
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=pythonnet%2Fpythonnet
Reloadhttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Reloadhttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Reloadhttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
pythonnet https://patch-diff.githubusercontent.com/pythonnet
pythonnethttps://patch-diff.githubusercontent.com/pythonnet/pythonnet
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fpythonnet%2Fpythonnet
Fork 770 https://patch-diff.githubusercontent.com/login?return_to=%2Fpythonnet%2Fpythonnet
Star 5.4k https://patch-diff.githubusercontent.com/login?return_to=%2Fpythonnet%2Fpythonnet
Code https://patch-diff.githubusercontent.com/pythonnet/pythonnet
Issues 155 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/issues
Pull requests 18 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pulls
Discussions https://patch-diff.githubusercontent.com/pythonnet/pythonnet/discussions
Actions https://patch-diff.githubusercontent.com/pythonnet/pythonnet/actions
Projects 0 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/projects
Wiki https://patch-diff.githubusercontent.com/pythonnet/pythonnet/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/pythonnet/pythonnet/security
Please reload this pagehttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Insights https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pulse
Code https://patch-diff.githubusercontent.com/pythonnet/pythonnet
Issues https://patch-diff.githubusercontent.com/pythonnet/pythonnet/issues
Pull requests https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pulls
Discussions https://patch-diff.githubusercontent.com/pythonnet/pythonnet/discussions
Actions https://patch-diff.githubusercontent.com/pythonnet/pythonnet/actions
Projects https://patch-diff.githubusercontent.com/pythonnet/pythonnet/projects
Wiki https://patch-diff.githubusercontent.com/pythonnet/pythonnet/wiki
Security https://patch-diff.githubusercontent.com/pythonnet/pythonnet/security
Insights https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pulse
Sign up for GitHub https://patch-diff.githubusercontent.com/signup?return_to=%2Fpythonnet%2Fpythonnet%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://patch-diff.githubusercontent.com/login?return_to=%2Fpythonnet%2Fpythonnet%2Fissues%2Fnew%2Fchoose
koubaahttps://patch-diff.githubusercontent.com/koubaa
pythonnet:masterhttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/tree/master
koubaa:add-binding-options-upstreamhttps://patch-diff.githubusercontent.com/koubaa/pythonnet/tree/add-binding-options-upstream
Conversation 0 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543
Commits 1 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/commits
Checks 18 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/checks
Files changed 3 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Proposal: Implement binding manager to hold binding overrides https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#top
Show all changes 1 commit https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
fe63b01 Implement binding manager to hold binding overrides Jan 13, 2025 https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/commits/fe63b01e96458a8e2a6a28f4bbb0f83772820abb
Clear filters https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Please reload this pagehttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
Please reload this pagehttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
BindingOptions.cs https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-fc47d366e6848afefd961c3c85b71ed6b23319ffe05c460b0fc6c6b7ef4e9739
ClassManager.cs https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
ClrModule.cs https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
src/runtime/BindingOptions.cshttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-fc47d366e6848afefd961c3c85b71ed6b23319ffe05c460b0fc6c6b7ef4e9739
View file https://patch-diff.githubusercontent.com/pythonnet/pythonnet/blob/fe63b01e96458a8e2a6a28f4bbb0f83772820abb/src/runtime/BindingOptions.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/{{ revealButtonHref }}
src/runtime/ClassManager.cshttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
View file https://patch-diff.githubusercontent.com/pythonnet/pythonnet/blob/fe63b01e96458a8e2a6a28f4bbb0f83772820abb/src/runtime/ClassManager.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-52d09e532b78e00df47c2cac8247ee1fa57c17190a628ae4cce0d4c156df0f34
src/runtime/Types/ClrModule.cshttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
View file https://patch-diff.githubusercontent.com/pythonnet/pythonnet/blob/fe63b01e96458a8e2a6a28f4bbb0f83772820abb/src/runtime/Types/ClrModule.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
https://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files#diff-8344637335825be92b9e9952a04a84205c66ed237cbcf4efae55d7d53de3a458
Please reload this pagehttps://patch-diff.githubusercontent.com/pythonnet/pythonnet/pull/2543/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.