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

Synchronize naming scheme of data and abstraction layers #7

Open
haesleinhuepf opened this issue Jul 17, 2022 · 4 comments
Open

Synchronize naming scheme of data and abstraction layers #7

haesleinhuepf opened this issue Jul 17, 2022 · 4 comments

Comments

@haesleinhuepf
Copy link
Member

We're building similar structures in pyclesperanto (P) and clesperantoj (J). Thus, we should make sure that things have similar names and potentially structure repositories similarily. This was done partly from the very beginning (thanks!) and has potential for sychronizing.

The following listing is from the inside to the outside.

  • CLIc: P and J have this in common, it's the C++ core.
  • C++ layer code/folder between the CLIC and P/J.
  • C++ headers of the wrapper
  • Auto-generated code from the native wrapper:
  • The "image"/"buffer"/"array" data object representing the image on the GPU
    Naming this is important, because we will see it a billion times future scripts that use clesperanto
  • The package/module
    This one is tricky. We are limited here by Java/Maven and Python/Pypi conventions. I can only upload to maven-central if the package starts with "net.clesperanto" because I'm owner of the domain. Packages on pypi typically have the same package name as the python module.
  • The clesperanto gateway

I would love to hear your optinions @StRigaud and @bnorthan 🙂

@StRigaud
Copy link
Member

The "image"/"buffer"/"array" data object representing the image on the GPU
Naming this is important, because we will see it a billion times future scripts that use clesperanto

This one is a tricky thing as, depending on the language, the name may be a keyword or close to it. Ideally we would want something that is common to the three language and that do not create conflict.

The clesperanto gateway

Not so much important but if all could be Clesperanto ?

For the rest, there is little to no impact to the users. We just have to keep a certain coherence (and maybe a doc?) and we should be fine I would say.

@haesleinhuepf
Copy link
Member Author

Ideally we would want something that is common to the three language and that do not create conflict.

Yes, I'm thinking of something like Image or Array, potentially with a prefix or suffix CL or GPU or ...

@StRigaud
Copy link
Member

I am already using a namespace cle hence would avoid any prefix/suffix on CLIc side, an equivalent or a suffix/preffix should be used yes.

The object array already exist in C++, hence Array is maybe too close to it. I am currently rooting for Image 😉 .

I would also avoid the usage of cl as it is already use by opencl core code (namespace cl). And it could bring confusion.

@haesleinhuepf
Copy link
Member Author

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

2 participants