-
-
Notifications
You must be signed in to change notification settings - Fork 526
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
Introduce an additional configuration file format? #600
Comments
I would prefer sticking to the current version, especially as many tools already integrate with the current configuration file. |
The old format would likely be supported for a very long time, but I am a bit weary adding new features to the old config format. It is really quite convoluted already. At the very least the whole config related code would need a complete overhaul to keep it maintainable. Also: what do you mean by integrating? They do things with the actual tox.ini? |
I mean e.g. |
@obestwalter a good number of tools like flake8 for example hijacked tox.ini, even pytest did, but for pytest we created a way that can work in general both tox and pytest should take a look at |
I see what you mean, this would still continue to work though. And if people would want to switch to the new format we either might be able to make it work just like that (if it would be TOML like @vlaci and @RonnyPfannschmidt suggested) that would be trivial. The guest project could just add another config file as source or they just have to move their configuration to setup.cfg or the orginal config file. Anyway this is just dreaming a bit, because before this would be possible the related code needs to be refactored to prepare for that anyway and the refactoring might even already ease some of the maintenance pains. |
personally i think starting to explore toml may open up a way to remove a lot of my pain points with the project |
agreed, let's see then what we can do with TOML |
How about Python? Just learned about nox: http://nox.readthedocs.io/en/latest/ - started recently by @jonparrott. |
I recently did a quick talk about Nox at PuPPy - slides are here for those interested. Fwiw - I think that there's room for both. I always considered Nox as an advanced tool and still use tox for several of my own projects. I think there's strength in both approaches - I don't think that tox needs to become Nox (or vice versa) any more than I think Flask needs to become Django. |
That said literally anything but ini files. :) |
One can also imagine tox devs publishing a small module to support parsing tox.ini or tox.toml into a structured form, and pytest / flake8 / coverage and others could rely on that lib for parsing. |
That sounds interesting, but I don't think it would solve the problem this issue is trying to address. For me the main problem is the parsing. It grew more and more complex when functionality was added and I think it was never really refactored to make it simpler. So another approach would be to invest some time to refactor the parsing code. |
Being able to use the |
Hi @pradyunsg - do you mean to have a "traditional" tox.ini being part of a pyproject.toml? |
Yep. |
Sounds like a good idea. Would you like to open an issue for that? |
So it looks like it definitely should be TOML. |
Indeed. I guess that means this issue can be closed. |
simply inlining tox.ini in a pyproject.tmp feels a bit bad |
I know, this is why it should be toml, because then we either don't have to do it at all, if toml support comes first or only have to do it until toml support is implemented. |
Closing this as it looks like the decision has been made and now it is only a question of how to implement it, while retaining backwards compatibility. Issue for that is here: #814 |
I want to open the discussion for adding a second possibility of configuring tox additionally to the tox.ini format. If we would do this, we could freeze the state of what tox.ini can and can't to to the state of what it is now and support it in that maintenance mode for a long time / infinitely.
This might be a very bad idea and could very possibly be just a knee jerk reaction to my not so pleasant experiences trying to fix #595 but I wanted to at least hear what others feel about this.
The text was updated successfully, but these errors were encountered: