nismod / cdcam Goto Github PK
View Code? Open in Web Editor NEWCambridge Digital Communications Assessment Model
License: MIT License
Cambridge Digital Communications Assessment Model
License: MIT License
Assuming:
cdcam
on PyPIpip install twine
)Steps to release:
git tag -a v1.2.3
git push --tags
python setup.py sdist bdist_wheel
python -m twine upload dist/*
Hello @tomalrussell, I have finished reviewing your software paper submission to JOSS according to the checklist in openjournals/joss-reviews#1911. Here are my comments.
Copyright (c) 2019 Edward Oughton
Should you be included in here as well, @tomalrussell?
I installed the software and performed the tests according to the instructions provided in README.md
and had no issues. I also ran the example project using the data from Zenodo and there were no problems.
There were a few typos in the docstrings in model.py
.
The repository URL provided in setup.py
seems outdated. It still redirects to the current repository though.
Line 30 in e5ee9b1
The code looks good otherwise!
The documentation does not clearly state the need for this software and the target audience. This should be similar to the statement of need in the paper. An example of how to use the software to solve real-world problems should also be provided here.
The installation instructions provided in the documentation is not as detailed as the one provided in README.md
. Information about installing the package using conda could be included in the documentation. The review checklist asks for a clearly-stated list of dependencies, handled ideally with an automated package management solution.
The documentation does not contain community guidelines for third parties wishing to contribute to the software, report issues or problems with the software, and seek support. A CONTRIBUTING
file should be included in the repository and documentation, and a link to the guidelines should be provided in README.md
.
The last sentence of the 'Applications' section states the following, but no citations have been provided.
Increasingly, the modelling capability reported here is being applied internationally, including to provide the analytics for the World Bank's Flagship 5G report.
The DOI fields in paper.bib
should contain just the identifier and not the full URL, i.e., doi = {10.1016/j.techfore.2018.03.016}
.
The paper is well written and can be understood easily by a non-specialist audience.
Hi @tomalrussell - I'm filing this issue as part of my review for your JOSS submission. The reviewer guidelines request that issues be filed at the package repository and then referenced from the review thread, so specific issues are detailed here and I will summarize in the submission thread. Below is my review response.
Overall the cdcam
library looks nicely put together. My suggestions are mainly to do with documentation, and particularly with providing a working real-world example (even if substantially simplified) of analysis using the library, which I think would help new users understand how the library can be used in their own work.
Thank you for the cleanliness of the library code, it was a pleasure to review.
No issues with the code and test suite.
It may be useful to include non-conda instructions for linux users who do not use anaconda. I used something like the following:
python -m venv cdcam
cdcam/bin/python cdcam/bin/pip install -r requirements.txt
cdcam/bin/python cdcam/bin/pip install -r requirements-dev.txt
cdcam/bin/python cdcam/bin/pip install cdcam
cdcam/bin/python cdcam/bin/pip install pytest pytest-cov
pytest --cov-report=term --cov=cdcam tests/
Review guidelines state
The authors should include examples of how to use the software (ideally to solve real-world analysis problems).
The provided example in scripts/run.py
generates a series of projections, but it would be helpful to have context in the Getting Started
documentation about how these projections should be interpreted and what they contain. Currently run.py
prints the results to the terminal for several categories. A discussion of what the categories are and what the outputs (i.e. "Service" and "Demand") mean would be helpful.
Alternatively, a more complete use case that demonstrates a question to be answered with the data at hand, the development of the model that is currently encapsulated in scripts/run.py
, and a discussion of what the output of the model implies for the question would be a great help for new users. From the cited articles in this repository's paper I suspect there already exists an excellent example that could be stripped down and would work well.
This suggestion is different from what is currently in "Getting Started", which walks the user through the different parameters that need to be chosen. This is helpful, but I think would be more powerful and improve understanding if it was within the context of a real-world applicable use case that answers a question.
Part of review criteria indicate the need for
clear guidelines for third-parties wishing to:
- Contribute to the software
- Report issues or problems with the software
- Seek support
At the moment there is no information for these in the README or software documentation.
I'm not sure if there is a workaround for this problem, but any model simulation using the provided database files in the documentation does not work without the 'daytime_employment.csv' file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.