AI Slop Code RIsk Monitor

akfamily/akshare

AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库

9.4 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for akfamily/akshare, a Python project with 22,886 GitHub stars. SynthScan examined 189,296 lines of code across 485 source files, recording 1894 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 9.4 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

9.4
Adjusted Signal
9.4
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
22.9K
Stars
Python
Language
189.3K
Lines of Code
485
Files
1.9K
Pattern Hits
2026-10-12
Scan Date
0.23
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 14.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 615 finding(s).

Hallucinated Dependency & Supply Chain Risk 20.7/100 · LOW

Are imports declared and package/API names verified? 1173 finding(s).

Agent Over-Engineering Ratio 19.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 607 finding(s).

PR Review Velocity Impact 48.6/100 · MEDIUM

Which changes need focused human review? 1894 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 112MEDIUM 34LOW 1748

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1894 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Unused Imports1108 hits · 564 pts
SeverityFileLineSnippetContext
LOWakshare/__init__.py3311CODE
LOWakshare/__init__.py3317CODE
LOWakshare/__init__.py3317CODE
LOWakshare/__init__.py3317CODE
LOWakshare/__init__.py3326CODE
LOWakshare/__init__.py3331CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3336CODE
LOWakshare/__init__.py3348CODE
LOWakshare/__init__.py3348CODE
LOWakshare/__init__.py3353CODE
LOWakshare/__init__.py3358CODE
LOWakshare/__init__.py3363CODE
LOWakshare/__init__.py3368CODE
LOWakshare/__init__.py3373CODE
LOWakshare/__init__.py3378CODE
LOWakshare/__init__.py3378CODE
LOWakshare/__init__.py3383CODE
LOWakshare/__init__.py3383CODE
LOWakshare/__init__.py3388CODE
LOWakshare/__init__.py3388CODE
LOWakshare/__init__.py3393CODE
LOWakshare/__init__.py3393CODE
LOWakshare/__init__.py3393CODE
LOWakshare/__init__.py3402CODE
LOWakshare/__init__.py3402CODE
LOWakshare/__init__.py3402CODE
LOWakshare/__init__.py3402CODE
LOWakshare/__init__.py3411CODE
LOWakshare/__init__.py3411CODE
LOWakshare/__init__.py3411CODE
LOWakshare/__init__.py3416CODE
LOWakshare/__init__.py3421CODE
LOWakshare/__init__.py3421CODE
LOWakshare/__init__.py3421CODE
LOWakshare/__init__.py3430CODE
LOWakshare/__init__.py3430CODE
LOWakshare/__init__.py3435CODE
LOWakshare/__init__.py3435CODE
LOWakshare/__init__.py3440CODE
LOWakshare/__init__.py3440CODE
LOWakshare/__init__.py3445CODE
LOWakshare/__init__.py3445CODE
LOWakshare/__init__.py3450CODE
LOWakshare/__init__.py3450CODE
LOWakshare/__init__.py3458CODE
LOWakshare/__init__.py3458CODE
LOWakshare/__init__.py3463CODE
LOWakshare/__init__.py3468CODE
LOWakshare/__init__.py3473CODE
LOWakshare/__init__.py3478CODE
LOWakshare/__init__.py3483CODE
LOWakshare/__init__.py3483CODE
LOWakshare/__init__.py3483CODE
LOWakshare/__init__.py3488CODE
LOWakshare/__init__.py3488CODE
1048 more matches not shown…
Hyper-Verbose Identifiers494 hits · 483 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_registry.py18def test_tokenize_splits_on_whitespace_and_punctuation():CODE
LOW⚡tests/test_registry.py23def test_tokenize_drops_empty():CODE
LOW⚡tests/test_registry.py27def test_score_exact_name_match_dominates():CODE
LOW⚡tests/test_registry.py31def test_score_desc_hit_lower_than_name_hit():CODE
LOW⚡tests/test_registry.py37def test_score_matches_output_column():CODE
LOW⚡tests/test_registry.py41def test_score_all_tokens_hit_gets_bonus():CODE
LOW⚡tests/test_registry.py47def test_score_undocumented_is_downweighted():CODE
LOW⚡tests/test_registry.py51def test_score_no_hit_returns_zero():CODE
LOW⚡tests/test_registry.py187def test_search_returns_dataframe_with_expected_columns():CODE
LOW⚡tests/test_registry.py194def test_search_empty_result_keeps_columns():CODE
LOW⚡tests/test_registry.py200def test_search_respects_limit():CODE
LOW⚡tests/test_registry.py204def test_search_filters_by_category():CODE
LOW⚡tests/test_registry.py209def test_search_documented_only_excludes_undocumented():CODE
LOW⚡tests/test_registry.py215def test_interface_info_returns_full_record():CODE
LOW⚡tests/test_registry.py221def test_interface_info_unknown_name_suggests_candidates():CODE
LOW⚡tests/test_registry.py227def test_interface_info_deepcopy_isolates_nested_structures(monkeypatch):CODE
LOW⚡tests/test_registry.py265def test_list_categories_counts():CODE
LOW⚡tests/test_registry.py271def test_bigrams_single_char_returns_empty():CODE
LOW⚡tests/test_registry.py275def test_bigrams_compresses_whitespace_before_splitting():CODE
LOW⚡tests/test_registry.py279def test_search_exact_name_is_ranked_first():CODE
LOW⚡tests/test_registry.py315def test_search_exact_name_survives_trailing_punctuation(suffix, monkeypatch):CODE
LOW⚡tests/test_registry.py321def test_search_unspaced_query_recalls_via_bigram_fallback():CODE
LOW⚡tests/test_registry.py330def test_search_negative_limit_raises():CODE
LOW⚡tests/test_registry.py335def test_search_empty_query_returns_empty_with_columns():CODE
LOWtests/test_registry.py67def test_score_normalizes_whitespace_between_latin_and_cjk():CODE
LOWtests/test_registry.py87def test_score_does_not_match_across_adjacent_column_boundary():CODE
LOWtests/test_registry.py102def test_score_category_only_hit_is_positive():CODE
LOWtests/test_registry.py106def test_score_desc_gt_category_gt_output_when_each_hits_alone():CODE
LOW⚡tests/test_registry_integration.py12def test_public_api_is_exported():CODE
LOW⚡tests/test_registry_integration.py20def test_real_search_returns_callable_interfaces():CODE
LOW⚡tests/test_registry_integration.py30def test_every_registry_entry_is_reachable():CODE
LOWtests/test_legu_csrf.py86def test_csrf_error_message_mentions_status_and_source(patch_get):CODE
LOWtests/test_legu_csrf.py100def test_csrf_wraps_connection_error_without_response(monkeypatch):CODE
LOWtests/test_legu_csrf.py114def test_csrf_raises_parsing_error_when_tag_missing(patch_get):CODE
LOWtests/test_legu_csrf.py125def test_csrf_returns_token_on_normal_page(patch_get):CODE
LOWtests/test_legu_csrf.py135def test_csrf_does_not_mutate_shared_headers(patch_get):CODE
LOWtests/test_check_release.py39def test_parse_tag_extracts_version():CODE
LOWtests/test_check_release.py47def test_parse_tag_rejects_malformed(tag):CODE
LOW⚡tests/test_check_release.py59def test_read_version_without_declaration_raises(tmp_path):CODE
LOW⚡tests/test_check_release.py66def test_has_version_entry_requires_line_start():CODE
LOW⚡tests/test_check_release.py74def test_collect_problems_passes_when_all_aligned(tmp_path):CODE
LOW⚡tests/test_check_release.py79def test_collect_problems_detects_tag_version_mismatch(tmp_path):CODE
LOW⚡tests/test_check_release.py86def test_collect_problems_detects_missing_changelog_entry(tmp_path):CODE
LOW⚡tests/test_check_release.py92def test_collect_problems_detects_missing_init_history(tmp_path):CODE
LOW⚡tests/test_check_release.py98def test_collect_problems_reports_every_problem_at_once(tmp_path):CODE
LOW⚡tests/test_build_registry.py85def test_parse_table_missing_header_returns_empty():CODE
LOW⚡tests/test_build_registry.py89def test_parse_table_pads_missing_desc_when_row_has_two_cells():CODE
LOW⚡tests/test_build_registry.py95def test_parse_table_truncates_extra_column_when_row_has_four_cells():CODE
LOWtests/test_build_registry.py169def test_collect_doc_records_category_from_parent_dir_name(tmp_path):CODE
LOWtests/test_build_registry.py179def test_collect_doc_records_supports_fullwidth_colon(tmp_path):CODE
LOW⚡tests/test_build_registry.py65def test_parse_table_reads_rows():STRING
LOW⚡tests/test_build_registry.py73def test_parse_table_picks_correct_header():STRING
LOW⚡tests/test_build_registry.py78def test_parse_table_stops_at_blank_line_not_next_table():STRING
LOW⚡tests/test_build_registry.py314def test_serialize_has_no_timestamp_or_version():STRING
LOW⚡tests/test_build_registry.py320def test_serialize_ends_with_single_newline():STRING
LOW⚡tests/test_build_registry.py329def test_baseline_allows_known_gaps():STRING
LOW⚡tests/test_build_registry.py335def test_baseline_rejects_new_undocumented():STRING
LOW⚡tests/test_build_registry.py343def test_baseline_rejects_new_orphan():STRING
LOW⚡tests/test_build_registry.py351def test_baseline_rejects_stale_entry():STRING
LOW⚡tests/test_build_registry.py360def test_baseline_rejects_fixed_orphan():STRING
434 more matches not shown…
Cross-Language Confusion65 hits · 315 pts
SeverityFileLineSnippetContext
HIGH⚡akshare/utils/demjson.py239# ECMAScript has an undefined value (similar to yet distinct from null).COMMENT
HIGH⚡akshare/utils/demjson.py240# Neither Python or strict JSON have support undefined, but to allowCOMMENT
HIGHakshare/utils/demjson.py260syntax_error = _undefined_class() # same as undefined, but has separate identityCODE
HIGHakshare/utils/demjson.py3164 "Arrays may have omitted/elided elements, e.g., [1,,3] == [1,undefined,3]",CODE
HIGHakshare/utils/demjson.py5201 obj.append(undefined)CODE
HIGH⚡akshare/stock/cons.py101 c.push(c0);CODE
HIGH⚡akshare/stock/cons.py102 if (c.length == 3 || i == s.length - 1)CODE
HIGH⚡akshare/stock/cons.py106 c.push(0);CODE
HIGH⚡akshare/stock/cons.py108 a.push((c[0] >> 2) & 63);CODE
HIGH⚡akshare/stock/cons.py109 a.push(((c[1] >> 4) | (c[0] << 6)) & 63);CODE
HIGH⚡akshare/stock/cons.py110 a.push(((c[1] << 4) | (c[2] >> 2)) & 63);CODE
HIGH⚡akshare/stock/cons.py111 a.push(c[2] & 63);CODE
HIGH⚡akshare/stock/cons.py117 a.push(0);CODE
HIGH⚡akshare/stock/cons.py437 t = 0; !(e >= n) && (e != n - 1 || 7 & (r.c ^ t)); t++) {CODE
HIGH⚡akshare/stock/cons.py445 u = "v" == m && r.rv ? y() : 1,CODE
HIGH⚡akshare/stock/cons.py449 if (!(l[h[m]] = a) && (s > 1 || 241 > t) && (r.zv ? !y() : 1)) {CODE
HIGH⚡akshare/stock/cons.py459 c.push(l)CODE
HIGH⚡akshare/stock/cons.py665 t.push(i)CODE
HIGH⚡akshare/stock/cons.py670 if (t = (t || 0).toString(),CODE
HIGH⚡akshare/stock/cons.py675 n.push(Math.floor(e * Math.pow(10, -e) + .5) - 0);CODE
HIGH⚡akshare/stock/cons.py883 t = 0; !(e >= i) && (e != i - 1 || 7 & (o.c ^ t)); t++) {CODE
HIGH⚡akshare/stock/cons.py891 c = "v" == p && o.rv ? _() : 1,CODE
HIGH⚡akshare/stock/cons.py895 if (!(l[d[p]] = r) && (s > 1 || 241 > t) && (o.zv ? !_() : 1)) {CODE
HIGH⚡akshare/stock/cons.py905 u.push(l)CODE
HIGH⚡akshare/stock/cons.py1114 t.push(n)CODE
HIGH⚡akshare/stock/cons.py1121 if (t = (t || 0).toString(),CODE
HIGH⚡akshare/stock/cons.py1126 i.push(Math.floor(e * Math.pow(10, -e) + .5) - 0);CODE
HIGHakshare/stock/cons.py249 for (c.push("+", "/"),CODE
HIGHakshare/stock/cons.py331 (3 == n || 4 == n) && (r.d += 5 - n);CODE
HIGHakshare/stock/cons.py337 for (n = r.wd || 62,CODE
HIGHakshare/stock/cons.py351 e && n[e - 1]++,CODE
HIGHakshare/stock/cons.py405 i.push(l),CODE
HIGHakshare/stock/cons.py406 !(e >= n) && (e != n - 1 || 63 & (r.c ^ t + 1)); t++)CODE
HIGHakshare/stock/cons.py519 l & 1 << 4 - e && i.l_l[e]++,CODE
HIGHakshare/stock/cons.py533 t.push(n)CODE
HIGHakshare/stock/cons.py548 n--)) : t.push(e),CODE
HIGHakshare/stock/cons.py563 for (t = 0; !(e >= n) && (e != n - 1 || 7 & (r.c ^ t)); t++) {CODE
HIGHakshare/stock/cons.py569 a.push(o)CODE
HIGHakshare/stock/cons.py628 !r.b_avp && a.a && (r.u_a = P(i && i.amount || 0, 0, r.p_a))CODE
HIGHakshare/stock/cons.py628 !r.b_avp && a.a && (r.u_a = P(i && i.amount || 0, 0, r.p_a))CODE
HIGHakshare/stock/cons.py641 y() ? y() ? y() ? a.d = x() : r.l_v += N() : r.b_ph && y() ? r["l_" + "et".charAt(r.b_phx &&CODE
HIGHakshare/stock/cons.py695 for (u.push("+", "/"),CODE
HIGHakshare/stock/cons.py777 (3 == i || 4 == i) && (o.d += 5 - i);CODE
HIGHakshare/stock/cons.py783 for (i = o.wd || 62,CODE
HIGHakshare/stock/cons.py797 e && i[e - 1]++,CODE
HIGHakshare/stock/cons.py851 n.push(l),CODE
HIGHakshare/stock/cons.py852 !(e >= i) && (e != i - 1 || 63 & (o.c ^ t + 1)); t++)CODE
HIGHakshare/stock/cons.py965 l & 1 << 4 - e && n.l_l[e]++,CODE
HIGHakshare/stock/cons.py979 t.push(i)CODE
HIGHakshare/stock/cons.py994 i--)) : t.push(e),CODE
HIGHakshare/stock/cons.py1010 for (t = 0; !(e >= i) && (e != i - 1 || 7 & (o.c ^ t)); t++) {CODE
HIGHakshare/stock/cons.py1016 r.push(a)CODE
HIGHakshare/stock/cons.py1077 !o.b_avp && r.a && (o.u_a = C(n && n.amount || 0, 0, o.p_a))CODE
HIGHakshare/stock/cons.py1077 !o.b_avp && r.a && (o.u_a = C(n && n.amount || 0, 0, o.p_a))CODE
HIGHakshare/stock/cons.py1090 _() ? _() ? _() ? r.d = x() : o.l_v += y() : o.b_ph && _() ? o["l_" + "et".charAt(o.b_phx &&CODE
HIGHakshare/stock_feature/stock_cyq_em.py62 yrange.push((minprice + accuracy * i).toFixed(2) / 1);CODE
HIGHakshare/stock_feature/stock_cyq_em.py77 turnoverRate = Math.min(1, eles.hsl / 100 || 0);CODE
HIGHakshare/stock_feature/stock_cyq_em.py185 if (percent > 1 || percent < 0) throw 'argument "percent" out of range';CODE
HIGHakshare/stock_feature/stock_cyq_em.py214 array.push(0);CODE
HIGHakshare/stock_feature/stock_a_pe_and_pb.py20 if (n && n.length) {CODE
5 more matches not shown…
Cross-File Repetition29 hits · 145 pts
SeverityFileLineSnippetContext
HIGHakshare/movie/movie_yien.py0get js file path :param name: file name :type name: str :param module_file: filename :type module_file: str :return: 路径 STRING
HIGHakshare/movie/video_yien.py0get js file path :param name: file name :type name: str :param module_file: filename :type module_file: str :return: 路径 STRING
HIGHakshare/movie/artist_yien.py0get js file path :param name: file name :type name: str :param module_file: filename :type module_file: str :return: 路径 STRING
HIGHakshare/movie/movie_yien.py0read the file content :param file_name: filename :type file_name: str :return: file content :rtype: strSTRING
HIGHakshare/movie/video_yien.py0read the file content :param file_name: filename :type file_name: str :return: file content :rtype: strSTRING
HIGHakshare/movie/artist_yien.py0read the file content :param file_name: filename :type file_name: str :return: file content :rtype: strSTRING
HIGHakshare/bond/bond_issue_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_industry_pe_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_hold_num_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_dividend_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_rank_forecast.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_cg_guarantee.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_hold_control_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_ipo_summary_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_allotment_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_profile_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_industry_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_cg_equity_mortgage.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_share_changes_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock/stock_new_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock_feature/stock_board_industry_ths.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock_feature/stock_technology_ths.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock_feature/stock_board_concept_ths.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/stock_feature/stock_fund_flow.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/fund/fund_report_cninfo.py0获取 js 文件的内容 :param file: js 文件名 :type file: str :return: 文件内容 :rtype: strSTRING
HIGHakshare/economic/macro_china_hk.py0东方财富-数据中心-经济数据一览-宏观经济-德国-核心代码 https://data.eastmoney.com/cjsj/foreign_1_0.html :param symbol: 代码 :type symbol: str :retuSTRING
HIGHakshare/economic/macro_japan.py0东方财富-数据中心-经济数据一览-宏观经济-德国-核心代码 https://data.eastmoney.com/cjsj/foreign_1_0.html :param symbol: 代码 :type symbol: str :retuSTRING
HIGHakshare/economic/macro_swiss.py0东方财富-数据中心-经济数据一览-宏观经济-德国-核心代码 https://data.eastmoney.com/cjsj/foreign_1_0.html :param symbol: 代码 :type symbol: str :retuSTRING
HIGHakshare/economic/macro_germany.py0东方财富-数据中心-经济数据一览-宏观经济-德国-核心代码 https://data.eastmoney.com/cjsj/foreign_1_0.html :param symbol: 代码 :type symbol: str :retuSTRING
Empty Error Handlers18 hits · 90 pts
SeverityFileLineSnippetContext
HIGHakshare/futures/futures_roll_yield.py157except: # noqa: E722CODE
HIGHakshare/futures/cot.py352except: # noqa: E722CODE
HIGHakshare/utils/demjson.py4837except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5751except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5890except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5912except AttributeError:CODE
HIGHakshare/utils/demjson.py5917except TypeError:CODE
HIGHakshare/utils/demjson.py6012except StopIteration:CODE
HIGHakshare/utils/demjson.py6095except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5370except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5380except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py4109except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5975except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5982except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5028except JSONSkipHook:CODE
HIGHakshare/utils/demjson.py5038except JSONSkipHook:CODE
HIGHakshare/stock/stock_zh_a_sina.py194except: # noqa: E722CODE
HIGHakshare/stock/stock_zh_a_sina.py199except: # noqa: E722CODE
Deep Nesting103 hits · 87 pts
SeverityFileLineSnippetContext
LOWscripts/check_punctuation.py326CODE
LOWscripts/check_punctuation.py419CODE
LOWakshare/request.py10CODE
LOWakshare/request.py65CODE
LOWakshare/stock_fundamental/stock_profit_forecast_ths.py17CODE
LOWakshare/stock_fundamental/stock_notice.py17CODE
LOW…re/stock_fundamental/stock_profit_forecast_hk_etnet.py15CODE
LOWakshare/stock_fundamental/stock_finance_ths.py194CODE
LOWakshare/stock_fundamental/stock_finance_ths.py291CODE
LOWakshare/stock_fundamental/stock_finance_ths.py388CODE
LOWakshare/stock_fundamental/stock_finance_ths.py485CODE
LOWakshare/futures/futures_comm_qihuo.py172CODE
LOWakshare/futures/futures_daily_bar.py24CODE
LOWakshare/futures/futures_daily_bar.py341CODE
LOWakshare/futures/futures_daily_bar.py637CODE
LOWakshare/futures/futures_warehouse_receipt.py115CODE
LOWakshare/futures/futures_warehouse_receipt.py206CODE
LOWakshare/futures/futures_basis.py79CODE
LOWakshare/futures/futures_basis.py146CODE
LOWakshare/futures/futures_roll_yield.py74CODE
LOWakshare/futures/requests_fun.py16CODE
LOWakshare/futures/requests_fun.py53CODE
LOWakshare/futures/cot.py110CODE
LOWakshare/futures/cot.py566CODE
LOWakshare/futures/cot.py818CODE
LOWakshare/futures/cot.py1052CODE
LOWakshare/futures/receipt.py82CODE
LOWakshare/futures/receipt.py386CODE
LOWakshare/futures/receipt.py571CODE
LOWakshare/futures/futures_settle.py59CODE
LOWakshare/futures/futures_settle.py481CODE
LOWakshare/futures/cons.py522CODE
LOWakshare/bank/bank_cbirc_2020.py111CODE
LOWakshare/bond/bond_zh_cov.py542CODE
LOWakshare/economic/macro_china_nbs.py300CODE
LOWakshare/economic/macro_china_nbs.py385CODE
LOWakshare/economic/macro_china_nbs.py566CODE
LOWakshare/economic/macro_china.py318CODE
LOWakshare/other/other_car_cpca.py13CODE
LOWakshare/other/other_car_cpca.py163CODE
LOWakshare/other/other_car_cpca.py276CODE
LOWakshare/other/other_car_cpca.py412CODE
LOWakshare/other/other_car_cpca.py528CODE
LOWakshare/other/other_car_cpca.py685CODE
LOWakshare/other/other_car_cpca.py722CODE
LOWakshare/utils/demjson.py79CODE
LOWakshare/utils/demjson.py275CODE
LOWakshare/utils/demjson.py3068CODE
LOWakshare/utils/demjson.py6182CODE
LOWakshare/utils/demjson.py718CODE
LOWakshare/utils/demjson.py853CODE
LOWakshare/utils/demjson.py943CODE
LOWakshare/utils/demjson.py1270CODE
LOWakshare/utils/demjson.py1516CODE
LOWakshare/utils/demjson.py2234CODE
LOWakshare/utils/demjson.py2715CODE
LOWakshare/utils/demjson.py2835CODE
LOWakshare/utils/demjson.py3265CODE
LOWakshare/utils/demjson.py3456CODE
LOWakshare/utils/demjson.py3521CODE
43 more matches not shown…
Decorative Section Separators30 hits · 53 pts
SeverityFileLineSnippetContext
MEDIUMakshare/other/other_taptap.py15# ============================================================COMMENT
MEDIUMakshare/other/other_taptap.py17# ============================================================COMMENT
MEDIUM⚡akshare/utils/demjson.py236# ----------------------------------------------------------------------COMMENT
MEDIUM⚡akshare/utils/demjson.py784# ----------------------------------------------------------------------COMMENT
MEDIUM⚡akshare/utils/demjson.py786# ----------------------------------------------------------------------COMMENT
MEDIUM⚡akshare/utils/demjson.py1042# ----------------------------------------------------------------------COMMENT
MEDIUM⚡akshare/utils/demjson.py1044# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py43# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py62# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py264# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py681# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py738# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py1590# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py1592# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py1753# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py1755# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2182# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2184# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2400# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2402# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2453# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2455# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2602# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2604# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2869# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py2871# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py3706# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py3708# ----------------------------------------------------------------------COMMENT
MEDIUMakshare/utils/demjson.py6106# ------------------------------COMMENT
MEDIUMakshare/utils/demjson.py6408# ======================================================================STRING
Excessive Try-Catch Wrapping28 hits · 27 pts
SeverityFileLineSnippetContext
LOWdocs/registry.md154except Exception as e:CODE
LOWakshare/stock_fundamental/stock_ipo_review.py66 except Exception as e:CODE
LOWakshare/stock_fundamental/stock_finance_sina.py603 except Exception as e:CODE
LOWakshare/stock_fundamental/stock_finance_sina.py673 except Exception as e:CODE
LOWakshare/stock_fundamental/stock_finance_sina.py745 except Exception as e:CODE
LOWakshare/stock_fundamental/stock_ipo_tutor.py68 except Exception as e:CODE
LOWakshare/futures/futures_basis.py132 except Exception as e: # noqa: E722CODE
MEDIUMakshare/economic/macro_bank.py77 print(f"Error fetching data: {e}")CODE
MEDIUMakshare/utils/demjson.py1797def restore_position(self):CODE
LOWakshare/utils/demjson.py1838 except Exception as err:CODE
LOWakshare/utils/demjson.py2657 except Exception as err:CODE
LOWakshare/utils/demjson.py3954 except Exception as err:CODE
LOWakshare/utils/demjson.py5784 except Exception:CODE
LOWakshare/utils/demjson.py6599 except Exception as err:CODE
LOWakshare/utils/demjson.py6378 except Exception:STRING
LOWakshare/utils/demjson.py6396 except Exception:STRING
LOWakshare/news/news_baidu.py124 except Exception as e:CODE
LOW⚡akshare/stock/stock_us_sina.py174 except Exception:CODE
LOW⚡akshare/stock/stock_us_sina.py178 except Exception as e:CODE
LOW⚡akshare/stock/stock_us_sina.py183 except Exception:CODE
LOW⚡akshare/stock/stock_us_sina.py187 except Exception as e:CODE
LOWakshare/stock/stock_zh_kcb_sina.py156 except Exception:CODE
LOWakshare/stock/stock_zh_kcb_sina.py160 except Exception as e:CODE
LOWakshare/stock/stock_zh_kcb_sina.py197 except Exception:CODE
LOWakshare/stock/stock_zh_kcb_sina.py201 except Exception as e:CODE
LOWakshare/stock/stock_zh_kcb_sina.py228 except Exception:CODE
LOWakshare/stock/stock_zh_kcb_sina.py232 except Exception as e:CODE
LOWakshare/fund/fund_fee_em.py55 except Exception as e:CODE
Over-Commented Block9 hits · 9 pts
SeverityFileLineSnippetContext
LOWpyproject.toml61COMMENT
LOWpyproject.toml181docstring-code-format = falseCOMMENT
LOWdocs/requirements.txt1# 文档构建依赖的唯一声明处,由 .readthedocs.yaml 的 python.install 直接引用。COMMENT
LOWdocs/conf.py61# Markdown 表格,而 myst_parser 原生渲染 GFM 表格(本文档有 16000+ 行表格)。COMMENT
LOWdocs/conf.py81# The theme to use for HTML and HTML Help pages. See the documentation forCOMMENT
LOWscripts/build_registry.py101 record = parse_segment(text[match.end() : end])COMMENT
LOW.github/dependabot.yml1# Dependabot 配置COMMENT
LOWakshare/cal/rv.py121 # yang_zhang_rv formula is give as:COMMENT
LOWakshare/fund/fund_etf_em.py341 :rtype: pandas.DataFrameCOMMENT
AI Structural Patterns7 hits · 6 pts
SeverityFileLineSnippetContext
LOWakshare/movie/movie_yien.py77CODE
LOWakshare/movie/video_yien.py62CODE
LOWakshare/movie/artist_yien.py62CODE
LOWakshare/futures/cot.py405CODE
LOWakshare/bond/bond_info_cm.py65CODE
LOWakshare/utils/demjson.py6179CODE
LOWakshare/utils/demjson.py6565CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWakshare/__init__.py5999__all__ = [CODE
Self-Referential Comments2 hits · 1 pts
SeverityFileLineSnippetContext
MEDIUMakshare/utils/demjson.py6062 """This method is used to encode user-defined class objects.STRING
MEDIUMakshare/utils/demjson.py6287 # Initialize the JSON objectSTRING