I've started to take a look at this. Here's some feedback on what I've done so far:
(*) The command to install requirements is:
is a built-in module, and doesn't need to be in requirements.txt
(*) I am in the camp that believes that third-party modules should be pinned to a specific version. If you just specify module names in your requirements.txt
, pip will install the latest versions of everything, which your code may or may not work with. If you explicitly specify versions for each dependency, people will get the versions that you have, and have tested against. Run pip freeze
to find out what versions of everything you have.
(*) pip wasn't able to install numpy (as a dependency of pandas). This appears to be a bug in pip, I worked around this by including numpy in requirements.txt
(*) In the read-me, the section that talks about config.py
has formatting problems (missing newlines). It's not a bad idea to include an example file called (say) config.py.example
, and tell people to rename it and edit it.
(*) At manipulators.py:65
, the path to Awasu's config file is hard-coded. The correct way to locate this file is to call $/userInfo
, and you will get the location of all the user's data files.
(*) Awasu always uses UTF8, so when you open the config file, include a encoding="utf-8"
(*) At manipulators.py:292
, the Awasu API token is hard-coded. You should probably also make the http://localhost:2604
bit configurable (like LOCALHOST_URL
), since the user can change the port number.
(*) You are running a report called ALL_CSV. This report name should be configurable. The code gets stuck in an infinite loop, probably because I don't have this report. Since there don't seem to be any instructions on how this report should be set up, I am now stuck.