pystylometry 1.0.0__py3-none-any.whl → 1.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. pystylometry/__init__.py +29 -3
  2. pystylometry/_types.py +963 -259
  3. pystylometry/authorship/__init__.py +23 -2
  4. pystylometry/authorship/additional_methods.py +4 -29
  5. pystylometry/authorship/kilgarriff.py +347 -0
  6. pystylometry/character/character_metrics.py +267 -179
  7. pystylometry/cli.py +427 -0
  8. pystylometry/consistency/__init__.py +57 -0
  9. pystylometry/consistency/_thresholds.py +162 -0
  10. pystylometry/consistency/drift.py +549 -0
  11. pystylometry/dialect/__init__.py +65 -0
  12. pystylometry/dialect/_data/dialect_markers.json +1134 -0
  13. pystylometry/dialect/_loader.py +360 -0
  14. pystylometry/dialect/detector.py +533 -0
  15. pystylometry/lexical/advanced_diversity.py +61 -22
  16. pystylometry/lexical/function_words.py +255 -56
  17. pystylometry/lexical/hapax.py +182 -52
  18. pystylometry/lexical/mtld.py +108 -26
  19. pystylometry/lexical/ttr.py +76 -10
  20. pystylometry/lexical/word_frequency_sophistication.py +1522 -298
  21. pystylometry/lexical/yule.py +136 -50
  22. pystylometry/ngrams/entropy.py +150 -49
  23. pystylometry/readability/additional_formulas.py +1887 -762
  24. pystylometry/readability/ari.py +144 -82
  25. pystylometry/readability/coleman_liau.py +136 -109
  26. pystylometry/readability/flesch.py +177 -73
  27. pystylometry/readability/gunning_fog.py +165 -161
  28. pystylometry/readability/smog.py +123 -42
  29. pystylometry/syntactic/advanced_syntactic.py +76 -14
  30. pystylometry/syntactic/pos_ratios.py +70 -6
  31. pystylometry/syntactic/sentence_stats.py +55 -12
  32. pystylometry/syntactic/sentence_types.py +71 -15
  33. pystylometry/viz/__init__.py +71 -0
  34. pystylometry/viz/drift.py +589 -0
  35. pystylometry/viz/jsx/__init__.py +31 -0
  36. pystylometry/viz/jsx/_base.py +144 -0
  37. pystylometry/viz/jsx/report.py +677 -0
  38. pystylometry/viz/jsx/timeline.py +716 -0
  39. pystylometry/viz/jsx/viewer.py +1032 -0
  40. {pystylometry-1.0.0.dist-info → pystylometry-1.1.0.dist-info}/METADATA +5 -2
  41. pystylometry-1.1.0.dist-info/RECORD +63 -0
  42. {pystylometry-1.0.0.dist-info → pystylometry-1.1.0.dist-info}/WHEEL +1 -1
  43. pystylometry-1.1.0.dist-info/entry_points.txt +4 -0
  44. pystylometry-1.0.0.dist-info/RECORD +0 -46
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pystylometry
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Comprehensive Python package for stylometric analysis
5
5
  License: MIT
6
6
  Keywords: stylometry,nlp,text-analysis,authorship,readability,lexical-diversity,readability-metrics
@@ -14,6 +14,8 @@ Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
17
19
  Classifier: Programming Language :: Python :: 3.10
18
20
  Classifier: Programming Language :: Python :: 3.9
19
21
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
@@ -31,6 +33,7 @@ Description-Content-Type: text/markdown
31
33
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
32
34
  [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
33
35
  [![PyPI version](https://badge.fury.io/py/pystylometry.svg)](https://badge.fury.io/py/pystylometry)
36
+ [![Downloads](https://pepy.tech/badge/pystylometry)](https://pepy.tech/project/pystylometry)
34
37
 
35
38
  A comprehensive Python package for stylometric analysis with modular architecture and optional dependencies.
36
39
 
@@ -0,0 +1,63 @@
1
+ pystylometry/__init__.py,sha256=UQGe2EJUdMh1rE1zmIGNqrMgbipAhPDDU5Cvp_w--64,8594
2
+ pystylometry/_normalize.py,sha256=7tdfgAKg5CI2d4eoDypmFqOVByoxpwgUUZD6vyBH86A,8679
3
+ pystylometry/_types.py,sha256=OOKJ0Y_2OtaiQn_Y0EVHTOkPrNlWDhdu5Jl-4quuNZw,74257
4
+ pystylometry/_utils.py,sha256=CXTx4KDJ_6iiHcc2OXqOYs-izhLf_ZEmJFKdHyd7q34,5282
5
+ pystylometry/authorship/__init__.py,sha256=QJMZ9xx5mf3u9X-HAdZsgqzZGhi4G6Pgj7wjNYGholE,1343
6
+ pystylometry/authorship/additional_methods.py,sha256=ZCYwM_OEq3fCZGkCL0wsOUBiMSvrF1paVON4xueJDW4,2583
7
+ pystylometry/authorship/burrows_delta.py,sha256=6XC8I7EcBTLbn9BNKZsOtL0otL4vKFX10aHBlU4Bki4,5677
8
+ pystylometry/authorship/kilgarriff.py,sha256=Hqv5Ww7s_Tn4KSpcDAE_dTVESv4X3pglkQt0bYjQGW0,13097
9
+ pystylometry/authorship/zeta.py,sha256=oOi9Y6ZPq15ILLVl6So9O9ERvzig26en6_dpQJWeoOc,4338
10
+ pystylometry/character/__init__.py,sha256=CiiKJmZ10UJE8qAecavpOKyw-vGonsOew_mFH34ZOC0,371
11
+ pystylometry/character/character_metrics.py,sha256=OCIGP_ivtwtzcifcxcbmp2R5SIKh2tKyvKcHAv64S8g,14029
12
+ pystylometry/cli.py,sha256=z0yx2O_E05tHT9_BHgSaQ2zq5_fBERXfhbYHcuQ2y-A,15477
13
+ pystylometry/consistency/__init__.py,sha256=l7nzpS7M4yHDBbM2LGAtW0XGT2n7YjSey_1xKf45224,2181
14
+ pystylometry/consistency/_thresholds.py,sha256=5fZwdJ_cnDy0ED7CCYs6V_zP6kIAR1p0h0NYkbZ0HRg,6381
15
+ pystylometry/consistency/drift.py,sha256=ZqK7YJXic8ceIfQLkH9ZtXFJCFyOuto5Mktz4qLG9ps,20682
16
+ pystylometry/dialect/__init__.py,sha256=6S4OKymniuDXPm3ZMqWyy9179RlWoLJoDzkCP4P7Jss,2486
17
+ pystylometry/dialect/_data/dialect_markers.json,sha256=DthluOA6q0rG_8IrCrFIYWh_EMvINqYv7W664sEjNN4,51799
18
+ pystylometry/dialect/_loader.py,sha256=M2ATp-5754v_yX9EWvBP0r5qgNf8xlL8XadVsVb_Hco,12989
19
+ pystylometry/dialect/detector.py,sha256=9x0ZuIfTIjsmdNSx0Ezy5AC0SAFtC4kVw11iOSBd9gQ,20147
20
+ pystylometry/lexical/__init__.py,sha256=HTncnGVZgpktZqpf-r4_HI_9Jq42WkZZKXn8nho3y3s,751
21
+ pystylometry/lexical/advanced_diversity.py,sha256=rL1hlNqTnaEFcA2v4oBJlojHZMTqdvvm4jYXTFGVpYE,25664
22
+ pystylometry/lexical/function_words.py,sha256=eel9bq_qWgWlvG0NtDiouilMt9kaFqz2rh3add2UC4U,17832
23
+ pystylometry/lexical/hapax.py,sha256=djTqZyZIYXa3GRiPoy6TTGHPm0wCRNJ9U0Rwnf5NoDk,12173
24
+ pystylometry/lexical/mtld.py,sha256=XpeCF8sOXZhWbaazHGuqm08mrOf_DYfkfGGAltWnyy4,7101
25
+ pystylometry/lexical/ttr.py,sha256=iEsXkoSPyZEyiiFwKatKA8KhLRukD7RDRvyRkRQOTsk,5848
26
+ pystylometry/lexical/word_frequency_sophistication.py,sha256=OHOS0fBvd1Bz8zsJk-pJbWLTgImmBd-aewQnp_kq8BY,38828
27
+ pystylometry/lexical/yule.py,sha256=NXggha8jmQCu4i-qKZpISwyJBqNpuPHyVR86BLDLgio,5192
28
+ pystylometry/ngrams/__init__.py,sha256=eyITmSG4QP1NtVSagPsvc4j6W_E8TdB9wvBvXQHUnwo,379
29
+ pystylometry/ngrams/entropy.py,sha256=i2RzYXrcTTIv6QaUCNQjAahL5LFOctG3ZE1OJ_tY4II,7246
30
+ pystylometry/ngrams/extended_ngrams.py,sha256=OsBHTaaK73ZOhpS_yG2aWip1yWY2Fitdte0qx3wIshc,9475
31
+ pystylometry/prosody/__init__.py,sha256=9tiD-U4sqEtUV8n9X339oF_C5tBNingjL-shGBXOrnY,265
32
+ pystylometry/prosody/rhythm_prosody.py,sha256=V9OoxV5d4AZRZAb2HDY7-iEK1ijE7gtHhvFRD2DJvdA,1960
33
+ pystylometry/readability/__init__.py,sha256=bJenjlGpNx7FF5AfOb6VA-wODdIa7Hc9iqoba1DLlh0,637
34
+ pystylometry/readability/additional_formulas.py,sha256=nlVegnn_RRh6TP0BoLWlLBNnAgtFqLqyDsxFN_fUrAg,44993
35
+ pystylometry/readability/ari.py,sha256=_wPl0FjEReLRHN0v4JQbRaU_kbikIxkr9mLO6hmNVyI,6833
36
+ pystylometry/readability/coleman_liau.py,sha256=NcEQFGEJxCubCP3dnWnPmlHAIhkDYXd5hIq3xSTHULk,6319
37
+ pystylometry/readability/complex_words.py,sha256=QyD4m-DeArLPoJzT85oRgj5Ry72eQNVwWpQkxz3IKMo,20717
38
+ pystylometry/readability/flesch.py,sha256=7kMeqpYnm-oqQGsDw7yJBhFecXB5ZRU9C8P4UKjWYD4,7985
39
+ pystylometry/readability/gunning_fog.py,sha256=ntV90NUfqSm_84H1jBa2Fhr5DhlkderHLq8_z3khb48,8375
40
+ pystylometry/readability/smog.py,sha256=8hdQQHUR9UBP-02AyZK3TbNhyyE1LQuZmlnVrs5Yvrk,5742
41
+ pystylometry/readability/syllables.py,sha256=U_tO1fmdOh2xyIJVkFooGMhmZs1hqlFPBa9wBjEwLw8,4272
42
+ pystylometry/stylistic/__init__.py,sha256=nMykFZUCUKj-ZTk5H0OSKn24w6CSVEVIWieNG2B2hhc,581
43
+ pystylometry/stylistic/cohesion_coherence.py,sha256=M_Pqfj0ZfCLDZBKFQCPx7rX9k6mxWFOjIsm1gsLdFyg,1618
44
+ pystylometry/stylistic/genre_register.py,sha256=R32csC0M3eRcnACJNqMsyN-1ucMwdK8Twm5Tsa0Dd4k,1664
45
+ pystylometry/stylistic/markers.py,sha256=s0ybwUZ6_wE064NXL9kQeTLKVeSHScFgZip7zkKYi2U,5134
46
+ pystylometry/stylistic/vocabulary_overlap.py,sha256=TD8Rn32htB6MPHjc9xkr0LepJ6Q9k7f6uJvZt9_5aXA,1717
47
+ pystylometry/syntactic/__init__.py,sha256=B9qe0R7w9t5x2s2dXygSuvciuEHrScgD3CkxvPWKMPE,391
48
+ pystylometry/syntactic/advanced_syntactic.py,sha256=ygbm7y1hrNJCaIxRCfZsafvt6BInh2iCTY1eWk2PdaE,19195
49
+ pystylometry/syntactic/pos_ratios.py,sha256=lcvtx6tshVG6MpTWivyWnqFsjFXIHK3LCqyg2AL2AjY,7444
50
+ pystylometry/syntactic/sentence_stats.py,sha256=SJg6TYCiT3gs2bXHYuEMSRgzFnxqOCH5q6WyhjXKgH4,4947
51
+ pystylometry/syntactic/sentence_types.py,sha256=xEQPieGqTInCz9BinvItBX5Z_ofQ-BbFwTFNgY0jWx0,18730
52
+ pystylometry/tokenizer.py,sha256=03FEF4kKp72v-ypbtMg8u0WyVJGk3YJx6Nw3SGzyAnA,18166
53
+ pystylometry/viz/__init__.py,sha256=3kHMAcJJi8oPhTqUZIRdyf311cdyPOHWaJIUv-w0V04,2219
54
+ pystylometry/viz/drift.py,sha256=r98gQ4s_IlrEuaouxDMyue3cTjGqj10i4IeKC01IuCo,18956
55
+ pystylometry/viz/jsx/__init__.py,sha256=ZCgbpMPhG5PiJ92IkJRrZwrb7RodZB9MyauO0MGgbRM,1107
56
+ pystylometry/viz/jsx/_base.py,sha256=nd7kEc13fUcRMom3A5jqjGyTy-djIeydq2k3oPHZIHY,3708
57
+ pystylometry/viz/jsx/report.py,sha256=DbbHnnNAEi5tmVg4PmiHb17vkBBXujyE4x1CfVBiOBw,25857
58
+ pystylometry/viz/jsx/timeline.py,sha256=hor-xnBa6oVkSqN0AEZUCQFBOB-iTfHSFZHiEfeakPA,30716
59
+ pystylometry/viz/jsx/viewer.py,sha256=3LO49d_2bRf_P-P-2oSKpKx4N8Ugo4oCLb3DtvyNxXI,43716
60
+ pystylometry-1.1.0.dist-info/METADATA,sha256=QEXVX6buqxGwilLuOIvjFT2ZxoPNazUWX1iyhaM8vI8,8348
61
+ pystylometry-1.1.0.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
62
+ pystylometry-1.1.0.dist-info/entry_points.txt,sha256=iHOaFXlyiwcQM1LlID2gWGmN4DBLdTSpKGjttU8tgm8,113
63
+ pystylometry-1.1.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 2.3.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ pystylometry-drift=pystylometry.cli:drift_cli
3
+ pystylometry-viewer=pystylometry.cli:viewer_cli
4
+
@@ -1,46 +0,0 @@
1
- pystylometry/__init__.py,sha256=Urm3eneHIeYF08vjzHE5F26whK8hCJMduhyhxowW3Pw,7398
2
- pystylometry/_normalize.py,sha256=7tdfgAKg5CI2d4eoDypmFqOVByoxpwgUUZD6vyBH86A,8679
3
- pystylometry/_types.py,sha256=x03IN6w5YEzqJbTgpFN3K80-3fjw7AVBVkDSYO7-JaI,55649
4
- pystylometry/_utils.py,sha256=CXTx4KDJ_6iiHcc2OXqOYs-izhLf_ZEmJFKdHyd7q34,5282
5
- pystylometry/authorship/__init__.py,sha256=sJ2Oe3VVJubGY-VbWmKImaZmjk6FXgVOuj5L1RUpoH8,396
6
- pystylometry/authorship/additional_methods.py,sha256=eqpnT_W9CZgLFeiut0XwMlYjnnzeMCbkp66W1tKUc6A,3393
7
- pystylometry/authorship/burrows_delta.py,sha256=6XC8I7EcBTLbn9BNKZsOtL0otL4vKFX10aHBlU4Bki4,5677
8
- pystylometry/authorship/zeta.py,sha256=oOi9Y6ZPq15ILLVl6So9O9ERvzig26en6_dpQJWeoOc,4338
9
- pystylometry/character/__init__.py,sha256=CiiKJmZ10UJE8qAecavpOKyw-vGonsOew_mFH34ZOC0,371
10
- pystylometry/character/character_metrics.py,sha256=J_WVnN851GbUALQPXPFCW3_zesU6Q2oHsAmEzCfD98k,10959
11
- pystylometry/lexical/__init__.py,sha256=HTncnGVZgpktZqpf-r4_HI_9Jq42WkZZKXn8nho3y3s,751
12
- pystylometry/lexical/advanced_diversity.py,sha256=M2wMrmafljtMnWSrMzZjMI-GYRTIUd0tvNfSKZoWV6g,23967
13
- pystylometry/lexical/function_words.py,sha256=YXuMMqj9vVZHE4UiRRV8ng4xSovuxPMo9FuqLlbDung,15359
14
- pystylometry/lexical/hapax.py,sha256=URupABCzIyq1a7JmoEBo2HEpxTyghQo-z-aPHbtIhJU,7853
15
- pystylometry/lexical/mtld.py,sha256=8X25sDIq2HJusBJlr5RmHM9TBMAof_vo9TYc1x4onUI,4596
16
- pystylometry/lexical/ttr.py,sha256=-9hFM7jhZg0Ft4aboTkihTnH7kectM9n7CflKbAfr30,3279
17
- pystylometry/lexical/word_frequency_sophistication.py,sha256=Qp6_ZqukgmYQTD_qg0NG3qU7uq9tbbfnQ4rqxn5m21o,36395
18
- pystylometry/lexical/yule.py,sha256=cuxKjIIFSjiKI9ukZPMMaKeHUVPVngsu4QDZeQ3ZkeU,2849
19
- pystylometry/ngrams/__init__.py,sha256=eyITmSG4QP1NtVSagPsvc4j6W_E8TdB9wvBvXQHUnwo,379
20
- pystylometry/ngrams/entropy.py,sha256=8WT1YaZHRh_0GOEycBzQOzObHZFme5oMf6_lBaEo4ZU,3876
21
- pystylometry/ngrams/extended_ngrams.py,sha256=OsBHTaaK73ZOhpS_yG2aWip1yWY2Fitdte0qx3wIshc,9475
22
- pystylometry/prosody/__init__.py,sha256=9tiD-U4sqEtUV8n9X339oF_C5tBNingjL-shGBXOrnY,265
23
- pystylometry/prosody/rhythm_prosody.py,sha256=V9OoxV5d4AZRZAb2HDY7-iEK1ijE7gtHhvFRD2DJvdA,1960
24
- pystylometry/readability/__init__.py,sha256=bJenjlGpNx7FF5AfOb6VA-wODdIa7Hc9iqoba1DLlh0,637
25
- pystylometry/readability/additional_formulas.py,sha256=KNH_7v_eAXv8HhSJfGW54529QGanWKbQfldhIn340BA,41794
26
- pystylometry/readability/ari.py,sha256=DufnzoPhI3DbeXu_B5fH7T4D7MydvII5f0CDWsLYgPo,4642
27
- pystylometry/readability/coleman_liau.py,sha256=nJ3YZxSoH2WeFgkTDxPlYWCdGWx8n79BG4ziX0-DePg,7111
28
- pystylometry/readability/complex_words.py,sha256=QyD4m-DeArLPoJzT85oRgj5Ry72eQNVwWpQkxz3IKMo,20717
29
- pystylometry/readability/flesch.py,sha256=R78aEIr4CyOP6oNRIbXF1RtsZxmFrgSw215ZIziviVU,5007
30
- pystylometry/readability/gunning_fog.py,sha256=lZqLCRqDAxN6FHdwMRwA-6JlsEYZd0k1MfT-Jo87Oqo,9978
31
- pystylometry/readability/smog.py,sha256=YTKYzP9giudzT7dK068uWTFNCDFbM-hGt_2Fjw43cF4,3272
32
- pystylometry/readability/syllables.py,sha256=U_tO1fmdOh2xyIJVkFooGMhmZs1hqlFPBa9wBjEwLw8,4272
33
- pystylometry/stylistic/__init__.py,sha256=nMykFZUCUKj-ZTk5H0OSKn24w6CSVEVIWieNG2B2hhc,581
34
- pystylometry/stylistic/cohesion_coherence.py,sha256=M_Pqfj0ZfCLDZBKFQCPx7rX9k6mxWFOjIsm1gsLdFyg,1618
35
- pystylometry/stylistic/genre_register.py,sha256=R32csC0M3eRcnACJNqMsyN-1ucMwdK8Twm5Tsa0Dd4k,1664
36
- pystylometry/stylistic/markers.py,sha256=s0ybwUZ6_wE064NXL9kQeTLKVeSHScFgZip7zkKYi2U,5134
37
- pystylometry/stylistic/vocabulary_overlap.py,sha256=TD8Rn32htB6MPHjc9xkr0LepJ6Q9k7f6uJvZt9_5aXA,1717
38
- pystylometry/syntactic/__init__.py,sha256=B9qe0R7w9t5x2s2dXygSuvciuEHrScgD3CkxvPWKMPE,391
39
- pystylometry/syntactic/advanced_syntactic.py,sha256=y41g5kpGbKZXHDDumCbJDhpnu9HFiDsN4obl178DE38,16357
40
- pystylometry/syntactic/pos_ratios.py,sha256=lEPE1LxcML1ydzEo_3eCjpAIPndtU5c_QsRyVWEf4ns,4848
41
- pystylometry/syntactic/sentence_stats.py,sha256=W4tEu9JV6cDZw1IRwT20UHcwqdomcN3QogNLlTd3xlc,3200
42
- pystylometry/syntactic/sentence_types.py,sha256=txWgDgN5AjL1wTAHVTp7PnBD1DMgildcYE1Ysd3Jgok,16342
43
- pystylometry/tokenizer.py,sha256=03FEF4kKp72v-ypbtMg8u0WyVJGk3YJx6Nw3SGzyAnA,18166
44
- pystylometry-1.0.0.dist-info/METADATA,sha256=VHK8TpynEpNCdJdUY8jYtxaKKs7C9YAA5zTAntuH-SI,8153
45
- pystylometry-1.0.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
46
- pystylometry-1.0.0.dist-info/RECORD,,