-
Notifications
You must be signed in to change notification settings - Fork 66
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
Split up Memacs into separate moldule repositories? #74
Comments
Hi, setup(
name="memacs",
...
extras_require={
"lastfm": ["pylast"],
"twitter": ["twython"],
}
) so a user can Another option is to split it in separate packages, but having them under the same namespace by using namespace packages. |
Thanks @sanzoghenzo, this is really good input here! |
Hi @novoid , If I have some spare time I'll look into that. Since I didn't write any of the code, it could take me quite some time and I can incur in errors; also, I don't know what granularity you wish to achieve (does every single module need to be installed separately?) That said, I'll try to do it. |
Also note that, for the scripts to be installed as dependencies, and to ensure cross platform compatibility, I need to change #96 and move the script definition to the "console_script" of "entry_points" argument as I explained in #80 (comment). |
With the latest contribution of @sanzoghenzo, at least specific module dependencies could be installed optionally. This definitively solves some issues we had. However, the main question still applies for other reasons as well: Wouldn't it be better to split the main framework and the modules to separate Git(Hub) repositories? This would have several advantages:
Disadvantages:
In case the repo should be splitted, what are the main tasks to be done?
|
See #114 (comment) for an idea on splitting up within the same repo in order to install a module like |
Hi @novoid , The way to go is still to split the code:
with from setuptools import setup, find_namespace_packages
setup(
name='memacs-photos',
...
packages=find_namespace_packages(include=['memacs.*'])
) What is up to you is to decide if all these sub packages need to stay in the same repository (this one), or if you can/want create one repo per sub-package. The latter could be a bit overkill (especially if a sub package consists of only one module) and you will loose the git history, but can be useful for transitioning (especially if you call the new metapackage something different from |
Thanks for the clarification so that even I was able to understand the implications of your suggested change. ;-) In this case, I reopen #114 because it does not split up the Memacs modules into separate repositories, allowing for different authors to keep their authorship. This issue here still follows the idea of separating the Memacs modules, #114 follows the idea of letting the user decide which dependencies she wants to set up. |
As mentioned in #69, there seems to be an issue with having so many dependencies that are installed when a user is interested in one Memacs module only:
How to deal with this? Split up Memacs into separate repositories/packages (one module = one Python pip package/repository)?
The text was updated successfully, but these errors were encountered: