-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Metadata and options are now could be set in configuration files #862
Conversation
Fails on unrelated |
@jaraco What I can do for this issue to be reviewed? |
I'm trying to re-start the Travis build now that the test failures have been fixed in master, but it's not restarting readily. I restarted the appveyor tests, and the Python 2.7 build is now passing, but not the Python 3. |
The Travis builds are running now and are showing the same - test failures on Python 3. |
I like this a lot. The implementation is well-factored and well-thought-out. I'd like @ncoghlan's thoughts - does this feature fit well into the plans for packaging metadata? Does it conflict or align with the goals of PEP 426 or similar PEPs? A few aspects I'll want to consider before acceptance:
|
Py3 failures seem to be connected with I'll peep into
Yes, that's how it's currently done. |
Skimmed through Yet I'm not sure whether it'll the right thing to do, since keys used there do not fully correspond with So I propose that we skip unknown keys, and handle both forms for those clashing (it seems to be What do you think? |
Items from #862 (comment) seem to be covered except docs update, which I'll do after @ncoghlan review. There's one more thing I'm concerned with: it's seems that it'll the the right thing to expose even minimal API, so that automation tools could easily get already parsed and preprocessed data from configs without ado. |
@jaraco When we decided to go in the |
Now with PEP-518, pbr and d2to1 in mind, I think it will be wise not only to handle |
@jaraco Seems to be quite complete. Docs require proof reading, I guess. |
Thanks for working on this! 👍 |
Hi,
It is useful to be able to have metadata and other options declared in configuration files (e.g.
setup.cfg
). That not only allows some automation, but also reduces bolerplate code in some cases.See also #394.
This chage allows us to have something like this in our config files:
Currently every metadata and other options are supported (or I'd like to believe that). More examples in
test_config.py
.What I'm concerned with though is whether we need to sandbox
file:
directive which is supported by some options for security considerations (shouldn't it be impossible to read data from outside).If overall design and implementation is fine I could update the documentation.
Below are supported ways of value definition for various options.
Terms used
True
is1
,yes
,true
Metadata
str()
)Options