novoid / Memacs

What did I do on February 14th 2007? Visualize your (digital) life in Org-mode
GNU General Public License v3.0
1.03k stars 66 forks source link

setup.py for publishing Memacs properly using pip3 #80

Open novoid opened 6 years ago

novoid commented 6 years ago

Hi,

I've published multiple (simple) tools using Python3 pip. With Memacs, I do feel that my current knowledge and experience with pip is not enough. Can you come up with a setup.py so that I may publish Memacs properly using pip?

The main things that are worrying me:

My first approach for a Memacs setup.py is: https://gist.github.com/novoid/8468915f78e68e8d23c68f2e4df892e5

Please do help me here if you do have more experience in packaging Python projects like this!

novoid commented 5 years ago

An up to date version should be available via https://github.com/novoid/Memacs/blob/master/setup.py

sanzoghenzo commented 4 years ago

Hi @novoid, great project! I still have to install it, but I'm planning to do it ASAP. My thoughts from what I've learned in ~5 years of python:

novoid commented 4 years ago

Thanks @sanzoghenzo for your comments!

Unfortunately, my personal pressure is not as high as it should be to distribute memacs via pip since I'm using the sources directly. On the other hand, I'm not sure if the current status should be published via pip because it would require many dependencies considering the wide range of modules. #96 fixed on of the issues by introducing appropriate links for the modules.

Semantic versioning: I understand the advantages and for most larger projects, this makes perfectly sense to me as well. However, in small projects, there are no bugfix releases and I do not differ between minor and major releases.

Instead, the information of the date seems much more interesting than any artificial number like 0.4.7 which does not hold any valuable information without a relation to a second version number. This is why I tend not to use semantic versioning for now.

If the modules are separated from the main framework, semantic versioning would be much more interesting and probably also a must-have since the separated modules would have to rely on a compatible framework with non-breaking changes for minor releases and potentially breaking changes only for major releases.