regro / rever

Releaser of Versions
https://regro.github.io/rever-docs/
BSD 3-Clause "New" or "Revised" License
74 stars 33 forks source link

Switch from xonsh to python #260

Open hadim opened 1 year ago

hadim commented 1 year ago

The main thing that prevented me to contribute to rever is that the source code is not 100% python but a mix of bash and python called xonsh.

While I understand the reason for using xonsh related to the number of CLI calls, I still believe a pure python library will increase the contributions to the project.

I am opening this ticket, but I will unlikely have enough time in a near future to work on it (one day maybe!).

In the meantime, I am happy to discuss the idea further with other potential volunteers.

maresb commented 1 year ago

It's interesting to hear that I'm not the only person with these sorts of thoughts...

I really loathe Bash. Also, I really love both the idea and implementation of Xonsh. I enjoy the ease of creating .xsh scripts. I also install it everywhere and use it as my default shell, but honestly after a few years, 99+% of my commands are pure Bash, and I frequently switch to Bash when things don't work as expected.

Practically speaking, the big no-go for me is that I can't impose Xonsh on my less adventurous collaborators. The syntax is really simple, but there is nevertheless some syntax and a few gotchas to learn.

The last few times I've written Xonsh scripts, I found myself converting them into Python in the end. The way I feel about Xonsh scripts is the similar to the way I feel about Jupyter notebooks: they're excellent for prototyping, but as soon as code begins emerging, it's best to move that code to a proper Python module (for reuse and portability).

It's frustrating for me to see superior tools like Xonsh not receiving wider adoption, and in general, acceptance is an aspect of society which often confuses me.

In the meantime, I am happy to discuss the idea further with other potential volunteers.

I unfortunately can't volunteer anything here, I was just curiously checking out the state of a modern Xonsh-based project, and the above comment resonated with me.