ENH: Add minimal wrapping of libcaosdb's C interface
-
Review changes -
-
Download -
Patches
-
Plain diff
Summary
Add the first steps towards a Julia client basing on the Extern C interface of caosdb-cpplib. The client is able to connect to a server using SSL and retrieve the version of the server, see https://gitlab.indiscale.com/caosdb/customers/lfpb/management/-/issues/403.
Focus
All relevant modules are in src/CaosDB.jl
, the README_SETUP.md
has been updated accordingly.
Test Environment
Build and install caosdb-cpplib in the f-extern-c
branch and make the location of libccaosdb.so
known to Julia's ccall
, e.g., by adding it to your LD_LIBRARY_PATH
. Then start a CaosDB server in f-grpc-dev
, e.g., by using caosdb-deploy in f-grpc
.
Then, start julia with the --project
option from the caosdb-julialib directory, or, alternatively, start Julia and add CaosDB.jl by
julia> ]add "path/to/caosdb-julialib"
Establish a connection via
julia> using CaosDB
julia> CaosDB.Connection.connect(host="...", port="...", cacert="...", username="...", password="...")
You may omit some or all parameters in the call to CaosDB.Connection.connect
if the default values apply to you or if you defined the corresponding environmental variables.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related Issues -
Up-to-date CHANGELOG.md -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there spezifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
- version 29913d8ead
- version 28e2525484
- version 2749ef5188
- version 26e0826e1b
- version 25b5209375
- version 24fec47721
- version 23c959156a
- version 22655b2280
- version 21e1cdff8c
- version 20b6c8c510
- version 19e9e09ba8
- version 182e526390
- version 1704772365
- version 16700ae5bb
- version 15c1811e54
- version 141134f05f
- version 13c3c91123
- version 12ef9a6a4b
- version 1199becf49
- version 10c31522c0
- version 99b5c5607
- version 8a98813cd
- version 7db2cb7de
- version 68275e2a0
- version 5a2500ac2
- version 4820cce28
- version 3cdab6a19
- version 23db4a211
- version 16473702a
- dev (base)
- latest versiona2ae6bc734 commits,
- version 29913d8ead33 commits,
- version 28e252548432 commits,
- version 2749ef518830 commits,
- version 26e0826e1b29 commits,
- version 25b520937528 commits,
- version 24fec4772127 commits,
- version 23c959156a26 commits,
- version 22655b228025 commits,
- version 21e1cdff8c24 commits,
- version 20b6c8c51023 commits,
- version 19e9e09ba822 commits,
- version 182e52639021 commits,
- version 170477236520 commits,
- version 16700ae5bb19 commits,
- version 15c1811e5417 commits,
- version 141134f05f16 commits,
- version 13c3c9112315 commits,
- version 12ef9a6a4b14 commits,
- version 1199becf4913 commits,
- version 10c31522c012 commits,
- version 99b5c560711 commits,
- version 8a98813cd10 commits,
- version 7db2cb7de9 commits,
- version 68275e2a08 commits,
- version 5a2500ac27 commits,
- version 4820cce286 commits,
- version 3cdab6a195 commits,
- version 23db4a2114 commits,
- version 16473702a3 commits,
- Side-by-side
- Inline