question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Consistent naming for library-packages

See original GitHub issue

In the context of moving pyarrow into the arrow-cpp-feedstock, there was some discussion of naming the outputs, and I brought up the following:

Regarding the naming conventions, I think it might be worth renaming arrow-cpp to libarrow. This is in line with a lot of other feedstocks, but obviously a matter of taste. In this case, we’d have to have a compatibility output of arrow-cpp that depends on libarrow, which could be dropped after a few versions.

@isuruf made me aware of this in the context of faiss. Other examples I can think of off the top of my head are blas & lapack, openblas, opencv, postgresql, gdal, plus a whole bunch more (non-exhaustive).

Of course, this recipe has some counter examples to this: aws-sdk-cpp, boost-cpp, grpc-cpp, thrift-cpp, but I think they are far in the minority and the same argument could be made for renaming those (maybe worth noting that at least the last two seem to have been started by the arrow team).

Following @isuruf’s and @xhochy’s input, I’m opening this issue here. Also note @isuruf’s comment:

@isuruf: -cpp was a trend that I started with boost-cpp. That was a mistake. I’m in favour of changing it, but this is not the correct place to raise the issue.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:17 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
xhochycommented, Aug 26, 2022

I would prefer that in the cases where we have a binary, we should split it up into a separate output (if we are touching the package) and really keep packages with a lib prefix library only packages. libprotobuf in build always confuses me even though I maintain that package for a long time. For example in the case of thrift-cpp, I have split up the package https://github.com/conda-forge/thrift-cpp-feedstock/blob/f5a6473f172fe475bafdec30555ffcb1dcfe9652/recipe/meta.yaml#L81 as the compiler was 90% of the package size. Here the naming transition was simpler as the initial package was called thrift-cpp, so the new outputs didn’t clash with the existing packages.

1reaction
jjhelmuscommented, May 28, 2020

I’m in favor of using libexample for the name of the example library package.
cpp is a particular confusing name as cpp is both a common suffix for C++ source files (foo.cpp) and the name of the C Preprocessor.

Read more comments on GitHub >

github_iconTop Results From Across the Web

File naming and structure - Research Data Management at ...
File naming best practices: Files should be named consistently; File names should be short but descriptive (<25 characters) (Briney, 2015) ...
Read more >
P1634R0: Naming guidelines for modules - Standard C++
5.4. Use consistent names ... Modules add yet another named layer of encapsulation. But they are not themselves a name scoping mechanism. And...
Read more >
PEP 423 – Naming conventions and recipes related to ...
It avoids possible confusion between project name and distributed package or module name. It makes the name consistent. It is explicit: when one ......
Read more >
10 Java Package Naming Best Practices - CLIMB
1. Use lowercase letters ... When you use lowercase letters, it makes the package name easier to read and understand. It also helps...
Read more >
Package Design Checklist, Naming - The Amiable API
Rationale: Simplicity and Consistency. Callers import mostly APIs. The consistent use of the word “api” would make it redundant, as shown in the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found