lucask07 / covg_fpga

FPGA and Python experiment code for the digital ion channel amplifier project.
GNU General Public License v3.0
6 stars 2 forks source link

Reorganize for packaging #12

Closed Ajstros closed 2 years ago

Ajstros commented 2 years ago

Major Changes

py -m pip install --index-url https://test.pypi.org/simple/ --no-deps register-map

Check First

These changes need to be made in the src/interfaces location before merging

Because interfaces is now in the src folder, the sys.path.append() trick used to add it to PATH to make it available for import is broken. It can be fixed by appending the new location, but I think it would be better to rely on users having the PyPI package installed. This is one discussion point. The boards.py file is not included in the package, and will remain in the python folder, meaning it will have to be imported using the sys.path.append() or similar trick.

Also, previous statements like below will no longer work because those chips are located in interfaces/peripherals now.

from interfaces.interfaces import CHIPNAME

These should be replaced with the following.

from interfaces.periperals.CHIPNAME import CHIPNAME

I have only tested installing and using the package from Test PyPI on Windows. It should be tested on Mac as well and it would be good to test on Linux. The installation guide is in the doc/build/html/installation.html file on the packaging branch. Please comment installation issues on this pull request so they can be addressed.

Future Plans

It is important that files in this repository work with interfaces from the Test PyPI installation because I think it would be cleaner and more general to move the interfaces package, certain tests, Registers.xlsx, and a copy of the current bitfile to a separate repository which would eventually be uploaded to the main PyPI for installation.

Ajstros commented 2 years ago

@lucask07 @Ianshogren @cnbecks Here is a list of files removed from the tests folder. Please comment if any of these should not have been removed.

Ajstros commented 2 years ago

The issues mentioned in these commits were not automatically closed. Maybe they have to be mentioned in the pull request commit itself? Anyway, I will manually close them.