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

Change delphin namespace to pydelphin? #182

Closed
goodmami opened this issue Sep 27, 2018 · 7 comments
Closed

Change delphin namespace to pydelphin? #182

goodmami opened this issue Sep 27, 2018 · 7 comments
Labels

Comments

@goodmami
Copy link
Member

This issue is a request for user input.

The package name and PyPI project are named "PyDelphin", but the Python module and shell command are just delphin. PEP-423 recommends using the same name for both (the PEP's status is "deferred", though it's still good advice; also see #124, which is related to PEP-423). Some options:

  1. There exists a separate (but apparently inactive) "delphin" project on PyPI. I could ask its author to take over that project URL and rename this project to "Delphin"

  2. I could rename the module and command to pydelphin (e.g., from pydelphin.interfaces import ace) for the v1.0.0 version

  3. I could do nothing (i.e., ignore PEP-423's advice)

I prefer (2) over (1), especially since v1.0.0 will break some backward compatibility anyway, but (3) wouldn't be the worst thing, either. (1) seems like it would increase some confusion, since the name is not audibly distinct from DELPH-IN.

@fcbond
Copy link
Member

fcbond commented Sep 27, 2018 via email

@goodmami
Copy link
Member Author

goodmami commented Oct 5, 2018

Thanks for the feedback. I'm actually disinclined to use (1). Saving two characters is not a good enough reason to rebrand the whole project. PyDelphin is referenced in a dozen or so publications now, so changing the name would be confusing (for this and also the reason mentioned in the issue description).

I'll consider going with (3) over (2), since that would reduce the amount of code needing to be updated.

@goodmami
Copy link
Member Author

After more thought, there's a way to use (1) without rebranding. I could use namespace packages such that some subset of the packages (delphin.mrs, delphin.itsdb, etc.) could be separate projects under the same delphin namespace, and PyDelphin is then a "meta-package" that pulls together the core components. This could also allow optional extensions, e.g., bottlenose could be remade into delphin.bottlenose (or delphin.httpserver to be a more descriptive, if less interesting, name).

A negative point is that this increases the complexity of the packaging, a burden I might not want to impose upon future maintainers.

@fcbond
Copy link
Member

fcbond commented Oct 11, 2018 via email

@goodmami
Copy link
Member Author

Yes it builds directly on PyDelphin. Also gtest could be treated similarly. But note that this proposal doesn't package them together, but put them under the same namespace. So you'd do:

pip install pydelphin  # which installs delphin, delphin.mrs, delphin.itsdb, etc.
pip install delphin.bottlenose

Then you could do:

from delphin import bottlenose

This way, something like delphin.dmrs could be maintained by, e.g., Cambridge (if we could merge pydmrs in).

@goodmami
Copy link
Member Author

Ok, we have control of the 'delphin' project on PyPI now. I'm still debating if the benefits of moving to namespace packages outweigh the increased complexity. For instance, it's easier to introduce plugin-like modules (e.g. #193) and to allow others to have maintainership over smaller parts of PyDelphin, but we'll then have many separate packages (each with their own README, setup.py, issues, versions, etc.)

I was thinking an alternative is to push PyDelphin to both the 'pydelphin' and 'delphin' projects on PyPI, but I think that will cause headaches. If one does pip install pydelphin and then pip install delphin, it will probably download both. So one might wonder why pip install --upgrade delphin is not getting the latest version (it is, but because pydelphin is still installed it blocks the other from being used). So if we move to the delphin project, the pydelphin one should be marked as inactive.

@goodmami
Copy link
Member Author

This issue is now superseded by #222.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants