Skip to content

[CHECKLIST] Rebuild project: fresh start with BSalita/ddss library (cloning, building, testing) #1

Description

@wopdevries

Checklist: Rebuild make-dds-dataset with new DDS library (BSalita/ddss)

Follow these steps to fully re-create your DDS dataset pipeline from scratch using the modern open-source DDSS library by BSalita.


1. Clone and Set Up the Project Structure

  • Clone from source base:
    git clone https://github.com/sotetsuk/make-dds-dataset /home/wop/myfirstproject/make-dds-dataset
    cd /home/wop/myfirstproject/make-dds-dataset
  • Copy the latest ddstable.py from xrgopher:
    cp /path/to/xrgopher/ddstable.py ./
  • Review structure; remove any old/unwanted files if desired.

2. Clone and Build DDSS (BSalita/ddss)

  • Clone the latest DDSS source into a subdirectory:
    git clone https://github.com/BSalita/ddss.git build/ddss
    cd build/ddss && mkdir build && cd build
  • Build the shared library:
    cmake -DDDS_THREADING=STL -DDDS_AGGRESSIVE_OPT=ON ..
    cmake --build . --config Release
  • Copy the resulting libdds.so to project root:
    cp libdds.so /home/wop/myfirstproject/make-dds-dataset/
  • (Optional) Test the C++ library:
    ./dtest --random-deals 1000 --report-dir dds_compare_reports --seed 1
  • (Optional) Install system-wide if needed:
    sudo cmake --install . --prefix /usr/local
    sudo ldconfig

3. Prepare Python Environment

  • Setup new venv & install requirements:
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  • Set LD_LIBRARY_PATH env for runtime linking:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)

4. Generate Bridge Deals and Results

  • Create DDS results with:
    python3 make_dds_results.py --seed 8 --num 100 > results.tsv
    # (edit --seed and --num as needed)
  • Inspect output with:
    head results.tsv

5. Convert Text Results to NumPy Format

  • Convert the text file to NumPy binary for ML:
    python3 to_bytes.py results.tsv
    # Output: results.npy
  • Load and inspect dataset in Python:
    import numpy as np
    keys, values = np.load('results.npy', allow_pickle=True)
    print(keys.shape, values.shape)
    print(keys[:5], values[:5])

6. Troubleshooting Checklist

  • If any step fails, paste error messages here or add a comment to this issue for debugging help.
  • For any API/so errors, verify version of DDSS and if necessary update wrappers.

7. Next Steps (Optional)

  • Update README with new workflow
  • Automate with setup.sh
  • Add more tests or advanced ML export
  • Publish a sample dataset

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions