Skip to content
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

Merge lantz-core and lantz repositories #4

Merged
merged 1 commit into from
Sep 22, 2020

Conversation

mtsolmn
Copy link
Contributor

@mtsolmn mtsolmn commented Sep 21, 2020

This is a pull request to merge the lantz and lantz-core repositories into a single lantz repository (here, lantz refers to the lantzproject/lantz repository). The reason for this is very simple: lantz-core is the main repository of the project but is functionally incomplete and broken on install. If you install lantz-core separately from lantz (i.e. pip install lantz-core), then lantz does not get correctly installed; this is due to the missing init.py and main.py files from the lantz repository.

The only way to fix this would be to make lantz a dependency of lantz-core, but since lantz-core is already a dependency of lantz, this would create a circular dependency. This is bad programming etiquette.

The lantz repository is simply a shell for specifying the various install options for the lantz project, since it's submodules have been broken into separate repositories (the merits of which could be debated separately). There is no reason why these options could not be specified within the lantz-core config files itself. In fact, lantz-core is a required install regardless of extra options on the lantz install (i.e. pip install lantzdev). Finally, for new users and contributors this makes the project confusing -- they are directed to the lantz repository but all the useful files for contributing are in lantz-core (at a minimum).

These are all strong arguments in favor of merging the lantz repository into the lantz-core repository. I further recommend archiving the lantz project and making it's visibility hidden so that the lantz-core repository can then be renamed to lantz in keeping with the project name (merging in this direction is simpler than merging in the reverse direction; additionally, the heart of the project with stay in the same repository minimizing the resulting complexity of the commit history).

I have moved over the root lantz directory, the documentation, the scripts, and the requirements files. Additionally, I have completely updated the setup.py install to reflect the current state of the project. Other files (such as MANIFEST.in) have been modified as needed.

Finally, it should be noted that following the above proposed changes will not affect current users ability to install and run lantz. The end user will not notice any difference. The modifications have been made such that if merged and published as a new version 0.6.0 to the lantzdev PyPI package, it will still be installable as lantzdev. The lantz-core PyPI package should then become deprecated.

[Also see the issue I raised about deprecating the previous project and redirecting users to the currently maintained project here https://github.com/LabPy/lantz/issues/84]

@hgrecco @jacobfeder

CHANGELOG:
commit to merge lantzproject/lantz and lantzproject/lantz-core into single repository

  1. migrate docs from lantz to lantz-core
  2. migrate lantz/init.py and lantz/main.py to lantz-core
  3. update MANIFEST.in
  4. migrate README from lantz to lantz-core
  5. migrate and update requirements-doc.txt requirements-full.txt requirements-github.txt requirements-rtd.txt
  6. complete rewrite of setup.py: merge settings from lantz to lantz-core, update dependencies, update general settings
  7. migrate scripts/lantz-monitor.py from lantz to lantz-core

commit to merge lantzproject/lantz and lantzproject/lantz-core into single repository
1. migrate docs from lantz to lantz-core
2. migrate lantz/__init__.py and lantz/__main__.py to lantz-core
3. update MANIFEST.in
4. migrate README from lantz to lantz-core
5. migrate and update requirements-doc.txt requirements-full.txt requirements-github.txt requirements-rtd.txt
6. complete rewrite of setup.py: merge settings from lantz to lantz-core, update dependencies, update general settings
7. migrate scripts/lantz-monitor.py from lantz to lantz-core
@hgrecco
Copy link
Member

hgrecco commented Sep 22, 2020

I agree with the argumentation and this commit. Great work.

@hgrecco
Copy link
Member

hgrecco commented Sep 22, 2020

@jacobfeder Fell free to merge it if you agree

@jacobfeder
Copy link
Contributor

Looks great, agree and merging now.

@jacobfeder jacobfeder merged commit 9164655 into lantzproject:master Sep 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants