Coverage report:
100%
hide covered
Files
Functions
Classes
coverage.py v7.5.1
, created at 2024-08-05 19:12 +0200
File
function
statements
missing
excluded
coverage
src/typedal/__about__.py
(no function)
1
0
0
100%
src/typedal/__init__.py
(no function)
5
0
2
100%
src/typedal/caching.py
get_now
1
0
0
100%
src/typedal/caching.py
prepare
10
0
0
100%
src/typedal/caching.py
create_cache_key
1
0
0
100%
src/typedal/caching.py
hash_cache_key
3
0
0
100%
src/typedal/caching.py
create_and_hash_cache_key
2
0
0
100%
src/typedal/caching.py
_get_table_name
1
0
0
100%
src/typedal/caching.py
_get_dependency_ids
6
0
0
100%
src/typedal/caching.py
_determine_dependencies_auto
6
0
0
100%
src/typedal/caching.py
_determine_dependencies
13
0
0
100%
src/typedal/caching.py
remove_cache
4
0
0
100%
src/typedal/caching.py
clear_cache
2
0
0
100%
src/typedal/caching.py
clear_expired
2
0
0
100%
src/typedal/caching.py
_remove_cache
2
0
0
100%
src/typedal/caching.py
get_expire
10
0
0
100%
src/typedal/caching.py
save_to_cache
9
0
0
100%
src/typedal/caching.py
_load_from_cache
15
0
0
100%
src/typedal/caching.py
load_from_cache
2
0
1
100%
src/typedal/caching.py
humanize_bytes
8
0
0
100%
src/typedal/caching.py
_expired_and_valid_query
3
0
0
100%
src/typedal/caching.py
_row_stats
3
0
0
100%
src/typedal/caching.py
row_stats
3
0
0
100%
src/typedal/caching.py
_table_stats
3
0
0
100%
src/typedal/caching.py
table_stats
2
0
0
100%
src/typedal/caching.py
_calculate_stats
4
0
0
100%
src/typedal/caching.py
calculate_stats
2
0
0
100%
src/typedal/caching.py
(no function)
52
0
2
100%
src/typedal/cli.py
_get_question
0
0
6
100%
src/typedal/cli.py
get_question
0
0
10
100%
src/typedal/cli.py
setup
0
0
55
100%
src/typedal/cli.py
generate_migrations
0
0
18
100%
src/typedal/cli.py
run_migrations
0
0
9
100%
src/typedal/cli.py
fake_migrations
0
0
27
100%
src/typedal/cli.py
migrations_stub
5
0
0
100%
src/typedal/cli.py
tabulate_data
6
0
0
100%
src/typedal/cli.py
get_output_format
19
0
0
100%
src/typedal/cli.py
cache_stats
0
0
16
100%
src/typedal/cli.py
cache_clear
0
0
10
100%
src/typedal/cli.py
version_callback
2
0
0
100%
src/typedal/cli.py
config_callback
3
0
0
100%
src/typedal/cli.py
main
4
0
0
100%
src/typedal/cli.py
(no function)
54
0
13
100%
src/typedal/config.py
TypeDALConfig.to_pydal2sql
2
0
4
100%
src/typedal/config.py
TypeDALConfig.to_migrate
2
0
4
100%
src/typedal/config.py
_load_toml
16
0
0
100%
src/typedal/config.py
_load_dotenv
15
0
0
100%
src/typedal/config.py
get_db_for_alias
1
0
0
100%
src/typedal/config.py
_fill_defaults
4
0
0
100%
src/typedal/config.py
fill_defaults
2
0
0
100%
src/typedal/config.py
transform
4
0
0
100%
src/typedal/config.py
expand_posix_vars
6
0
0
100%
src/typedal/config.py
expand_posix_vars.replace_var
3
0
0
100%
src/typedal/config.py
expand_env_vars_into_toml_values
10
0
0
100%
src/typedal/config.py
load_config
14
0
0
100%
src/typedal/config.py
(no function)
53
0
3
100%
src/typedal/core.py
is_typed_field
1
0
0
100%
src/typedal/core.py
Relationship.__init__
14
0
0
100%
src/typedal/core.py
Relationship.clone
1
0
0
100%
src/typedal/core.py
Relationship.__repr__
6
0
0
100%
src/typedal/core.py
Relationship.get_table
6
0
0
100%
src/typedal/core.py
Relationship.get_table_name
7
0
2
100%
src/typedal/core.py
Relationship.__get__
6
0
0
100%
src/typedal/core.py
relationship
1
0
0
100%
src/typedal/core.py
_generate_relationship_condition
4
0
0
100%
src/typedal/core.py
to_relationship
9
0
6
100%
src/typedal/core.py
TypeDAL.__init__
9
0
0
100%
src/typedal/core.py
TypeDAL.try_define
9
0
0
100%
src/typedal/core.py
TypeDAL._define
30
0
0
100%
src/typedal/core.py
TypeDAL.define
0
0
0
100%
src/typedal/core.py
TypeDAL.define
0
0
0
100%
src/typedal/core.py
TypeDAL.define
4
0
0
100%
src/typedal/core.py
TypeDAL.define.wrapper
1
0
0
100%
src/typedal/core.py
TypeDAL.__call__
10
0
0
100%
src/typedal/core.py
TypeDAL.__getitem__
1
0
0
100%
src/typedal/core.py
TypeDAL._build_field
1
0
0
100%
src/typedal/core.py
TypeDAL._annotation_to_pydal_fieldtype
26
0
0
100%
src/typedal/core.py
TypeDAL._to_field
4
0
0
100%
src/typedal/core.py
TypeDAL.to_snake
1
0
0
100%
src/typedal/core.py
TableMeta.__set_internals__
3
0
0
100%
src/typedal/core.py
TableMeta.__getattr__
3
0
0
100%
src/typedal/core.py
TableMeta._ensure_table_defined
3
0
0
100%
src/typedal/core.py
TableMeta.__iter__
2
0
0
100%
src/typedal/core.py
TableMeta.__getitem__
2
0
0
100%
src/typedal/core.py
TableMeta.__str__
3
0
0
100%
src/typedal/core.py
TableMeta.from_row
1
0
0
100%
src/typedal/core.py
TableMeta.all
1
0
0
100%
src/typedal/core.py
TableMeta.get_relationships
1
0
0
100%
src/typedal/core.py
TableMeta.insert
3
0
0
100%
src/typedal/core.py
TableMeta._insert
2
0
0
100%
src/typedal/core.py
TableMeta.bulk_insert
3
0
0
100%
src/typedal/core.py
TableMeta.update_or_insert
10
0
0
100%
src/typedal/core.py
TableMeta.validate_and_insert
5
0
0
100%
src/typedal/core.py
TableMeta.validate_and_update
6
0
2
100%
src/typedal/core.py
TableMeta.validate_and_update_or_insert
6
0
2
100%
src/typedal/core.py
TableMeta.select
1
0
0
100%
src/typedal/core.py
TableMeta.paginate
1
0
0
100%
src/typedal/core.py
TableMeta.chunk
1
0
0
100%
src/typedal/core.py
TableMeta.where
1
0
0
100%
src/typedal/core.py
TableMeta.cache
1
0
0
100%
src/typedal/core.py
TableMeta.count
1
0
0
100%
src/typedal/core.py
TableMeta.first
1
0
0
100%
src/typedal/core.py
TableMeta.first_or_fail
1
0
0
100%
src/typedal/core.py
TableMeta.join
1
0
0
100%
src/typedal/core.py
TableMeta.collect
1
0
0
100%
src/typedal/core.py
TableMeta.ALL
2
0
0
100%
src/typedal/core.py
TableMeta.truncate
2
0
0
100%
src/typedal/core.py
TableMeta.drop
2
0
0
100%
src/typedal/core.py
TableMeta.create_index
3
0
0
100%
src/typedal/core.py
TableMeta.drop_index
3
0
0
100%
src/typedal/core.py
TableMeta.import_from_csv_file
2
0
0
100%
src/typedal/core.py
TableMeta.on
2
0
0
100%
src/typedal/core.py
TableMeta.with_alias
2
0
0
100%
src/typedal/core.py
TableMeta.before_insert
2
0
0
100%
src/typedal/core.py
TableMeta.after_insert
2
0
0
100%
src/typedal/core.py
TableMeta.before_update
2
0
0
100%
src/typedal/core.py
TableMeta.after_update
2
0
0
100%
src/typedal/core.py
TableMeta.before_delete
2
0
0
100%
src/typedal/core.py
TableMeta.after_delete
2
0
0
100%
src/typedal/core.py
TypedField.__init__
0
0
3
100%
src/typedal/core.py
TypedField.__get__
0
0
1
100%
src/typedal/core.py
TypedField.__get__
0
0
1
100%
src/typedal/core.py
TypedField.__get__
0
0
5
100%
src/typedal/core.py
TypedField.__str__
0
0
2
100%
src/typedal/core.py
TypedField.__repr__
0
0
14
100%
src/typedal/core.py
TypedField._to_field
0
0
4
100%
src/typedal/core.py
TypedField.bind
0
0
3
100%
src/typedal/core.py
TypedField.__getattr__
0
0
4
100%
src/typedal/core.py
TypedField.__eq__
0
0
2
100%
src/typedal/core.py
TypedField.__ne__
0
0
2
100%
src/typedal/core.py
TypedField.__gt__
0
0
2
100%
src/typedal/core.py
TypedField.__lt__
0
0
2
100%
src/typedal/core.py
TypedField.__ge__
0
0
2
100%
src/typedal/core.py
TypedField.__le__
0
0
2
100%
src/typedal/core.py
TypedField.__hash__
0
0
2
100%
src/typedal/core.py
TypedField.__invert__
0
0
4
100%
src/typedal/core.py
TypedField.lower
0
0
4
100%
src/typedal/core.py
_TypedTable.__on_define__
0
0
0
100%
src/typedal/core.py
TypedTable._setup_instance_methods
6
0
0
100%
src/typedal/core.py
TypedTable.__new__
17
0
0
100%
src/typedal/core.py
TypedTable.__iter__
2
0
0
100%
src/typedal/core.py
TypedTable.__getitem__
5
0
0
100%
src/typedal/core.py
TypedTable.__getattr__
3
0
0
100%
src/typedal/core.py
TypedTable.get
4
0
0
100%
src/typedal/core.py
TypedTable.__setitem__
1
0
0
100%
src/typedal/core.py
TypedTable.__int__
1
0
0
100%
src/typedal/core.py
TypedTable.__bool__
1
0
0
100%
src/typedal/core.py
TypedTable._ensure_matching_row
3
0
0
100%
src/typedal/core.py
TypedTable.__repr__
9
0
0
100%
src/typedal/core.py
TypedTable.as_dict
3
0
0
100%
src/typedal/core.py
TypedTable.as_json
2
0
0
100%
src/typedal/core.py
TypedTable.as_xml
0
0
3
100%
src/typedal/core.py
TypedTable.as_yaml
2
0
0
100%
src/typedal/core.py
TypedTable._as_dict
11
0
1
100%
src/typedal/core.py
TypedTable._as_dict.asdict_method
0
0
6
100%
src/typedal/core.py
TypedTable._as_json
2
0
0
100%
src/typedal/core.py
TypedTable._as_xml
0
0
2
100%
src/typedal/core.py
TypedTable.__setattr__
3
0
0
100%
src/typedal/core.py
TypedTable.update
3
0
0
100%
src/typedal/core.py
TypedTable._update
4
0
0
100%
src/typedal/core.py
TypedTable._update_record
4
0
0
100%
src/typedal/core.py
TypedTable.update_record
0
0
2
100%
src/typedal/core.py
TypedTable._delete_record
6
0
0
100%
src/typedal/core.py
TypedTable.delete_record
0
0
2
100%
src/typedal/core.py
TypedTable.__getstate__
9
0
0
100%
src/typedal/core.py
TypedTable.__setstate__
2
0
0
100%
src/typedal/core.py
TypedRows.__init__
5
0
0
100%
src/typedal/core.py
TypedRows.__len__
1
0
0
100%
src/typedal/core.py
TypedRows.__iter__
1
0
0
100%
src/typedal/core.py
TypedRows.__contains__
1
0
0
100%
src/typedal/core.py
TypedRows.first
3
0
0
100%
src/typedal/core.py
TypedRows.last
4
0
0
100%
src/typedal/core.py
TypedRows.find
15
0
0
100%
src/typedal/core.py
TypedRows.exclude
11
0
0
100%
src/typedal/core.py
TypedRows.sort
1
0
0
100%
src/typedal/core.py
TypedRows.__str__
1
0
0
100%
src/typedal/core.py
TypedRows.__repr__
3
0
0
100%
src/typedal/core.py
TypedRows.group_by_value
3
0
0
100%
src/typedal/core.py
TypedRows.as_csv
1
0
0
100%
src/typedal/core.py
TypedRows.as_dict
3
0
0
100%
src/typedal/core.py
TypedRows.as_json
2
0
0
100%
src/typedal/core.py
TypedRows.json
1
0
0
100%
src/typedal/core.py
TypedRows.as_list
3
0
0
100%
src/typedal/core.py
TypedRows.__getitem__
6
0
0
100%
src/typedal/core.py
TypedRows.get
1
0
0
100%
src/typedal/core.py
TypedRows.update
4
0
0
100%
src/typedal/core.py
TypedRows.delete
4
0
0
100%
src/typedal/core.py
TypedRows.join
2
0
0
100%
src/typedal/core.py
TypedRows.export_to_csv_file
1
0
0
100%
src/typedal/core.py
TypedRows.from_rows
1
0
0
100%
src/typedal/core.py
TypedRows.__getstate__
1
0
0
100%
src/typedal/core.py
TypedRows.__setstate__
2
0
0
100%
src/typedal/core.py
QueryBuilder.__init__
8
0
0
100%
src/typedal/core.py
QueryBuilder.__str__
1
0
0
100%
src/typedal/core.py
QueryBuilder.__repr__
1
0
0
100%
src/typedal/core.py
QueryBuilder.__bool__
1
0
0
100%
src/typedal/core.py
QueryBuilder._extend
1
0
0
100%
src/typedal/core.py
QueryBuilder.select
1
0
0
100%
src/typedal/core.py
QueryBuilder.where
17
0
0
100%
src/typedal/core.py
QueryBuilder.join
22
0
0
100%
src/typedal/core.py
QueryBuilder.cache
5
0
0
100%
src/typedal/core.py
QueryBuilder._get_db
2
0
2
100%
src/typedal/core.py
QueryBuilder._select_arg_convert
1
0
2
100%
src/typedal/core.py
QueryBuilder.delete
5
0
0
100%
src/typedal/core.py
QueryBuilder._delete
2
0
0
100%
src/typedal/core.py
QueryBuilder.update
5
0
0
100%
src/typedal/core.py
QueryBuilder._update
2
0
0
100%
src/typedal/core.py
QueryBuilder._before_query
12
0
0
100%
src/typedal/core.py
QueryBuilder.to_sql
3
0
0
100%
src/typedal/core.py
QueryBuilder._collect
1
0
0
100%
src/typedal/core.py
QueryBuilder._collect_cached
6
0
0
100%
src/typedal/core.py
QueryBuilder.execute
4
0
0
100%
src/typedal/core.py
QueryBuilder.collect
16
0
4
100%
src/typedal/core.py
QueryBuilder.column
0
0
0
100%
src/typedal/core.py
QueryBuilder.column
0
0
0
100%
src/typedal/core.py
QueryBuilder.column
1
0
0
100%
src/typedal/core.py
QueryBuilder._handle_relationships_pre_select
44
0
2
100%
src/typedal/core.py
QueryBuilder._collect_with_relationships
26
0
2
100%
src/typedal/core.py
QueryBuilder.collect_or_fail
5
0
0
100%
src/typedal/core.py
QueryBuilder.__iter__
1
0
0
100%
src/typedal/core.py
QueryBuilder.count
10
0
0
100%
src/typedal/core.py
QueryBuilder.__paginate
6
0
0
100%
src/typedal/core.py
QueryBuilder.paginate
4
0
0
100%
src/typedal/core.py
QueryBuilder._paginate
2
0
0
100%
src/typedal/core.py
QueryBuilder.chunk
4
0
0
100%
src/typedal/core.py
QueryBuilder.first
3
0
0
100%
src/typedal/core.py
QueryBuilder._first
1
0
0
100%
src/typedal/core.py
QueryBuilder.first_or_fail
5
0
0
100%
src/typedal/core.py
PaginatedRows.data
1
0
0
100%
src/typedal/core.py
PaginatedRows.pagination
4
0
0
100%
src/typedal/core.py
PaginatedRows.next
4
0
0
100%
src/typedal/core.py
PaginatedRows.previous
4
0
0
100%
src/typedal/core.py
PaginatedRows.as_dict
1
0
0
100%
src/typedal/core.py
TypedSet.count
0
0
3
100%
src/typedal/core.py
TypedSet.select
0
0
3
100%
src/typedal/core.py
(no function)
256
0
38
100%
src/typedal/fields.py
StringField
2
0
0
100%
src/typedal/fields.py
TextField
2
0
0
100%
src/typedal/fields.py
BlobField
2
0
0
100%
src/typedal/fields.py
BooleanField
2
0
0
100%
src/typedal/fields.py
IntegerField
2
0
0
100%
src/typedal/fields.py
DoubleField
2
0
0
100%
src/typedal/fields.py
DecimalField
2
0
0
100%
src/typedal/fields.py
DateField
2
0
0
100%
src/typedal/fields.py
TimeField
2
0
0
100%
src/typedal/fields.py
DatetimeField
2
0
0
100%
src/typedal/fields.py
PasswordField
2
0
0
100%
src/typedal/fields.py
UploadField
2
0
0
100%
src/typedal/fields.py
ReferenceField
9
0
0
100%
src/typedal/fields.py
ListStringField
2
0
0
100%
src/typedal/fields.py
ListIntegerField
2
0
0
100%
src/typedal/fields.py
ListReferenceField
2
0
0
100%
src/typedal/fields.py
JSONField
2
0
0
100%
src/typedal/fields.py
BigintField
2
0
0
100%
src/typedal/fields.py
(no function)
42
0
0
100%
src/typedal/for_py4web.py
DAL.on_request
0
0
3
100%
src/typedal/for_py4web.py
DAL.on_error
0
0
2
100%
src/typedal/for_py4web.py
DAL.on_success
0
0
2
100%
src/typedal/for_py4web.py
setup_py4web_tables
1
0
0
100%
src/typedal/for_py4web.py
(no function)
9
0
5
100%
src/typedal/for_web2py.py
AuthGroup.__on_define__
2
0
0
100%
src/typedal/for_web2py.py
setup_web2py_tables
5
0
0
100%
src/typedal/for_web2py.py
(no function)
25
0
0
100%
src/typedal/helpers.py
is_union
1
0
0
100%
src/typedal/helpers.py
reversed_mro
1
0
0
100%
src/typedal/helpers.py
_all_annotations
1
0
0
100%
src/typedal/helpers.py
all_dict
1
0
0
100%
src/typedal/helpers.py
all_annotations
4
0
0
100%
src/typedal/helpers.py
instanciate
8
0
0
100%
src/typedal/helpers.py
origin_is_subclass
1
0
0
100%
src/typedal/helpers.py
mktable
17
0
0
100%
src/typedal/helpers.py
looks_like
1
0
0
100%
src/typedal/helpers.py
filter_out
1
0
0
100%
src/typedal/helpers.py
unwrap_type
3
0
0
100%
src/typedal/helpers.py
extract_type_optional
0
0
0
100%
src/typedal/helpers.py
extract_type_optional
0
0
0
100%
src/typedal/helpers.py
extract_type_optional
7
0
0
100%
src/typedal/helpers.py
to_snake
1
0
0
100%
src/typedal/helpers.py
DummyQuery.__or__
1
0
0
100%
src/typedal/helpers.py
DummyQuery.__and__
1
0
0
100%
src/typedal/helpers.py
DummyQuery.__bool__
1
0
0
100%
src/typedal/helpers.py
as_lambda
1
0
0
100%
src/typedal/helpers.py
match_strings
6
0
0
100%
src/typedal/helpers.py
utcnow
1
0
0
100%
src/typedal/helpers.py
(no function)
35
0
0
100%
src/typedal/mixins.py
TimestampsMixin.__on_define__
3
0
0
100%
src/typedal/mixins.py
TimestampsMixin.__on_define__.set_updated_at
1
0
0
100%
src/typedal/mixins.py
slug_random_suffix
1
0
0
100%
src/typedal/mixins.py
SlugMixin.__init_subclass__
6
0
0
100%
src/typedal/mixins.py
SlugMixin.__on_define__
3
0
0
100%
src/typedal/mixins.py
SlugMixin.__on_define__.generate_slug_before_insert
6
0
0
100%
src/typedal/mixins.py
SlugMixin.from_slug
4
0
0
100%
src/typedal/mixins.py
SlugMixin.from_slug_or_fail
4
0
0
100%
src/typedal/mixins.py
(no function)
27
0
0
100%
src/typedal/serializers/as_json.py
SerializedJson._default
0
0
24
100%
src/typedal/serializers/as_json.py
SerializedJson.rules
0
0
0
100%
src/typedal/serializers/as_json.py
SerializedJson.rules
0
0
0
100%
src/typedal/serializers/as_json.py
SerializedJson.rules
3
0
0
100%
src/typedal/serializers/as_json.py
encode
1
0
0
100%
src/typedal/serializers/as_json.py
(no function)
11
0
1
100%
src/typedal/types.py
OpRow.__getitem__
0
0
1
100%
src/typedal/types.py
OpRow.__setitem__
0
0
1
100%
src/typedal/types.py
Rows.column
1
0
0
100%
src/typedal/types.py
TableProtocol.__getitem__
0
0
1
100%
src/typedal/types.py
CacheFn.__call__
0
0
0
100%
src/typedal/types.py
(no function)
75
0
11
100%
src/typedal/web2py_py4web_shared.py
AuthUser.__on_define__
2
0
0
100%
src/typedal/web2py_py4web_shared.py
(no function)
17
0
0
100%
Total
1712
0
374
100%
No items found using the specified filter.