v3.2.0 is the first version of Lexos in Python 3.6.x!
Code base changes:
- Refactored to a fully modularized code structure (Zhang et al., 2017).
- Back-end: View, receiver, model structure.
- Front-end: Flask blueprints.
- Python 3.6.x code integrated with type hinting.
- Used Pandas DataFrame as the Doc-Term Matrix data structure.
- Javascript uses newest ES6 features.
- All functions handled with AJAX calls.
- Updated jQuery to v3.x to resolve security problems.
Code quality checks:
- Python Code Checks:
- Code style checked with Flake8 (PEP8/PEP257).
- Unit test with pytest.
- Doc style checked with PydocStyle.
- JS Code Checks:
- Code style checked with ESLint with JavaScript Standard Style.
- Doc style checked with ESLint JSDoc rules.
New functionalities, front-end redesigns and bug fixes.
- Added Bootstrap Consensus Tree (BCT) Beta.
- Added Content/Sentiment Analysis Beta.
- YouTube video instructions for most tools.
- Use bootstrap modal for all error messages to be consistent and error messages are clearer than before.
- Statistics: Added a new plotly box plot and the page layout is re-designed.
- K-Means: Switched to plotly for 2D-Scatter and Voronoi plots. Added a 3D-Scatter visualization method.
- Hierarchical Clustering: Switched to plotly library for visualizations.
- Rolling Window Analysis: Switched to plotly library for the graphing and added support for multiple milestones.
- Topword: Upgraded presentation of the existing document classes.
- Added a popover to highlight our In the Margins Scalar book.
Bug fixes
- In Tokenize section on analyze pages, fixed counts for temporary labels.
- Fixed spinning issue on Chrome.
- Fixed TF-IDF normalize options.
- Fixed download result button on Rolling Window Analysis.
- Corrected error message when an invalid file is uploaded on upload page.
Other changes
- Grey word functionality is removed.
- The "topic clouds" feature in the Multicloud tool, which can be used to analyze data from MALLET-produced topic models, has been temporarily removed. We hope to re-introduce it in the next release.
Citation information
Kleinman, S., LeBlanc, M.D., Drout, M., and Feng, W. (2018). Lexos. v3.2.0 https://github.com/WheatonCS/Lexos/
To see a summary of our refactoring work:
Zhang, C. ’18, Feng, W. ’19, Steffens, E. ’18, de Landaluce, A. ’17, Kleinman, S. and LeBlanc, M.D. (2018). Lexos 2017: Building Reliable Software in Python. The Journal of Computing Sciences in Colleges, v33(6), 124-134.