conan-io / conan-io/conan

[feature] Allow conan.tools.* to be extended dynamically

Open
#17,547 4 comments 0 reactions 1 assignee Claimed by @memsharded View on GitHub
Dominant language
Python
Stars
9.5k
Forks
1.1k
Avg merge
23h 48m
Merged PRs (30d)
15

Description

### What is your suggestion?

While working on RAD Studio support for Conan (In extension to the following question here: https://github.com/conan-io/conan/issues/13447), it would be really helpful if we could do the following in a fresh install of Conan:

As a third party, install a plugin package which extends the tools namespace, registers internally in Conan, gives full access to the Conan config & recipe object and allowing recipes to import conan.tools.MyPlugin functionality.

An obstacle which would have to be decided upon, would be
1) How do we handle a case where the plugin isn't installed and a user executes a recipe which depends on this plugin?
2) Making sure the design and implementation is non-destructive to existing recipe infrastructure
3) Determine the security implications this feature might have

This feature is intended to avoid having to ship a customized version of Conan when supporting third party tools and to reduce the maintenance burden in the event the Conan team decides not to include support for a given tool stack.

### Have you read the CONTRIBUTING guide?

- [X] I've read the CONTRIBUTING guide

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.