FRBs / sigpyproc3

Python3 version of Ewan Barr's sigpyproc library
https://sigpyproc3.readthedocs.io
MIT License
14 stars 11 forks source link

Packaging #16

Closed pravirkr closed 2 years ago

pravirkr commented 3 years ago

Refactoring of the whole package.

io module

Header

C++

other

telegraphic commented 3 years ago

Holy cow that is quite the refactor! 🕳️ 🐮 🕳️

pravirkr commented 3 years ago

Hi @telegraphic, the major change is in the Header class. The rest of them are just moving files and PEP 8 changes. There is no rush to merge this. I should also add the psrfits io to have a better idea about a common Header class design.

pravirkr commented 2 years ago

Hi @telegraphic, I am going ahead with the refactoring. The plan is to make this package an entirely python-based replacement of sigproc. Also, moving the core kernels from pybind11 to numba (easy to add new functions and no significant performance loss). Dependency on fftw3 and omp is now external; easy to pip install.

This will break the existing API. So, moving the current code to a legacy branch.

telegraphic commented 2 years ago

Glorious work! Python only seems reasonable, but bit unpacking might be difficult?

BTW, I suggest tagging a release & updating the README.md

🚀

pravirkr commented 2 years ago

bit unpacking powered by numpy/numba. 1 bit (numpy.unpackbits) is faster than numbits, whereas 2 and 4 bits (numba) are comparatively slower but acceptable.

Yes, need to update README.