hydroffice / hyo2_openbst Goto Github PK
View Code? Open in Web Editor NEWOpen BackScatter Toolchain (OpenBST)
License: GNU Lesser General Public License v3.0
Open BackScatter Toolchain (OpenBST)
License: GNU Lesser General Public License v3.0
Issue: Backscatter processing follows a directed acyclic graph pattern. Visualizing the different processing trees is useful to the user.
Task: Insert a graphical figure into the notebooks that tracks the processing chains within the project
Tasks:
Unused variable 'process_written'
For each run of Codacy, I get an invalid syntax issue (see below)
This is not invalid syntax.
The impression from this link indicates that codacy uses either pylint or pyflakes, or other to run the static analysis. Not sure how that is set up.
@giumas it would be nice if I could be added to the codacy organization.
Either way, the closest matching issue I found was a Flake8 issue seen [here]
(https://gitlab.com/pycqa/flake8/issues/284) and I think the issue on our end is similar with codacy not recognizing typing maybe. Though this would be inconsistent as typing is used throughout the code base
This is a weird bug and I would like to not be failing codacy every time so it would be nice to get this fixed. Otherwise I will continue to ignore it.
Issue: Portions of the code base are not covered by either unit-tests nor example test scripts [#15 ]. To shift back towards a test driven development cycle, the coverage of the current code base must be increased
Objective: Write new unit-tests for modules not currently covered within the test directory or issue 15.
Tasks:
Issue: A number of example scripts were written to test modules for the appropriate functionality. These need to be converted to unit tests within the project.
Objective: Convert example testing scripts to unit-tests.
Tasks:
The py.test
library used in CI (AppVeyor and Travis CI) runs as test any file that starts with "test*".
The solution is to rename the examples under: examples/workground/reson_smith/test*.py
Issue: There is missing functionality from the process_manager. Some of this has been addressed individually in various processing modules; however, this is sloppy and buggy. Additionally, the process_manager currently lives in the process modules. Is this the best place for it? Refactors related to issues #16 and #45 could result in a better location for this module within the code base.
Finally, it could be more advantageous to use networkX than the current module.
Objective: Discuss if it makes more sense to use networkX packages to manage the in-project graph and how much work would be required to make that transition and interface with the netCDF files. If not using networkX, refactor the process_manager to reduce code complexity.
Tasks:
Issue: Codeacy indicates significant code duplication. There are large sections of the code base that have similar functionality that could be compressed. An example is below.
Example: When adding a raw file, three different 'add' methods are called, all with almost the exact same code.
project_info.add_raw:
Objective: Refactor code to reduce complexity and duplication
Issue: OpenBST is designed to work from individual notebooks to present backscatter workflows and results
Aim: Complete first Notebook for public use.
Tasks
Issue: The current process manager stores parent process information, even after closing and re-opening. The notebooks are to be setup currently in a 'run' format.
Objective: Add a reset process manager method. This will set the parent process tracking to null to essentially rerun the processing chain for each calculate run in the notebook.
Tasks:
Issue: @zxcvbnmike15 is not quite the Python Wizard he wishes he was. The code base is somewhat sloppy and not Pythonic
Objective :Refactor code base to make it neater, more explicit, etc.. NO MAJOR REFACTORS, major changes to code structure should be discussed first
Tasks: N/A
Are you working on implementing the 7042 record, waterColumnCompressed? Or are there any open source alternatives that handles this data?
Using type() instead of isinstance() for a typecheck.
Issue: There is no documentation on how to use the project.
Objective: Begin working on the user-manual.
Tasks:
Issue: Results of processing steps must be available for viewing inthe Jupyter Notebook.
Task: Use ipywidgets to create a custom visualization widget.
Tasks:
Issue: The project_info class was originally written to manage the status of input/output files, when the project was modified and other general information about the project. In it's current form it is either poorly utilized, or containing redundant information.
Objective: Open discussion on future utilization of the class. Should its usage be expanded further? Could it's functionality be better refactored into other modules.
Notes: Currently the class manages the info.nc file. Information stored within the file:
Issue: There are still backscatter processing methods/stages that need to be added to the code base.
Object: Add all processing methods on the task list below
Tasks:
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.