{"action":"opened","issue":{"url":"https://api.github.com/repos/marcoalopez/GrainSizeTools/issues/2","repository_url":"https://api.github.com/repos/marcoalopez/GrainSizeTools","labels_url":"https://api.github.com/repos/marcoalopez/GrainSizeTools/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/marcoalopez/GrainSizeTools/issues/2/comments","events_url":"https://api.github.com/repos/marcoalopez/GrainSizeTools/issues/2/events","html_url":"https://github.com/marcoalopez/GrainSizeTools/issues/2","id":340285830,"node_id":"MDU6SXNzdWUzNDAyODU4MzA=","number":2,"title":"organization and packaging","user":{"login":"lheagy","id":6361812,"node_id":"MDQ6VXNlcjYzNjE4MTI=","avatar_url":"https://avatars1.githubusercontent.com/u/6361812?v=4","gravatar_id":"","url":"https://api.github.com/users/lheagy","html_url":"https://github.com/lheagy","followers_url":"https://api.github.com/users/lheagy/followers","following_url":"https://api.github.com/users/lheagy/following{/other_user}","gists_url":"https://api.github.com/users/lheagy/gists{/gist_id}","starred_url":"https://api.github.com/users/lheagy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lheagy/subscriptions","organizations_url":"https://api.github.com/users/lheagy/orgs","repos_url":"https://api.github.com/users/lheagy/repos","events_url":"https://api.github.com/users/lheagy/events{/privacy}","received_events_url":"https://api.github.com/users/lheagy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-11T15:09:14Z","updated_at":"2018-07-11T15:09:14Z","closed_at":null,"author_association":"NONE","body":"This is related to the JOSS pre-review issue: openjournals/joss-reviews#811\r\n\r\nThe package layout does not follow standard python packaging practices (see for example: https://packaging.python.org/tutorials/packaging-projects/). \r\n```\r\n/grain_size_tools  # repo\r\n   /grain_size_tools  # python module\r\n       __init__.py  # contains import to be brought in when the user runs import grain_size_tools\r\n       tools.py\r\n       piezometers.py\r\n       ...\r\n```\r\n\r\nThis would allow more flexible use - for example if a user wants to install your package through pypi and import it into a Jupyter notebook as a part of their workflow. \r\n\r\nThe main items to be addressed are: \r\n- [ ] folder structure and inclusion of `__init__.py` files (this allows `from grain_size_tools import piezometers` for example) - a good resource on why these are used is here: https://docs.python.org/3/tutorial/modules.html#packages\r\n- [ ] setup.py for installing (this way the user can run `python setup.py install` from the repository-level directory to install the package - https://packaging.python.org/tutorials/packaging-projects/\r\n- [ ] (optional): you can deploy your package to pypi so that instead of someone having to download the GitHub repository and running the setup.py, they can run `pip install grain_size_tools` from a command line and it performs the download and install: https://packaging.python.org/tutorials/packaging-projects/\r\n\r\nPlease let me know if there are more resources I can send along that would be helpful! \r\n"}}
{"actor":{"display_login":"lheagy"}}