#object-storage #client #mathematica

bulletin-board-mathematica

Mathematica client for BulletinBoard

4 releases

new 0.1.3 Oct 21, 2024
0.1.2 Oct 20, 2024
0.1.1 Oct 16, 2024
0.1.0 Oct 13, 2024

#507 in Debugging

Download history 28/week @ 2024-10-07 359/week @ 2024-10-14

387 downloads per month

Apache-2.0

39KB
673 lines

Mathematica client for BulletinBoard

Sponsors Crates.io Crates.io License

BulletinBoard is an object strage for ArrayObject for debugging and data taking purposes. For more details, see BulletinBoard.

Example

First, you need to clone the repository:

cargo clone bulletin-board-mathematica
# OR
git clone https://github.com/YShoji-HEP/BulletinBoard.git

Then, go to bulletin-board-mathematica directory and run

cargo build -r

If it does not compile, see wolfram-library-link. Notice that Mathematica or Wolfram Engine has to be installed before the compilation. Then, copy target/release/libbulletin_board_mathematica.dylib to the same directory as bulletin-board.wl, which can be downloaded from here.

To post and read the bulletins,

<< "bulletin-board.wl";
BBLoadFunctions["127.0.0.1:7578"];
BBPost["test",{1,2,3}];
BBRead["test"]

Functions

Function Description
BBLoadFunctions[address] Load functions of BulletinBoard client. The address is either "ADDRESS:PORT" or "SOCKETPATH". This has to be executed first.
BBPost[title, tag(optional), data] Post the data to the server. title and tag are Text. data can be Integer, Real, Complex, Text, or List. For List, the types of the elements should be the same and has to have the same number of elements for nested Lists.
BBRead[title, tag(optional), revisions(optional)] Read the bulletin. revisions can be Integer or List of Integer.
BBStatus[] Show the status of the server.
BBLog[] Show the log of the server.
BBViewBoard[] List the bulletins.
BBGetInfo[title, tag(optional)] See the details of the bulletin.
BBClearRevisions[title, tag, revisions] Clear the specified revisions.
BBRemove[title, tag] Remove all revisions of the specified bulletin.
BBArchive[title, tag, archiveName] Save the bulletin to an archive and make the data persistent.
BBLoad[archiveName] Load the archived data. (The archive name is added to the tag)
BBListArchive[] List the archives.
BBRenameArchive[archiveFrom, archiveTo] Rename an archive.
BBDeleteArchive[archiveName] Delete an archive.
BBDump[archiveName] Save all the bulletins to an archive.
BBRestore[archiveName] Restore the archived data. (The data is restored to memory/file without modification of the tag)
BBReset[] Reset the BulletinBoard server.

Crate Features

Feature Description
unix Use the UNIX socket instead of TCP. Only for UNIX-like OS.

Dependencies

~5–9MB
~202K SLoC