a small, expressive orm -- supports postgresql, mysql, sqlite, now with asyncio
This report presents the forensic synthetic code analysis of coleifer/peewee, a Python project with 11,981 GitHub stars. SynthScan v2.0 examined 68,762 lines of code across 135 source files, recording 1260 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 23.5 places this repository in the Moderate 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 1260 distinct pattern matches across 13 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 |
|---|---|---|---|---|
| MEDIUM | tests/prefetch_tests.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 32 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 77 | # =========================================================================== | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 79 | # =========================================================================== | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 566 | # =========================================================================== | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 568 | # =========================================================================== | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 702 | # =========================================================================== | COMMENT |
| MEDIUM | tests/prefetch_tests.py | 704 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 46 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 48 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 2369 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 2371 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 2874 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 2876 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 3651 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 3653 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 4067 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 4069 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 4618 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 4620 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 5200 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 5202 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 5338 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 5340 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 6040 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 6042 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 6236 | # =========================================================================== | COMMENT |
| MEDIUM | tests/models.py | 6238 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/fields.py | 802 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/fields.py | 804 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/fields.py | 2351 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/fields.py | 2353 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 59 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 61 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 206 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 208 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 327 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 329 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1045 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1047 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1464 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1466 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1673 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 1675 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 2665 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 2667 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 2878 | # =========================================================================== | COMMENT |
| MEDIUM | tests/fields.py | 2880 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 188 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 195 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/base_models.py | 211 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/base_models.py | 6 | # --------------------------------------------------------------------------- | COMMENT |
| 106 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | peewee.py | 3093 | def _generate_name_from_fields(self, model, fields): | CODE |
| LOW | peewee.py | 3114 | def _truncate_constraint_name(constraint, maxlen=64): | CODE |
| LOW | peewee.py | 3843 | def _build_on_conflict_update(self, on_conflict, query): | CODE |
| LOW | peewee.py | 4245 | def unregister_window_function(self, name): | CODE |
| LOW | peewee.py | 7846 | def _populate_unsaved_relations(self, field_dict): | CODE |
| LOW | peewee.py | 8188 | def _get_model_cursor_wrapper(self, cursor): | CODE |
| LOW | peewee.py | 8303 | def _get_model_cursor_wrapper(self, cursor): | CODE |
| LOW | peewee.py | 8532 | def _get_model_cursor_wrapper(self, cursor): | CODE |
| LOW | tests/sqlcipher_ext.py | 51 | def test_good_and_bad_passphrases(self): | CODE |
| LOW | tests/sqlcipher_ext.py | 111 | def test_configuration_via_pragma(self): | CODE |
| LOW⚡ | tests/prefetch_tests.py | 746 | def test_prefetch_unrelated_model_error(self): | CODE |
| LOW⚡ | tests/prefetch_tests.py | 755 | def test_prefetch_empty_subqueries_passthrough(self): | CODE |
| LOW⚡ | tests/prefetch_tests.py | 762 | def test_prefetch_materialize_unsupported(self): | CODE |
| LOW | tests/prefetch_tests.py | 180 | def test_prefetch_reverse_with_parent_join(self): | CODE |
| LOW | tests/prefetch_tests.py | 201 | def test_prefetch_multi_depth(self): | CODE |
| LOW | tests/prefetch_tests.py | 243 | def test_prefetch_multi_depth_no_join(self): | CODE |
| LOW | tests/prefetch_tests.py | 275 | def test_prefetch_with_group_by(self): | CODE |
| LOW | tests/prefetch_tests.py | 333 | def test_prefetch_adjacency_list(self): | CODE |
| LOW | tests/prefetch_tests.py | 376 | def test_prefetch_specific_model(self): | CODE |
| LOW | tests/prefetch_tests.py | 410 | def test_multiple_foreign_keys(self): | CODE |
| LOW | tests/prefetch_tests.py | 498 | def test_prefetch_through_manytomany(self): | CODE |
| LOW | tests/prefetch_tests.py | 547 | def test_prefetch_mark_dirty_regression(self): | CODE |
| LOW | tests/prefetch_tests.py | 715 | def test_join_prefetch_multiple_fks(self): | CODE |
| LOW | tests/signals.py | 62 | def test_save_positional_force_insert(self): | CODE |
| LOW | tests/signals.py | 160 | def test_subclass_instance_receive_signals(self): | CODE |
| LOW | tests/test_utils.py | 61 | def test_assert_query_count_decorator(self): | CODE |
| LOW | tests/test_utils.py | 80 | def test_assert_query_count_ctx_mgr(self): | CODE |
| LOW | tests/pwasyncio_stress.py | 160 | async def test_connection_isolation(): | CODE |
| LOW⚡ | tests/models.py | 1834 | def test_empty_insert_lands_defaults(self): | CODE |
| LOW⚡ | tests/models.py | 1841 | def test_default_present_on_create(self): | CODE |
| LOW⚡ | tests/models.py | 1846 | def test_defaults_from_cursor(self): | CODE |
| LOW⚡ | tests/models.py | 3855 | def test_recursive_cte_docs_example(self): | CODE |
| LOW⚡ | tests/models.py | 7202 | def test_safe_python_value_catches_error(self): | CODE |
| LOW⚡ | tests/models.py | 7211 | def test_safe_python_value_passes_through_success(self): | CODE |
| LOW⚡ | tests/models.py | 7220 | def test_bound_models_context_restores_db(self): | CODE |
| LOW⚡ | tests/models.py | 7234 | def test_save_raises_when_no_fields_to_update(self): | CODE |
| LOW⚡ | tests/models.py | 7244 | def test_model_graph_no_refs_no_backrefs_error(self): | CODE |
| LOW⚡ | tests/models.py | 7248 | def test_metadata_table_setter_error(self): | CODE |
| LOW⚡ | tests/models.py | 7252 | def test_metadata_table_deleter_resets(self): | CODE |
| LOW | tests/models.py | 137 | def test_column_field_translation(self): | CODE |
| LOW | tests/models.py | 197 | def test_insert_many_defaults_nullable(self): | CODE |
| LOW | tests/models.py | 291 | def test_bulk_create_batching(self): | CODE |
| LOW | tests/models.py | 315 | def test_bulk_create_composite_key(self): | CODE |
| LOW | tests/models.py | 406 | def test_populate_unsaved_relations(self): | CODE |
| LOW | tests/models.py | 460 | def test_bulk_update_foreign_key(self): | CODE |
| LOW | tests/models.py | 492 | def test_bulk_update_integrityerror(self): | CODE |
| LOW | tests/models.py | 527 | def test_bulk_update_apply_dbvalue(self): | CODE |
| LOW | tests/models.py | 652 | def test_model_select_get_or_none(self): | CODE |
| LOW | tests/models.py | 698 | def test_get_or_create_self_referential_fk(self): | CODE |
| LOW | tests/models.py | 706 | def test_get_or_create_defaults(self): | CODE |
| LOW | tests/models.py | 876 | def test_join_empty_intermediate_model(self): | CODE |
| LOW | tests/models.py | 905 | def test_join_empty_relations(self): | CODE |
| LOW | tests/models.py | 956 | def test_join_outer_no_related(self): | CODE |
| LOW | tests/models.py | 975 | def test_join_same_model_twice(self): | CODE |
| LOW | tests/models.py | 1053 | def test_alias_query_constructors(self): | CODE |
| LOW | tests/models.py | 1071 | def test_join_expression_attribute_name(self): | CODE |
| LOW | tests/models.py | 1268 | def test_join_from_cte_to_model(self): | CODE |
| LOW | tests/models.py | 1297 | def test_subquery_emulate_window(self): | CODE |
| LOW | tests/models.py | 1346 | def test_subquery_alias_selection(self): | CODE |
| LOW | tests/models.py | 1370 | def test_subquery_in_select_expression(self): | CODE |
| 633 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench.py | 1 | CODE | |
| LOW | pwiz.py | 9 | CODE | |
| LOW | pwiz.py | 12 | CODE | |
| LOW | runtests.py | 87 | CODE | |
| LOW | tests/sqlcipher_ext.py | 6 | CODE | |
| LOW | tests/sqlcipher_ext.py | 7 | CODE | |
| LOW | tests/prefetch_tests.py | 13 | CODE | |
| LOW | tests/signals.py | 1 | CODE | |
| LOW | tests/test_utils.py | 1 | CODE | |
| LOW | tests/test_utils.py | 6 | CODE | |
| LOW | tests/pwasyncio_stress.py | 7 | CODE | |
| LOW | tests/models.py | 5 | CODE | |
| LOW | tests/models.py | 9 | CODE | |
| LOW | tests/models.py | 10 | CODE | |
| LOW | tests/models.py | 13 | CODE | |
| LOW | tests/models.py | 43 | CODE | |
| LOW | tests/fields.py | 32 | CODE | |
| LOW | tests/fields.py | 34 | CODE | |
| LOW | tests/base_models.py | 1 | CODE | |
| LOW | tests/db_url.py | 1 | CODE | |
| LOW | tests/manytomany.py | 15 | CODE | |
| LOW | tests/manytomany.py | 20 | CODE | |
| LOW | tests/results.py | 13 | CODE | |
| LOW | tests/results.py | 18 | CODE | |
| LOW | tests/apsw_ext.py | 1 | CODE | |
| LOW | tests/apsw_ext.py | 4 | CODE | |
| LOW | tests/shortcuts.py | 3 | CODE | |
| LOW | tests/shortcuts.py | 4 | CODE | |
| LOW | tests/hybrid.py | 1 | CODE | |
| LOW | tests/hybrid.py | 2 | CODE | |
| LOW | tests/reflection.py | 2 | CODE | |
| LOW | tests/reflection.py | 6 | CODE | |
| LOW | tests/reflection.py | 7 | CODE | |
| LOW | tests/reflection.py | 12 | CODE | |
| LOW | tests/reflection.py | 17 | CODE | |
| LOW | tests/reflection.py | 18 | CODE | |
| LOW | tests/json_field.py | 3 | CODE | |
| LOW | tests/json_field.py | 17 | CODE | |
| LOW | tests/transactions.py | 17 | CODE | |
| LOW | tests/transactions.py | 19 | CODE | |
| LOW | tests/pydantic_utils.py | 1 | CODE | |
| LOW | tests/pydantic_utils.py | 9 | CODE | |
| LOW | tests/pwasyncio.py | 2 | CODE | |
| LOW | tests/pwasyncio.py | 13 | CODE | |
| LOW | tests/pwasyncio.py | 15 | CODE | |
| LOW | tests/pwasyncio.py | 16 | CODE | |
| LOW | tests/sqliteq.py | 2 | CODE | |
| LOW | tests/sqliteq.py | 5 | CODE | |
| LOW | tests/sqliteq.py | 14 | CODE | |
| LOW | tests/pwiz_integration.py | 1 | CODE | |
| LOW | tests/pwiz_integration.py | 8 | CODE | |
| LOW | tests/pwiz_integration.py | 9 | CODE | |
| LOW | tests/pwiz_integration.py | 14 | CODE | |
| LOW | tests/__init__.py | 1 | CODE | |
| LOW | tests/__init__.py | 2 | CODE | |
| LOW | tests/__init__.py | 8 | CODE | |
| LOW | tests/__init__.py | 9 | CODE | |
| LOW | tests/__init__.py | 10 | CODE | |
| LOW | tests/__init__.py | 11 | CODE | |
| LOW | tests/__init__.py | 12 | CODE | |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | peewee.py | 3231 | # when it exists with stored JSON null) - matches the "only-if- | COMMENT |
| HIGH | peewee.py | 3451 | # when it exists with stored JSON null). | COMMENT |
| HIGH | peewee.py | 554 | self.push() | CODE |
| HIGH | peewee.py | 676 | self.alias_manager.push() | CODE |
| HIGH | peewee.py | 4716 | for name, null, dt, df, ft, ident in cursor.fetchall()] | CODE |
| HIGH | peewee.py | 4969 | for name, null, dt, df, ft, extra in cursor.fetchall(): | CODE |
| HIGH | peewee.py | 4976 | name, dt, null, name in pks, table, df, ft, | CODE |
| HIGH | tests/fields.py | 1830 | self.assertFalse(Photo.album.null) | CODE |
| HIGH | tests/fields.py | 1835 | self.assertTrue(Photo.alt_album.null) | CODE |
| HIGH | tests/manytomany.py | 116 | self.assertFalse(note_field.null) | CODE |
| HIGH | tests/manytomany.py | 120 | self.assertFalse(user_field.null) | CODE |
| HIGH⚡ | tests/reflection.py | 127 | self.assertFalse(relmodel.col_types.null) | CODE |
| HIGH⚡ | tests/reflection.py | 128 | self.assertTrue(relmodel.col_types_nullable.null) | CODE |
| HIGH | tests/json_field.py | 874 | L = JM.select(JM.data.length()).scalar() | CODE |
| HIGH | tests/db_tests.py | 323 | self.database.execute_sql('create table foo (data text not null)') | CODE |
| HIGH | tests/db_tests.py | 515 | data = [(c.name, c.null, c.primary_key, c.table) | CODE |
| HIGH | tests/db_tests.py | 524 | data = [(c.name, c.null, c.primary_key, c.table) | CODE |
| HIGH⚡ | tests/postgres.py | 1249 | self.assertEqual(JDoc.select(JDoc.data.length()).scalar(), 3) | CODE |
| HIGH⚡ | tests/postgres.py | 1250 | self.assertEqual(JBDoc.select(JBDoc.data.length()).scalar(), 3) | CODE |
| HIGH | tests/postgres.py | 858 | query = BJson.select(curr.length()).tuples() | CODE |
| HIGH⚡ | tests/sql.py | 3291 | am.push() | CODE |
| HIGH⚡ | tests/sql.py | 3306 | am.push() | CODE |
| HIGH | playhouse/reflection.py | 230 | nullable=column_data.null, | CODE |
| HIGH | playhouse/migrate.py | 234 | field_null, field.null = field.null, True | CODE |
| HIGH | playhouse/migrate.py | 316 | # present and the field is non-null, then we need to first add the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | peewee.py | 1078 | # Define the table and its alias. | COMMENT |
| MEDIUM | peewee.py | 7513 | # Create a repr and error class before finalizing. | COMMENT |
| MEDIUM | peewee.py | 8096 | # Define the table and its alias. | COMMENT |
| MEDIUM | tests/pwasyncio_stress.py | 174 | # Create a user | COMMENT |
| MEDIUM | tests/pwasyncio_stress.py | 214 | # Create a small pool | COMMENT |
| MEDIUM⚡ | tests/models.py | 3856 | # Define the base case of our recursive CTE. This will be categories that | COMMENT |
| MEDIUM⚡ | tests/models.py | 3866 | # Define the recursive terms. | COMMENT |
| MEDIUM | tests/models.py | 2624 | # Create the subquery. | COMMENT |
| MEDIUM | tests/sqlite.py | 197 | # Create a row using the given test value. Verify we can read the value | COMMENT |
| MEDIUM | tests/dataset.py | 98 | # Create a new dataset instance with views enabled. | COMMENT |
| MEDIUM | tests/dataset.py | 599 | # Create a new table and load all data into it. | COMMENT |
| MEDIUM | tests/dataset.py | 668 | # Create a new table and load all data into it. | COMMENT |
| MEDIUM | tests/migrations.py | 185 | # Create a new tag model to represent the fields we added. | COMMENT |
| MEDIUM | tests/migrations.py | 474 | # Create a unique index on first and last names. | COMMENT |
| MEDIUM | tests/migrations.py | 489 | # Create a new tag model to represent the fields we added. | COMMENT |
| MEDIUM | tests/migrations.py | 505 | # Create a unique index. | COMMENT |
| MEDIUM | tests/migrations.py | 877 | # Create a temporary table with the renamed column. | COMMENT |
| MEDIUM⚡ | tests/sql.py | 1113 | # Create an outer query and do grouping. | COMMENT |
| MEDIUM | tests/pool.py | 129 | # Create a test database with a very short stale timeout. | COMMENT |
| MEDIUM | tests/pool.py | 147 | # Create a test database with a very short stale timeout. | COMMENT |
| MEDIUM⚡ | tests/schema.py | 1208 | # Create a fake database that supports TRUNCATE. | COMMENT |
| MEDIUM | docs/conf.py | 6 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| MEDIUM | examples/anomaly_detection.py | 17 | # Create a user-defined aggregate function suitable for computing the standard | COMMENT |
| MEDIUM | examples/blog/app.py | 41 | # Create a Flask WSGI app and configure it using values from the module. | COMMENT |
| MEDIUM | examples/blog/app.py | 94 | # Create a row in the FTSEntry table with the post content. This will | COMMENT |
| MEDIUM | playhouse/sqliteq.py | 223 | # Create the writer thread, optionally starting it. | COMMENT |
| MEDIUM⚡ | playhouse/migrate.py | 84 | # Create an index on the `pub_date` column. | STRING |
| MEDIUM⚡ | playhouse/migrate.py | 87 | # Create a multi-column index on the `pub_date` and `status` fields. | STRING |
| MEDIUM⚡ | playhouse/migrate.py | 90 | # Create a unique index on the category and title fields. | STRING |
| MEDIUM | playhouse/migrate.py | 770 | # Create a mapping of original columns to new columns. | STRING |
| MEDIUM | playhouse/migrate.py | 799 | # Create the new table. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | peewee.py | 749 | CODE | |
| LOW | peewee.py | 8307 | CODE | |
| LOW | peewee.py | 8778 | CODE | |
| LOW | peewee.py | 9247 | CODE | |
| LOW | peewee.py | 1822 | CODE | |
| LOW | peewee.py | 2134 | CODE | |
| LOW | peewee.py | 2408 | CODE | |
| LOW | peewee.py | 2717 | CODE | |
| LOW | peewee.py | 2805 | CODE | |
| LOW | peewee.py | 2929 | CODE | |
| LOW | peewee.py | 3746 | CODE | |
| LOW | peewee.py | 4382 | CODE | |
| LOW | peewee.py | 4777 | CODE | |
| LOW | peewee.py | 5885 | CODE | |
| LOW | peewee.py | 7321 | CODE | |
| LOW | peewee.py | 7370 | CODE | |
| LOW | peewee.py | 7436 | CODE | |
| LOW | peewee.py | 7612 | CODE | |
| LOW | peewee.py | 7681 | CODE | |
| LOW | peewee.py | 7716 | CODE | |
| LOW | peewee.py | 7912 | CODE | |
| LOW | peewee.py | 8171 | CODE | |
| LOW | peewee.py | 8281 | CODE | |
| LOW | peewee.py | 8357 | CODE | |
| LOW | peewee.py | 8368 | CODE | |
| LOW | peewee.py | 8441 | CODE | |
| LOW | peewee.py | 8546 | CODE | |
| LOW | peewee.py | 8581 | CODE | |
| LOW | peewee.py | 8955 | CODE | |
| LOW | tests/prefetch_tests.py | 201 | CODE | |
| LOW | tests/prefetch_tests.py | 243 | CODE | |
| LOW | tests/prefetch_tests.py | 376 | CODE | |
| LOW | tests/prefetch_tests.py | 498 | CODE | |
| LOW | tests/prefetch_tests.py | 547 | CODE | |
| LOW | tests/prefetch_tests.py | 600 | CODE | |
| LOW | tests/pwasyncio_stress.py | 30 | CODE | |
| LOW | tests/models.py | 2769 | CODE | |
| LOW | tests/fields.py | 2097 | CODE | |
| LOW | tests/json_field.py | 701 | CODE | |
| LOW | tests/transactions.py | 145 | CODE | |
| LOW | tests/transactions.py | 342 | CODE | |
| LOW | tests/transactions.py | 373 | CODE | |
| LOW | tests/transactions.py | 377 | CODE | |
| LOW | tests/with_related_tests.py | 259 | CODE | |
| LOW | tests/dataset.py | 364 | CODE | |
| LOW | tests/mysql_ext.py | 56 | CODE | |
| LOW | tests/db_tests.py | 118 | CODE | |
| LOW | tests/db_tests.py | 538 | CODE | |
| LOW | tests/base.py | 24 | CODE | |
| LOW | examples/graph.py | 54 | CODE | |
| LOW | examples/blog/app.py | 195 | CODE | |
| LOW | playhouse/db_url.py | 25 | CODE | |
| LOW | playhouse/shortcuts.py | 13 | CODE | |
| LOW | playhouse/shortcuts.py | 130 | CODE | |
| LOW | playhouse/reflection.py | 885 | CODE | |
| LOW | playhouse/reflection.py | 198 | CODE | |
| LOW | playhouse/reflection.py | 309 | CODE | |
| LOW | playhouse/reflection.py | 568 | CODE | |
| LOW | playhouse/reflection.py | 626 | CODE | |
| LOW | playhouse/reflection.py | 750 | CODE | |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | peewee.py | 289 | def __getattr__(self, attr): | CODE |
| MEDIUM | peewee.py | 4637 | def last_insert_id(self, cursor, query_type=None): | CODE |
| LOW | peewee.py | 4094 | except Exception: | CODE |
| LOW | peewee.py | 4909 | except Exception: | CODE |
| LOW | peewee.py | 5170 | except Exception: | CODE |
| LOW | peewee.py | 5209 | except Exception: | CODE |
| LOW | peewee.py | 5927 | except Exception: | CODE |
| LOW | peewee.py | 8568 | except Exception: pass | CODE |
| MEDIUM | runtests.py | 123 | print('Error: could not import asyncio stress test: %s' % exc) | CODE |
| LOW | tests/pwasyncio_stress.py | 93 | except Exception as exc: | CODE |
| MEDIUM | tests/pwasyncio.py | 813 | def asyncSetUp(self): | CODE |
| LOW | tests/pwasyncio.py | 818 | except Exception as exc: | CODE |
| MEDIUM | tests/pool.py | 609 | def worker(): | CODE |
| LOW | tests/pool.py | 559 | except Exception as exc: | CODE |
| LOW | tests/pool.py | 617 | except Exception as exc: | CODE |
| LOW | tests/pool.py | 767 | except Exception as exc: | CODE |
| LOW | tests/base.py | 208 | except Exception as exc: | CODE |
| MEDIUM | tests/base.py | 205 | def assertRaisesCtx(self, exceptions): | CODE |
| MEDIUM | tests/schema.py | 1088 | def tearDown(self): | CODE |
| LOW⚡ | tests/schema.py | 1126 | except Exception as exc: | CODE |
| LOW | playhouse/shortcuts.py | 262 | except Exception as exc: | CODE |
| MEDIUM | playhouse/shortcuts.py | 259 | def _reconnect(self, func, *args, **kwargs): | CODE |
| LOW | playhouse/pwasyncio.py | 298 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 309 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 686 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 704 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 902 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 957 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 971 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 1021 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 1026 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 1068 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 1073 | except Exception: | CODE |
| LOW | playhouse/pwasyncio.py | 1149 | except Exception: | CODE |
| MEDIUM | playhouse/pwasyncio.py | 736 | def cleanup(): | CODE |
| LOW | playhouse/sqliteq.py | 181 | except Exception as execute_err: | CODE |
| LOW | playhouse/cysqlite_ext.py | 90 | except Exception: | CODE |
| LOW | playhouse/pool.py | 153 | except Exception: | CODE |
| MEDIUM | playhouse/pool.py | 150 | def _close_raw(self, conn): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | tests/pwasyncio.py | 2289 | self.assertFalse(self.db._state.conn.conn.is_in_transaction()) | CODE |
| CRITICAL | examples/blog/static/js/jquery-1.11.0.min.js | 4 | },a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){retur | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/base_models.py | 1 | from peewee import * | COMMENT |
| LOW | tests/base_models.py | 41 | # Exercises: ForeignKeyField('self'), CharField as primary_key, nullable | COMMENT |
| LOW | tests/base_models.py | 61 | from_person = ForeignKeyField(Person, backref='relations') | COMMENT |
| LOW | tests/base_models.py | 81 | # This is the most heavily used model group in the test suite (~66 TestCase | COMMENT |
| LOW | tests/base_models.py | 141 | sample = ForeignKeyField(Sample, backref='metadata') | COMMENT |
| LOW | tests/base_models.py | 201 | COMMENT | |
| LOW | docs/conf.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | docs/conf.py | 21 | #sys.path.insert(0, os.path.abspath('.')) | COMMENT |
| LOW | docs/conf.py | 61 | # for a list of supported languages. | COMMENT |
| LOW | docs/conf.py | 81 | # unit titles (such as .. function::). | COMMENT |
| LOW | docs/conf.py | 121 | #html_theme_path = ['_themes'] | COMMENT |
| LOW | docs/conf.py | 141 | # so a file named "default.css" will overwrite the builtin "default.css". | COMMENT |
| LOW | docs/conf.py | 161 | COMMENT | |
| LOW | docs/conf.py | 181 | # contain a <link> tag referring to it. The value of this option must be the | COMMENT |
| LOW | docs/conf.py | 201 | # (source start file, target name, title, author, documentclass [howto/manual]). | COMMENT |
| LOW | playhouse/sqlite_udf.py | 521 | COMMENT | |
| LOW | playhouse/sqlite_udf.py | 541 | # x002 -- rows with phrase0 in col0 at least once | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | peewee.py | 1763 | CODE | |
| LOW | peewee.py | 2469 | CODE | |
| LOW | peewee.py | 5475 | CODE | |
| LOW | peewee.py | 6450 | CODE | |
| LOW | peewee.py | 7131 | CODE | |
| LOW | playhouse/shortcuts.py | 13 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | peewee.py | 72 | __all__ = [ | CODE |
| LOW | playhouse/pwasyncio.py | 34 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/models.py | 2107 | # If we just set the pk and try to save, peewee issues an update which | COMMENT |
| LOW⚡ | tests/fields.py | 1946 | # Otherwise we just return None. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/json_field.py | 290 | JM.create(data={'k': 'placeholder'}, ident='t') | CODE |