• Stefy Lanza (nextime / spora )'s avatar
    fix: bundle all runtime files in aisbf/_share/ so wheel install is self-contained · c1b8273b
    Stefy Lanza (nextime / spora ) authored
    pip's data_files extraction is unreliable for user installs with
    --break-system-packages: files either land in the wrong prefix or are
    silently dropped from the wheel entirely.
    
    Fix: build_py hook in setup.py copies main.py, aisbf.sh, requirements.txt,
    templates/, static/, and config/ into aisbf/_share/ at wheel-build time.
    These are declared as package_data so pip always installs them to
    site-packages/aisbf/_share/ regardless of install mode.
    
    cli.py now:
    - Checks all sysconfig-derived paths for a complete share directory
    - Falls back to bootstrapping: copies the full aisbf/_share/ bundle to
      ~/.local/share/aisbf/ on first run if data_files were not installed
    - Works for both wheel installs (uses _share/) and editable installs
      (uses the project root directly as the bundle source)
    - Prints a clear error with checked paths and reinstall instructions if
      bootstrap also fails
    
    aisbf/_share/ is gitignored (generated at build time).
    c1b8273b
cli.py 5.62 KB