🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.
This report presents the forensic synthetic code analysis of mahmoud/boltons, a Python project with 6,907 GitHub stars. SynthScan v2.0 examined 25,413 lines of code across 78 source files, recording 264 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 11.4 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 264 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | boltons/cacheutils.py | 167 | def _get_link_and_move_to_front_of_ll(self, key): | CODE |
| LOW | boltons/cacheutils.py | 185 | def _set_key_and_add_to_front_of_ll(self, key, value): | CODE |
| LOW | boltons/cacheutils.py | 194 | def _set_key_and_evict_last_in_ll(self, key, value): | CODE |
| LOW | boltons/tableutils.py | 505 | def _add_horizontal_html_lines(self, lines, headers, max_depth): | CODE |
| LOW | boltons/formatutils.py | 82 | def construct_format_field_str(fname, fspec, conv): | CODE |
| LOW | boltons/formatutils.py | 115 | def infer_positional_format_args(fstr): | CODE |
| LOW | boltons/tbutils.py | 439 | def get_formatted_exception_only(self): | CODE |
| LOW | boltons/setutils.py | 368 | def symmetric_difference_update(self, other): # note singular 'other' | CODE |
| LOW | boltons/setutils.py | 571 | def _norm_args_notimplemented(other): | CODE |
| LOW | boltons/setutils.py | 780 | def symmetric_difference_update(self, other): | CODE |
| LOW | boltons/timeutils.py | 475 | def _first_sunday_on_or_after(dt): | CODE |
| LOW | tests/test_jsonutils.py | 20 | def _test_reverse_iter_lines_bytes(filename, blocksize=DEFAULT_BLOCKSIZE): | CODE |
| LOW | tests/test_funcutils.py | 90 | def test_once_executes_only_once(): | CODE |
| LOW | tests/test_tbutils_parsed_exc.py | 23 | def test_parsed_exc_nosrcline(): | CODE |
| LOW | tests/test_tbutils_parsed_exc.py | 65 | def test_parsed_exc_with_anchor(): | CODE |
| LOW | tests/test_tbutils_parsed_exc.py | 84 | def test_parsed_exc_with_anchor_indented(): | CODE |
| LOW | tests/test_tbutils_parsed_exc.py | 94 | def test_parsed_exc_truncated(): | CODE |
| LOW | tests/test_timeutils.py | 28 | def test_daterange_years_step(): | CODE |
| LOW | tests/test_timeutils.py | 48 | def test_daterange_with_same_start_stop(): | CODE |
| LOW | tests/test_listutils.py | 55 | def test_barrel_list_insert_before_start_matches_list(): | CODE |
| LOW | tests/test_iterutils.py | 29 | def test_maxsplit_zero_returns_unsplit_values(self): | CODE |
| LOW | tests/test_iterutils.py | 426 | def test_research_custom_enter(): | CODE |
| LOW | tests/test_iterutils.py | 492 | def test_backoff_constant_factor(): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 54 | def kwonly_non_roundtrippable_repr(*, x=lambda y: y + 1): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 69 | def test_update_wrapper_partial(partial_kind): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 169 | def test_get_invocation_sig_str( | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 194 | def test_wraps_inner_kwarg_only(): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 284 | def test_wraps_defaulted_arg_keyword_forwarding(): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 300 | def test_wraps_defaulted_arg_before_varargs(): | CODE |
| LOW | tests/test_funcutils_fb_py3.py | 318 | def test_wraps_posonly_defaulted_arg(): | CODE |
| LOW | tests/test_urlutils.py | 98 | def test_query_param_dict_eq_with_dict(): | CODE |
| LOW | tests/test_urlutils.py | 145 | def test_parse_equals_in_qp_value(): | CODE |
| LOW | tests/test_urlutils.py | 438 | def test_find_all_links_basic(): | CODE |
| LOW | tests/test_strutils.py | 82 | def test_simple_substitutions(self): | CODE |
| LOW | tests/test_strutils.py | 97 | def test_substitutions_in_word(self): | CODE |
| LOW | tests/test_strutils.py | 126 | def test_sub_with_compiled_regex(self): | CODE |
| LOW | tests/test_strutils.py | 139 | def test_substitutions_with_regex_chars(self): | CODE |
| LOW | tests/test_strutils.py | 230 | def test_human_readable_list_type_annotations(): | CODE |
| LOW | tests/test_strutils.py | 279 | def test_singularize_double_s(): | CODE |
| LOW | tests/test_funcutils_fb.py | 49 | def default_non_roundtrippable_repr(x=lambda y: y + 1): | CODE |
| LOW | tests/test_funcutils_fb.py | 97 | def inject_misc_argument_no_varkw(func): | CODE |
| LOW | tests/test_funcutils_fb.py | 283 | def test_get_invocation_sig_str( | CODE |
| LOW | tests/test_gcutils.py | 20 | def test_toggle_gc_postcollect(): | CODE |
| LOW | tests/test_cacheutils.py | 79 | def test_cache_sizes_on_repeat_insertions(): | CODE |
| LOW | tests/test_cacheutils.py | 170 | def test_lru_dict_replacement(lru_class): | CODE |
| LOW | tests/test_cacheutils.py | 361 | def test_cachedmethod_maintains_func_abstraction(): | CODE |
| LOW | tests/test_cacheutils.py | 411 | def test_cachedproperty_maintains_func_abstraction(): | CODE |
| LOW | tests/test_fileutils.py | 32 | def test_atomicsaver_pathlike(tmp_path): | CODE |
| LOW | tests/test_fileutils.py | 39 | def test_iter_find_files_pathlike(): | CODE |
| LOW⚡ | tests/test_fileutils.py | 57 | def test_rotate_file_no_rotation(tmp_path): | CODE |
| LOW⚡ | tests/test_fileutils.py | 63 | def test_rotate_file_one_rotation(tmp_path): | CODE |
| LOW⚡ | tests/test_fileutils.py | 73 | def test_rotate_file_full_rotation(tmp_path): | CODE |
| LOW | tests/test_fileutils.py | 90 | def test_rotate_file_full_rotation_no_ext(tmp_path): | CODE |
| LOW | tests/test_socketutils.py | 107 | def test_client_disconnecting(): | CODE |
| LOW | tests/test_socketutils.py | 223 | def test_simple_buffered_socket_passthroughs(): | CODE |
| LOW | tests/test_socketutils.py | 231 | def test_timeout_setters_getters(): | CODE |
| LOW | tests/test_socketutils.py | 271 | def test_socketutils_netstring(): | CODE |
| LOW | tests/test_socketutils.py | 374 | def netstring_server_timeout_override(server_socket): | CODE |
| LOW | tests/test_socketutils.py | 396 | def test_socketutils_netstring_timeout(): | CODE |
| LOW | tests/test_setutils.py | 208 | def test_iset_slice_after_removal(): | CODE |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | boltons/cacheutils.py | 73 | except Exception: | CODE |
| LOW | boltons/dictutils.py | 1107 | except Exception as e: | CODE |
| LOW⚡ | boltons/tableutils.py | 87 | except Exception: | CODE |
| LOW⚡ | boltons/tableutils.py | 90 | except Exception: | CODE |
| LOW | boltons/tableutils.py | 145 | except Exception: | CODE |
| LOW | boltons/tableutils.py | 159 | except Exception: | CODE |
| MEDIUM | boltons/tableutils.py | 84 | def to_text(obj, maxlen=None): | CODE |
| LOW | boltons/iterutils.py | 609 | except Exception as e: | STRING |
| LOW | boltons/iterutils.py | 1281 | except Exception: | CODE |
| LOW | boltons/iterutils.py | 1435 | except Exception: | CODE |
| MEDIUM | boltons/iterutils.py | 1431 | def _enter(path, key, value): | CODE |
| LOW | boltons/fileutils.py | 476 | except Exception: | STRING |
| LOW | boltons/fileutils.py | 486 | except Exception: | STRING |
| LOW | boltons/tbutils.py | 424 | except Exception: | CODE |
| LOW | boltons/tbutils.py | 494 | except Exception: | CODE |
| LOW | boltons/tbutils.py | 621 | except Exception: | CODE |
| LOW | boltons/tbutils.py | 825 | except Exception: | CODE |
| MEDIUM | boltons/tbutils.py | 618 | def _some_str(value): | CODE |
| LOW | boltons/ecoutils.py | 172 | except Exception: | CODE |
| LOW | boltons/ecoutils.py | 186 | except Exception: | CODE |
| LOW | boltons/ecoutils.py | 192 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 206 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 213 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 220 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 227 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 234 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 240 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 246 | except Exception: | CODE |
| LOW⚡ | boltons/ecoutils.py | 253 | except Exception: | CODE |
| LOW | boltons/ecoutils.py | 313 | except Exception: | CODE |
| LOW | boltons/ecoutils.py | 328 | except Exception: | CODE |
| LOW | boltons/excutils.py | 285 | except Exception: | CODE |
| MEDIUM | boltons/excutils.py | 274 | def main(): | CODE |
| LOW | boltons/jsonutils.py | 220 | except Exception: | CODE |
| LOW | boltons/socketutils.py | 72 | except Exception: | CODE |
| LOW | boltons/socketutils.py | 360 | except Exception: | CODE |
| LOW | boltons/socketutils.py | 409 | except Exception: | CODE |
| LOW | boltons/statsutils.py | 585 | except Exception: | CODE |
| LOW | boltons/statsutils.py | 790 | except Exception: | CODE |
| LOW | boltons/debugutils.py | 203 | except Exception: | CODE |
| LOW | boltons/debugutils.py | 219 | except Exception: | CODE |
| LOW | boltons/debugutils.py | 224 | except Exception: | CODE |
| LOW | boltons/debugutils.py | 252 | except Exception: | CODE |
| LOW | boltons/debugutils.py | 287 | except Exception: | CODE |
| LOW⚡ | boltons/ioutils.py | 252 | except Exception: | CODE |
| LOW⚡ | boltons/ioutils.py | 256 | except Exception: | CODE |
| LOW⚡ | boltons/ioutils.py | 260 | except Exception: | CODE |
| LOW | boltons/ioutils.py | 277 | except Exception: | CODE |
| LOW | boltons/ioutils.py | 520 | except Exception: | CODE |
| MEDIUM | boltons/ioutils.py | 342 | def buffer(self): | CODE |
| LOW | boltons/funcutils.py | 119 | except Exception: | CODE |
| LOW | boltons/funcutils.py | 156 | except Exception: | CODE |
| LOW | boltons/funcutils.py | 975 | except Exception: | CODE |
| LOW | tests/test_funcutils.py | 133 | except Exception as e: | CODE |
| MEDIUM | tests/test_funcutils.py | 129 | def worker(): | CODE |
| LOW | tests/test_listutils.py | 138 | except Exception as e: | STRING |
| LOW | tests/test_tbutils.py | 95 | except Exception as e: | CODE |
| LOW | tests/test_socketutils.py | 266 | except Exception as e: | CODE |
| LOW | tests/test_socketutils.py | 391 | except Exception as e: | CODE |
| LOW⚡ | tests/test_ioutils.py | 81 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | misc/bench_omd.py | 38 | CODE | |
| LOW | boltons/cacheutils.py | 797 | CODE | |
| LOW | boltons/dictutils.py | 284 | CODE | |
| LOW | boltons/dictutils.py | 346 | CODE | |
| LOW | boltons/tableutils.py | 337 | CODE | |
| LOW | boltons/tableutils.py | 505 | CODE | |
| LOW | boltons/tableutils.py | 534 | CODE | |
| LOW | boltons/iterutils.py | 235 | CODE | |
| LOW | boltons/iterutils.py | 472 | CODE | |
| LOW | boltons/iterutils.py | 869 | CODE | |
| LOW | boltons/iterutils.py | 1058 | CODE | |
| LOW | boltons/iterutils.py | 1074 | CODE | |
| LOW | boltons/iterutils.py | 1097 | CODE | |
| LOW | boltons/iterutils.py | 1323 | CODE | |
| LOW | boltons/mboxutils.py | 74 | CODE | |
| LOW | boltons/fileutils.py | 492 | CODE | |
| LOW | boltons/fileutils.py | 555 | CODE | |
| LOW | boltons/formatutils.py | 148 | CODE | |
| LOW | boltons/tbutils.py | 743 | CODE | |
| LOW | boltons/ecoutils.py | 417 | CODE | |
| LOW | boltons/jsonutils.py | 230 | CODE | |
| LOW | boltons/socketutils.py | 284 | CODE | |
| LOW | boltons/socketutils.py | 366 | CODE | |
| LOW | boltons/socketutils.py | 421 | CODE | |
| LOW | boltons/setutils.py | 138 | CODE | |
| LOW | boltons/statsutils.py | 424 | CODE | |
| LOW | boltons/debugutils.py | 115 | CODE | |
| LOW | boltons/debugutils.py | 141 | CODE | |
| LOW | boltons/urlutils.py | 136 | CODE | |
| LOW | boltons/urlutils.py | 370 | CODE | |
| LOW | boltons/urlutils.py | 885 | CODE | |
| LOW | boltons/urlutils.py | 474 | CODE | |
| LOW | boltons/urlutils.py | 1182 | CODE | |
| LOW | boltons/urlutils.py | 1244 | CODE | |
| LOW | boltons/ioutils.py | 238 | CODE | |
| LOW | boltons/strutils.py | 201 | CODE | |
| LOW | boltons/strutils.py | 804 | CODE | |
| LOW | boltons/strutils.py | 920 | CODE | |
| LOW | boltons/mathutils.py | 140 | CODE | |
| LOW | tests/test_socketutils.py | 41 | CODE | |
| LOW | tests/test_socketutils.py | 245 | CODE | |
| LOW | tests/test_socketutils.py | 374 | CODE | |
| LOW | tests/test_setutils.py | 220 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | boltons/namedutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/cacheutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/pathutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/dictutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/tableutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/iterutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/mboxutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/fileutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/queueutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/formatutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/tbutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/typeutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/ecoutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/excutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/excutils.py | 21 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | COMMENT |
| LOW | boltons/deprutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/jsonutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/socketutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/socketutils.py | 761 | COMMENT | |
| LOW | boltons/setutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/statsutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/listutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/debugutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/urlutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/easterutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/ioutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/ioutils.py | 21 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | COMMENT |
| LOW | boltons/strutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/mathutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/timeutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/timeutils.py | 481 | COMMENT | |
| LOW | boltons/gcutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | boltons/funcutils.py | 1 | # Copyright (c) 2013, Mahmoud Hashemi | COMMENT |
| LOW | docs/conf.py | 1 | # | COMMENT |
| LOW | docs/conf.py | 121 | html_theme = 'sphinx_rtd_theme' | COMMENT |
| LOW | docs/conf.py | 141 | # html_theme_path = ['_themes', '/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx'] | COMMENT |
| LOW | docs/conf.py | 161 | # so a file named "default.css" will overwrite the builtin "default.css". | COMMENT |
| LOW | docs/conf.py | 181 | # template names. | COMMENT |
| LOW | docs/conf.py | 201 | COMMENT | |
| LOW | docs/conf.py | 221 | # implements a search results scorer. If empty, the default will be used. | COMMENT |
| LOW | docs/conf.py | 241 | } | COMMENT |
| LOW | docs/conf.py | 301 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | boltons/namedutils.py | 55 | __all__ = ['namedlist', 'namedtuple'] | CODE |
| LOW | boltons/pathutils.py | 48 | __all__ = [ | CODE |
| LOW | boltons/dictutils.py | 83 | __all__ = ['MultiDict', 'OMD', 'OrderedMultiDict', 'OneToOne', 'ManyToMany', 'subdict', 'FrozenDict'] | CODE |
| LOW⚡ | boltons/tableutils.py | 81 | __all__ = ['Table'] | CODE |
| LOW | boltons/fileutils.py | 46 | __all__ = ['mkdir_p', 'atomic_save', 'AtomicSaver', 'FilePerms', | CODE |
| LOW | boltons/queueutils.py | 83 | __all__ = ['PriorityQueue', 'BasePriorityQueue', | CODE |
| LOW | boltons/formatutils.py | 72 | __all__ = ['DeferredValue', 'get_format_args', 'tokenize_format_str', | CODE |
| LOW | boltons/tbutils.py | 67 | __all__ = ['ExceptionInfo', 'TracebackInfo', 'Callpoint', | CODE |
| LOW | boltons/excutils.py | 43 | __all__ = ['ExceptionCauseMixin'] | CODE |
| LOW | boltons/jsonutils.py | 48 | __all__ = ['JSONLIterator', 'reverse_iter_lines'] | CODE |
| LOW | boltons/setutils.py | 55 | __all__ = ['IndexedSet', 'complement'] | CODE |
| LOW | boltons/listutils.py | 53 | __all__ = ['BList', 'BarrelList'] | CODE |
| LOW | boltons/debugutils.py | 47 | __all__ = ['pdb_on_signal', 'pdb_on_exception', 'wrap_trace'] | CODE |
| LOW | boltons/strutils.py | 53 | __all__ = ['camel2under', 'under2camel', 'slugify', 'split_punct_ws', | CODE |
| LOW | boltons/gcutils.py | 65 | __all__ = ['get_all', 'GCToggler', 'toggle_gc', 'toggle_gc_postcollect'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | misc/bench_omd.py | 5 | CODE | |
| LOW | boltons/iterutils.py | 45 | CODE | |
| LOW | boltons/ecoutils.py | 185 | CODE | |
| LOW | boltons/ecoutils.py | 238 | CODE | |
| LOW | boltons/strutils.py | 38 | CODE | |
| LOW | boltons/funcutils.py | 47 | CODE | |
| LOW | tests/test_listutils.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | boltons/jsonutils.py | 74 | # This function is a bit of a pain because it attempts to be byte/text agnostic | COMMENT |
| MEDIUM | boltons/mathutils.py | 31 | """This module provides useful math functions on top of Python's | STRING |
| MEDIUM | docs/conf.py | 5 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | misc/table_html_app.py | 26 | CODE | |
| LOW | boltons/urlutils.py | 521 | CODE | |
| LOW | boltons/mathutils.py | 215 | CODE | |
| LOW | boltons/funcutils.py | 56 | CODE | |
| LOW | boltons/funcutils.py | 450 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | boltons/timeutils.py | 141 | Robustly parses a short text description of a time period into a :class:`datetime.timedelta`. Supports weeks, days, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_tableutils.py | 6 | [1, 'John Doe'], | CODE |
| LOW | tests/test_tableutils.py | 11 | assert 'John Doe' in repr(t1) | CODE |
| LOW | tests/test_tableutils.py | 32 | data_dicts = [{'id': 1, 'name': 'John Doe'}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | boltons/statsutils.py | 306 | """The trimean is a robust measure of central tendency, like the | STRING |
| LOW | boltons/strutils.py | 225 | singular = word[:-1] # or just return word? | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | boltons/iterutils.py | 1394 | Here's a simple example that finds all integers: | STRING |
| LOW | boltons/queueutils.py | 95 | custom subclass behavior. (Don't forget to use | STRING |