Nic30 / hwtLib

hardware library for hwt (= ipcore repo)
MIT License
34 stars 7 forks source link

Examples do not work out of the box (automatic test against pip required for check if new release of dependency is required) #23

Open philipaxer opened 4 years ago

philipaxer commented 4 years ago

Hi,

a lot of the more elaborate examples do not work. This seems mostly because of API changes that were made in the past.

A baseline pip install hwtlib hwt as well as the latest git master clone will give the same issues.

For the StructReader, I see this error:

   from hwtLib.amba.datapump.intf import AxiRDatapumpIntf
ModuleNotFoundError: No module named 'hwtLib.amba.datapump'

For other examples there are other errors. But all i have traced back is linked to changed APIs (imports or function names).

This makes is really hard to understand some advanced concepts because there is not much documentation except the examples. I strongly recommed to add the examples to a regression suite so it does not break.

regards Philip

Nic30 commented 4 years ago

Hi Philip,

as you mentioned, this is confusing,

everything is tested and it works in every commit on travis-ci as well on several other places. Yet somehow it did happen that user did download package and it does not work at all.

Let me check the status of pip packages. The installation from repositories should work (small team is using it every day on multiple servers, including me right now)

pip3 install -r docs/requirements.hwt.txt
python3 setup.py install

However if there is something wrong in some package which you thing it is causing the issue, please feel free to notify me.

Now when I am thinking about it. By example do you mean hwtLib/structManipulators/structReader.py ? You do not need to actually install hwtLib but then you need to execute files using module path:

python3 -m hwtLib.structManipulators.structReader

instead of

python3 hwtLib/structManipulators/structReader.py

(just saying) structReader.zip

philipaxer commented 4 years ago

Hi Nic,

I usually copy paste from the examples and then modify it slightly to see what happens. This is why I dont run it in-place.

One thing which I also noticed is that HStruct_unpackt was moved to a different module and renamed but hwlib/amba/axis.py imports it.

Is there a place where I can ask general questions? I.e. like gitter or so?

regards Philip

Nic30 commented 4 years ago

I created a gitter room 6883d7317460c9251b68fe036f416f0ee0d4e48a

There were some api updates, that explain why it does not work with pip version you mentioned. However that does not explain why git version does not work. I guess that is because you have everything already installed and nothing actually changes on install. Try using https://stackoverflow.com/questions/19548957/can-i-force-pip-to-reinstall-the-current-version or uninstall mentioned packages first.

(Note that I understand that I should release new packages in order to match a new API currently used in git)

Nic30 commented 3 years ago

Will be activated on new release 9e929baa6e5f3548b9e56bcee91eb064050ee4fa