# neosca
**Repository Path**: tanloong/neosca
## Basic Information
- **Project Name**: neosca
- **Description**: L2SCA & LCA fork: cross-platform, GUI, no Java dependency
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 8
- **Created**: 2022-08-27
- **Last Updated**: 2026-04-10
## Categories & Tags
**Categories**: nature-language
**Tags**: syntactic-complexity, linguistics
## README
# NeoSCA
[](https://github.com/tanloong/neosca/actions?query=workflow%3Abuild)
[](https://github.com/tanloong/neosca/actions?query=workflow%3ALint)
[](https://codecov.io/gh/tanloong/neosca)
[](https://www.codacy.com/gh/tanloong/neosca/dashboard?utm_source=github.com&utm_medium=referral&utm_content=tanloong/neosca&utm_campaign=Badge_Grade)
[](https://github.com/tanloong/neosca/commits/master)


[](https://github.com/tanloong/neosca/blob/master/LICENSE)
NeoSCA is a fork of [Xiaofei Lu](http://personal.psu.edu/xxl13/index.html)'s [L2 Syntactic Complexity Analyzer](http://personal.psu.edu/xxl13/downloads/l2sca.html) (L2SCA) and [Lexical Complexity Analyzer](https://sites.psu.edu/xxl13/lca/) (LCA). Starting from version 0.1.0, NeoSCA has a graphical interface and no longer requires Java installation, it has translated a portion of the Tregex code into Python and favors Stanza over Stanford Parser.
## Usage
### GUI
Download and run the packaged application
|Release|Remarks|
|-|-|
|[Latest Release for Windows 10/11](https://github.com/tanloong/neosca/releases/download/0.1.4/NeoSCA-0.1.4-windows.zip)|1. Extract all files
2. Double-click **NeoSCA/NeoSCA.exe** to run|
|[Latest Release for macOS>=10.15.7](https://github.com/tanloong/neosca/releases/download/0.1.4/NeoSCA-0.1.4-macos.zip)|1. Extract all files
2. Search and open **Terminal** in Launchpad, then type `xattr -rc ` (note the trailing whitespace), drag the whole **NeoSCA** directory to the **Terminal**, and press `Enter`
3. Double-click **NeoSCA.app** to run|
|[Latest Release for Arch Linux](https://github.com/tanloong/neosca/releases/download/0.1.4/NeoSCA-0.1.4-linux.tar.gz)|1. Extract all files
2. Double-click **NeoSCA/NeoSCA** to run
|
|[Past Releases](https://github.com/tanloong/neosca/releases)|Not recommended|
|[Baidu Netdisk](https://pan.baidu.com/s/1okMY3Dw20jQJtQfS6KtlYw?pwd=nsca)|For users with unstable connections to GitHub|
> [!NOTE]
> On macOS if NeoSCA pops up an error saying **OSError: [Errno 30] Read-only file system**, please open the **Preferences** - **Settings** - **Miscellaneous** setting page and uncheck the **Cache uncached files for faster future runs** box. The caching fails without the write permission for the hardcoded cache path. This issue will be fixed in the next release.
### Command Line
Install NeoSCA from the source code
```
pip install git+https://github.com/tanloong/neosca
```
Run SCA or LCA by
```
python -m neosca sca filepath.txt
python -m neosca sca --text 'This is a test.'
python -m neosca lca filepath.txt
python -m neosca lca --text 'This is a test.'
```
To see other command line options please use
```
python -m neosca --help
python -m neosca sca --help
python -m neosca lca --help
```
## Citing
If you use NeoSCA in your research, please cite as follows.
BibTeX
```BibTeX
@misc{long2024neosca,
title = {NeoSCA: A Fork of L2 Syntactic Complexity Analyzer, version 0.1.4},
author = {Long Tan},
howpublished = {\url{https://github.com/tanloong/neosca}},
year = {2024}
}
```
APA (7th edition)
Tan, L. (2024). NeoSCA (version 0.1.4) [Computer software]. GitHub. https://github.com/tanloong/neosca
MLA (9th edition)
Tan, Long. NeoSCA. version 0.1.4, GitHub, 2024, https://github.com/tanloong/neosca.
If you use the Syntactic Complexity Analyzer module of NeoSCA, please cite Xiaofei's article describing L2SCA as well.
BibTeX
```BibTeX
@article{xiaofei2010automatic,
title = {Automatic analysis of syntactic complexity in second language writing},
author = {Xiaofei Lu},
journal = {International journal of corpus linguistics},
volume = {15},
number = {4},
pages = {474--496},
year = {2010},
publisher = {John Benjamins Publishing Company},
doi = {10.1075/ijcl.15.4.02lu},
}
```
APA (7th edition)
Lu, X. (2010). Automatic analysis of syntactic complexity in second language writing. International Journal of Corpus Linguistics, 15(4), 474-496. https://doi.org/10.1075/ijcl.15.4.02lu
MLA (9th edition)
Lu, Xiaofei. "Automatic Analysis of Syntactic Complexity in Second Language Writing." International Journal of Corpus Linguistics, vol. 15, no. 4, John Benjamins Publishing Company, 2010, pp. 474-96, https://doi.org/10.1075/ijcl.15.4.02lu
If you use the Lexical Complexity Analyzer module of NeoSCA, please also cite Xiaofei's article about LCA.
BibTeX
```BibTeX
@article{xiaofei2012relationship,
author = {Xiaofei Lu},
title = {The Relationship of Lexical Richness to the Quality of ESL Learners' Oral Narratives},
journal = {The Modern Language Journal},
volume = {96},
number = {2},
pages = {190-208},
doi = {https://doi.org/10.1111/j.1540-4781.2011.01232\_1.x},
year = {2012}
}
```
APA (7th edition)
Lu, X. (2012). The relationship of lexical richness to the quality of ESL learners' oral narratives. The Modern Language Journal, 96(2), 190-208.
MLA (9th edition)
Lu, Xiaofei. "The Relationship of Lexical Richness to the Quality of ESL Learners' Oral Narratives." The Modern Language Journal, vol. 96, no. 2, Wiley-Blackwell, 2012, pp. 190-208.
## Contact
You can send bug reports, feature requests, or any questions via:
+ [GitHub Issues](https://github.com/tanloong/neosca/issues)
+ tanloong@foxmail.com