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

Python client library for the owlery OpenAPI #200

Closed
rpgoldman opened this issue Mar 1, 2022 · 9 comments
Closed

Python client library for the owlery OpenAPI #200

rpgoldman opened this issue Mar 1, 2022 · 9 comments

Comments

@rpgoldman
Copy link
Contributor

I have been using an auto-generated library in my project https://github.com/Bioprotocols/container-ontology

I would like to pull this library out and make it a free-standing package. Would you like to host it in the phenoscape group if I do that?

@balhoff
Copy link
Member

balhoff commented Apr 13, 2022

Sorry for the slow response. I think that would be great to include in phenoscape. If you would rather keep it in your org, i don't mind, but I could add you as a collaborator if you'd like to put it here.

@rpgoldman
Copy link
Contributor Author

Yes, I would be happy to see it go here, since I can't guarantee I will have funding to maintain the API library. If you set me up with a repository under phenoscape, I can put the API library there.

One thing I am hoping is that someone knows how to get a python library into Pypi, since I have never done that.

@balhoff
Copy link
Member

balhoff commented Apr 13, 2022

What would you like to call the repo? I don't do much python, but I might be able to find some colleagues to advise.

@rpgoldman
Copy link
Contributor Author

I was thinking owlery-client for the library/repo name, but am open to other choices. I suppose python-owlery-client would be the most self-explanatory. And we could name the python module owlery_client: anyone using it will be well aware that it's a python library!

It seems quite common to have a library with a hyphenated name have a different module name. So we would have:

pip install python-owlery-client

or

pip install owlery-client

and then in the python code

import owlery_client

@hlapp
Copy link
Member

hlapp commented Apr 13, 2022

I agree that in pip install python-owlery-client the python- prefix seems quite redundant. (I don't think pip installs anything other than python packages?)

@rpgoldman
Copy link
Contributor Author

rpgoldman commented Apr 13, 2022

It occurs to me reading your reply @hlapp that there's an argument to be made for a three-way arrangement:

  1. Call the repository python-owlery-client, because if I was able to generate a python client from openapi-generator, others could generate clients for JS, Java, scala, etc.
  2. As you say, the python library should just be owlery-client, since there's no chance for confusion (and having lots of libraries with "python-" or "py-" as a prefix just makes listing more confusing.
  3. Call the python module owlery_client because python doesn't like hyphens! (but for some reason still uses them in library names)

@cmungall
Copy link
Contributor

It sounds like you have converged on the best solution!

I am interested in seeing your library. I was considering writing a client for owlery myself, using the https://github.com/hsolbrig/funowl/ datamodel, and wrapping it in https://github.com/INCATools/ontology-access-kit -- but didn't have any firm plans so it would be great to use yours!

@rpgoldman
Copy link
Contributor Author

Great. Well @balhoff, maybe set up that repo and I will push into it?

@balhoff
Copy link
Member

balhoff commented Apr 14, 2022

@rpgoldman I've created the repo at https://github.com/phenoscape/python-owlery-client

I added you as a maintainer; let me know if anything needs fixing for the permissions.

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

No branches or pull requests

4 participants