Coverage report: 75%

Files Functions Classes

coverage.py v7.13.2, created at 2026-03-11 19:18 +0900

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / beautyspot / __init__.py Spot   100% 16 0 0   100% 6 0   100%
src / beautyspot / __init__.py (no function)   91% 23 2 0   100% 0 0   91%
src / beautyspot / _version.py (no function)   0% 13 13 5   100% 0 0   0%
src / beautyspot / cache.py CacheManager.__init__   100% 9 0 0   100% 2 0   100%
src / beautyspot / cache.py CacheManager.make_cache_key   100% 6 0 0   100% 2 0   100%
src / beautyspot / cache.py CacheManager.calculate_expires_at   80% 10 2 0   75% 8 2   78%
src / beautyspot / cache.py CacheManager.get   100% 26 0 0   100% 10 0   100%
src / beautyspot / cache.py CacheManager.set   88% 16 2 0   100% 4 0   90%
src / beautyspot / cache.py CacheManager.herd_sync   100% 5 0 0   100% 2 0   100%
src / beautyspot / cache.py CacheManager.herd_async   100% 5 0 0   100% 2 0   100%
src / beautyspot / cache.py CacheManager.wait_herd_sync   96% 23 1 0   83% 12 2   91%
src / beautyspot / cache.py CacheManager.wait_herd_async   90% 29 3 0   79% 14 3   86%
src / beautyspot / cache.py CacheManager._await_herd_signal_async   53% 15 7 0   12% 8 1   39%
src / beautyspot / cache.py CacheManager.notify_and_cleanup_inflight   100% 13 0 0   80% 10 2   91%
src / beautyspot / cache.py CacheManager._notify_future   100% 2 0 0   100% 0 0   100%
src / beautyspot / cache.py CacheManager._notify_future._set   100% 6 0 0   83% 6 1   92%
src / beautyspot / cache.py (no function)   100% 42 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _safe_sort_key   100% 3 0 0   100% 2 0   100%
src / beautyspot / cachekey.py _canonicalize_ndarray   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _canonicalize_instance   81% 21 4 0   75% 12 3   79%
src / beautyspot / cachekey.py _is_ndarray_like   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py canonicalize   53% 15 7 0   70% 10 3   60%
src / beautyspot / cachekey.py _canonicalize_dict   100% 2 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _canonicalize_list   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _canonicalize_tuple   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _canonicalize_set   100% 2 0 0   100% 0 0   100%
src / beautyspot / cachekey.py _canonicalize_frozenset   0% 2 2 0   100% 0 0   0%
src / beautyspot / cachekey.py _canonicalize_deque   0% 1 1 0   100% 0 0   0%
src / beautyspot / cachekey.py _canonicalize_defaultdict   0% 1 1 0   100% 0 0   0%
src / beautyspot / cachekey.py _canonicalize_ordereddict   0% 1 1 0   100% 0 0   0%
src / beautyspot / cachekey.py _canonicalize_enum   0% 1 1 0   100% 0 0   0%
src / beautyspot / cachekey.py _canonicalize_type   14% 21 18 0   10% 10 1   13%
src / beautyspot / cachekey.py _canonicalize_np_ndarray   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py KeyGenPolicy.__init__   100% 2 0 0   100% 0 0   100%
src / beautyspot / cachekey.py KeyGenPolicy.bind   100% 3 0 0   100% 0 0   100%
src / beautyspot / cachekey.py KeyGenPolicy.bind._bound_keygen   76% 17 4 0   88% 8 1   80%
src / beautyspot / cachekey.py KeyGen.from_path_stat   0% 5 5 0   0% 2 0   0%
src / beautyspot / cachekey.py KeyGen.from_file_content   18% 11 9 0   25% 4 1   20%
src / beautyspot / cachekey.py KeyGen._default   67% 12 4 0   50% 2 1   64%
src / beautyspot / cachekey.py KeyGen.hash_items   50% 8 4 0   50% 2 1   50%
src / beautyspot / cachekey.py KeyGen.ignore   100% 2 0 0   100% 0 0   100%
src / beautyspot / cachekey.py KeyGen.map   100% 1 0 0   100% 0 0   100%
src / beautyspot / cachekey.py KeyGen.file_content   0% 2 2 0   100% 0 0   0%
src / beautyspot / cachekey.py KeyGen.path_stat   0% 2 2 0   100% 0 0   0%
src / beautyspot / cachekey.py (no function)   97% 74 2 0   100% 0 0   97%
src / beautyspot / cli.py get_service   100% 5 0 0   100% 2 0   100%
src / beautyspot / cli.py _is_port_in_use   0% 2 2 0   100% 0 0   0%
src / beautyspot / cli.py _find_available_port   80% 5 1 0   50% 4 2   67%
src / beautyspot / cli.py _format_size   80% 5 1 0   75% 4 1   78%
src / beautyspot / cli.py _format_timestamp   100% 3 0 0   100% 0 0   100%
src / beautyspot / cli.py _get_task_count   100% 2 0 0   100% 0 0   100%
src / beautyspot / cli.py _list_databases   91% 22 2 0   83% 6 1   89%
src / beautyspot / cli.py _list_tasks   100% 2 0 0   100% 0 0   100%
src / beautyspot / cli.py _list_tasks_inner   82% 33 6 0   67% 12 4   78%
src / beautyspot / cli.py ui_cmd   67% 24 8 0   100% 6 0   73%
src / beautyspot / cli.py list_cmd   100% 4 0 0   100% 2 0   100%
src / beautyspot / cli.py show_cmd   100% 2 0 0   100% 0 0   100%
src / beautyspot / cli.py _show_cmd_inner   40% 35 21 0   33% 18 4   38%
src / beautyspot / cli.py stats_cmd   100% 2 0 0   100% 0 0   100%
src / beautyspot / cli.py _stats_cmd_inner   75% 40 10 0   69% 16 3   73%
src / beautyspot / cli.py clear_cmd   89% 18 2 0   70% 10 3   82%
src / beautyspot / cli.py clean_cmd   100% 2 0 0   100% 0 0   100%
src / beautyspot / cli.py _clean_cmd_inner   79% 24 5 0   67% 12 2   75%
src / beautyspot / cli.py gc_cmd   68% 77 25 0   61% 38 7   65%
src / beautyspot / cli.py prune_cmd   100% 5 0 0   100% 2 0   100%
src / beautyspot / cli.py _prune_cmd_inner   65% 31 11 0   56% 16 3   62%
src / beautyspot / cli.py version_cmd   60% 5 2 0   100% 0 0   60%
src / beautyspot / cli.py main   0% 1 1 0   100% 0 0   0%
src / beautyspot / cli.py (no function)   98% 49 1 0   50% 2 1   96%
src / beautyspot / content_types.py (no function)   100% 10 0 0   100% 0 0   100%
src / beautyspot / core.py _BackgroundLoop.__init__   100% 8 0 0   100% 0 0   100%
src / beautyspot / core.py _BackgroundLoop._run_event_loop   100% 4 0 0   100% 0 0   100%
src / beautyspot / core.py _BackgroundLoop._task_wrapper   100% 6 0 0   100% 2 0   100%
src / beautyspot / core.py _BackgroundLoop.submit   38% 24 15 0   50% 4 0   39%
src / beautyspot / core.py _BackgroundLoop.stop   82% 11 2 0   75% 8 2   79%
src / beautyspot / core.py _BackgroundLoop._shutdown   0% 1 1 0   100% 0 0   0%
src / beautyspot / core.py Spot.__init__   89% 28 3 0   50% 6 3   82%
src / beautyspot / core.py Spot.__enter__   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.__exit__   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._track_future   83% 6 1 0   50% 2 1   75%
src / beautyspot / core.py Spot._track_future._on_done   100% 2 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.maintenance   100% 8 0 0   50% 4 2   83%
src / beautyspot / core.py Spot._ensure_bg_resources   100% 15 0 0   67% 12 4   85%
src / beautyspot / core.py Spot._shutdown_resources   100% 4 0 0   100% 2 0   100%
src / beautyspot / core.py Spot.shutdown   100% 10 0 0   100% 8 0   100%
src / beautyspot / core.py Spot.flush   93% 15 1 0   83% 6 1   90%
src / beautyspot / core.py Spot._drain_futures   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._get_func_identifier   100% 3 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._trigger_auto_eviction   81% 26 5 0   70% 10 3   78%
src / beautyspot / core.py Spot._trigger_auto_eviction._run_clean_safe   0% 4 4 0   100% 0 0   0%
src / beautyspot / core.py Spot._trigger_auto_eviction._clear_eviction_flag   100% 3 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._trigger_auto_eviction._run_clean_coro   0% 4 4 0   0% 2 0   0%
src / beautyspot / core.py Spot._resolve_key_fn   100% 8 0 0   100% 6 0   100%
src / beautyspot / core.py Spot.register   100% 4 0 0   100% 2 0   100%
src / beautyspot / core.py Spot.register.decorator   100% 7 0 0   100% 4 0   100%
src / beautyspot / core.py Spot.register_type   67% 3 1 0   50% 2 1   60%
src / beautyspot / core.py Spot._dispatch_hooks   71% 7 2 0   100% 4 0   82%
src / beautyspot / core.py Spot._dispatch_hooks_async   100% 3 0 0   100% 2 0   100%
src / beautyspot / core.py Spot._resolve_settings   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._prepare_execution   100% 4 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._build_cache_hit_context   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._build_save_kwargs   100% 2 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._persist_result_sync   92% 12 1 0   75% 4 1   88%
src / beautyspot / core.py Spot._persist_result_async   67% 18 6 0   50% 6 1   62%
src / beautyspot / core.py Spot._execute_sync   97% 29 1 0   90% 10 1   95%
src / beautyspot / core.py Spot._execute_async   97% 31 1 0   90% 10 1   95%
src / beautyspot / core.py Spot._handle_save_error   100% 8 0 0   100% 2 0   100%
src / beautyspot / core.py Spot._notify_save_discarded   100% 4 0 0   100% 0 0   100%
src / beautyspot / core.py Spot._submit_background_save   100% 6 0 0   100% 2 0   100%
src / beautyspot / core.py Spot._save_result_async   100% 10 0 0   100% 2 0   100%
src / beautyspot / core.py Spot._save_result_safe   100% 4 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.consume   100% 2 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.consume.decorator   100% 6 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.consume.decorator.sync_wrapper   0% 2 2 0   100% 0 0   0%
src / beautyspot / core.py Spot.consume.decorator.async_wrapper   100% 2 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.mark   100% 0 0 1   100% 0 0   100%
src / beautyspot / core.py Spot.mark   100% 0 0 1   100% 0 0   100%
src / beautyspot / core.py Spot.mark   100% 2 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.mark.decorator   89% 9 1 0   50% 2 1   82%
src / beautyspot / core.py Spot.mark.decorator.sync_wrapper   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.mark.decorator.async_wrapper   100% 1 0 0   100% 0 0   100%
src / beautyspot / core.py Spot.cached_run   100% 0 0 1   100% 0 0   100%
src / beautyspot / core.py Spot.cached_run   100% 0 0 1   100% 0 0   100%
src / beautyspot / core.py Spot.cached_run   100% 4 0 0   100% 2 0   100%
src / beautyspot / core.py (no function)   100% 85 0 20   100% 0 0   100%
src / beautyspot / dashboard.py get_args   0% 4 4 0   100% 0 0   0%
src / beautyspot / dashboard.py load_data   0% 5 5 0   100% 0 0   0%
src / beautyspot / dashboard.py (no function)   0% 108 108 0   0% 46 0   0%
src / beautyspot / db.py TaskDBCore.init_schema   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py TaskDBCore.get   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py TaskDBCore.save   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py TaskDBCore.delete   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Flushable.flush   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Shutdownable.shutdown   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.delete_expired   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.prune   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.get_outdated_tasks   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.get_blob_refs   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.delete_all   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.get_keys_start_with   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py Maintenable.get_history   100% 0 0 1   100% 0 0   100%
src / beautyspot / db.py _ReadConnWrapper.__init__   100% 4 0 0   100% 0 0   100%
src / beautyspot / db.py _ReadConnWrapper.close   58% 12 5 0   50% 6 1   56%
src / beautyspot / db.py _ReadConnWrapper.__del__   100% 1 0 0   100% 0 0   100%
src / beautyspot / db.py _ensure_utc_isoformat   83% 6 1 0   75% 4 1   80%
src / beautyspot / db.py _WriteTask.try_cancel   100% 5 0 0   100% 2 0   100%
src / beautyspot / db.py _WriteTask.try_start   100% 5 0 0   100% 2 0   100%
src / beautyspot / db.py _WriteTask.mark_done   100% 3 0 0   50% 2 1   80%
src / beautyspot / db.py TaskDBBase.init_schema   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.get   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.save   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.delete   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.delete_expired   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.prune   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.get_outdated_tasks   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.get_blob_refs   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.delete_all   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.get_keys_start_with   0% 1 1 0   100% 0 0   0%
src / beautyspot / db.py TaskDBBase.get_history   0% 5 5 0   100% 0 0   0%
src / beautyspot / db.py SQLiteTaskDB.__init__   95% 20 1 0   50% 2 1   91%
src / beautyspot / db.py SQLiteTaskDB.reset   79% 19 4 0   50% 6 3   72%
src / beautyspot / db.py SQLiteTaskDB._ensure_cache_dir   71% 7 2 0   100% 2 0   78%
src / beautyspot / db.py SQLiteTaskDB._read_connect   66% 35 12 0   58% 12 5   64%
src / beautyspot / db.py SQLiteTaskDB._writer_loop   80% 49 10 0   71% 14 2   78%
src / beautyspot / db.py SQLiteTaskDB._enqueue_write   81% 36 7 0   68% 28 9   75%
src / beautyspot / db.py SQLiteTaskDB.shutdown   74% 19 5 0   80% 10 2   76%
src / beautyspot / db.py SQLiteTaskDB.init_schema   100% 2 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.init_schema._op   29% 41 29 0   30% 20 4   30%
src / beautyspot / db.py SQLiteTaskDB.get   80% 15 3 0   88% 8 1   83%
src / beautyspot / db.py SQLiteTaskDB.save   100% 2 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.save._op   100% 3 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.get_history   67% 9 3 0   50% 2 1   64%
src / beautyspot / db.py SQLiteTaskDB.delete   0% 2 2 0   100% 0 0   0%
src / beautyspot / db.py SQLiteTaskDB.delete._op   0% 2 2 0   100% 0 0   0%
src / beautyspot / db.py SQLiteTaskDB.delete_all   100% 2 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.delete_all._op   100% 4 0 0   100% 2 0   100%
src / beautyspot / db.py SQLiteTaskDB.prune   100% 3 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.prune._op   100% 4 0 0   100% 2 0   100%
src / beautyspot / db.py SQLiteTaskDB.get_outdated_tasks   88% 8 1 0   75% 4 1   83%
src / beautyspot / db.py SQLiteTaskDB.delete_expired   80% 5 1 0   50% 2 1   71%
src / beautyspot / db.py SQLiteTaskDB.delete_expired._op   100% 2 0 0   100% 0 0   100%
src / beautyspot / db.py SQLiteTaskDB.get_blob_refs   80% 5 1 0   50% 2 1   71%
src / beautyspot / db.py SQLiteTaskDB.get_keys_start_with   83% 6 1 0   50% 2 1   75%
src / beautyspot / db.py SQLiteTaskDB.count_tasks   80% 10 2 0   100% 0 0   80%
src / beautyspot / db.py SQLiteTaskDB.flush   84% 19 3 0   75% 8 2   81%
src / beautyspot / db.py SQLiteTaskDB.flush._noop_op   100% 1 0 0   100% 0 0   100%
src / beautyspot / db.py (no function)   100% 87 0 43   100% 0 0   100%
src / beautyspot / exceptions.py (no function)   100% 6 0 0   100% 0 0   100%
src / beautyspot / hooks.py HookBase.pre_execute   100% 0 0 0   100% 0 0   100%
src / beautyspot / hooks.py HookBase.on_cache_hit   100% 0 0 0   100% 0 0   100%
src / beautyspot / hooks.py HookBase.on_cache_miss   100% 0 0 0   100% 0 0   100%
src / beautyspot / hooks.py _wrap_with_lock   100% 3 0 0   100% 0 0   100%
src / beautyspot / hooks.py _wrap_with_lock.wrapper   100% 2 0 0   100% 0 0   100%
src / beautyspot / hooks.py ThreadSafeHookBase.__init_subclass__   100% 4 0 0   75% 4 1   88%
src / beautyspot / hooks.py ThreadSafeHookBase.__init__   100% 1 0 0   100% 0 0   100%
src / beautyspot / hooks.py ThreadSafeHookBase.__getattr__   0% 3 3 0   0% 2 0   0%
src / beautyspot / hooks.py (no function)   100% 16 0 0   100% 0 0   100%
src / beautyspot / lifecycle.py _ForeverSentinel.__new__   100% 5 0 0   75% 4 1   89%
src / beautyspot / lifecycle.py _ForeverSentinel.__repr__   100% 1 0 0   100% 0 0   100%
src / beautyspot / lifecycle.py _ForeverSentinel.__bool__   100% 1 0 0   100% 0 0   100%
src / beautyspot / lifecycle.py parse_retention   100% 26 0 0   96% 24 1   98%
src / beautyspot / lifecycle.py LifecyclePolicy.__init__   75% 4 1 0   50% 2 1   67%
src / beautyspot / lifecycle.py LifecyclePolicy.resolve   100% 4 0 0   100% 4 0   100%
src / beautyspot / lifecycle.py LifecyclePolicy.resolve_with_fallback   100% 7 0 0   100% 8 0   100%
src / beautyspot / lifecycle.py LifecyclePolicy.default   100% 1 0 0   100% 0 0   100%
src / beautyspot / lifecycle.py (no function)   100% 30 0 0   100% 0 0   100%
src / beautyspot / limiter.py LimiterProtocol.consume   100% 0 0 1   100% 0 0   100%
src / beautyspot / limiter.py LimiterProtocol.consume_async   100% 0 0 1   100% 0 0   100%
src / beautyspot / limiter.py TokenBucket.__init__   100% 6 0 0   100% 2 0   100%
src / beautyspot / limiter.py TokenBucket._consume_reservation   86% 14 2 0   75% 8 2   82%
src / beautyspot / limiter.py TokenBucket.consume   100% 3 0 0   100% 2 0   100%
src / beautyspot / limiter.py TokenBucket.consume_async   100% 3 0 0   100% 2 0   100%
src / beautyspot / limiter.py (no function)   100% 11 0 3   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.__init__   100% 5 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.close   100% 2 0 0   50% 2 1   75%
src / beautyspot / maintenance.py MaintenanceService.__enter__   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.__exit__   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.from_path   90% 21 2 0   100% 4 0   92%
src / beautyspot / maintenance.py MaintenanceService.get_history   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.get_task_detail   100% 20 0 0   80% 10 2   93%
src / beautyspot / maintenance.py MaintenanceService.delete_expired_tasks   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.delete_task   85% 13 2 0   67% 6 2   79%
src / beautyspot / maintenance.py MaintenanceService.get_prunable_tasks   100% 2 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.prune   100% 5 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.clear   100% 4 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.scan_garbage   84% 25 4 0   92% 12 1   86%
src / beautyspot / maintenance.py MaintenanceService.scan_garbage._normalize_location   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.scan_garbage._basename   100% 1 0 0   100% 0 0   100%
src / beautyspot / maintenance.py MaintenanceService.clean_garbage   70% 40 12 0   68% 22 7   69%
src / beautyspot / maintenance.py MaintenanceService.resolve_key_prefix   62% 8 3 0   50% 6 1   57%
src / beautyspot / maintenance.py MaintenanceService.scan_orphan_projects   100% 10 0 0   88% 8 1   94%
src / beautyspot / maintenance.py MaintenanceService.delete_project_storage   50% 6 3 0   50% 2 1   50%
src / beautyspot / maintenance.py (no function)   100% 33 0 0   100% 0 0   100%
src / beautyspot / serializer.py SerializerProtocol.dumps   100% 0 0 1   100% 0 0   100%
src / beautyspot / serializer.py SerializerProtocol.loads   100% 0 0 1   100% 0 0   100%
src / beautyspot / serializer.py TypeRegistryProtocol.register   100% 0 0 1   100% 0 0   100%
src / beautyspot / serializer.py MsgpackSerializer.__init__   100% 6 0 0   100% 0 0   100%
src / beautyspot / serializer.py MsgpackSerializer._get_local_cache   100% 5 0 0   100% 2 0   100%
src / beautyspot / serializer.py MsgpackSerializer._enforce_cache_size   100% 2 0 0   100% 2 0   100%
src / beautyspot / serializer.py MsgpackSerializer.register   80% 15 3 0   67% 6 2   76%
src / beautyspot / serializer.py MsgpackSerializer._default_packer   89% 35 4 0   92% 12 1   89%
src / beautyspot / serializer.py MsgpackSerializer._ext_hook   80% 10 2 0   50% 2 1   75%
src / beautyspot / serializer.py MsgpackSerializer.dumps   78% 9 2 0   50% 4 2   69%
src / beautyspot / serializer.py MsgpackSerializer.loads   83% 6 1 0   50% 2 1   75%
src / beautyspot / serializer.py (no function)   100% 19 0 10   100% 0 0   100%
src / beautyspot / storage.py StoragePolicyProtocol.should_save_as_blob   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py ThresholdStoragePolicy.should_save_as_blob   100% 1 0 0   100% 0 0   100%
src / beautyspot / storage.py WarningOnlyPolicy.should_save_as_blob   100% 3 0 0   100% 2 0   100%
src / beautyspot / storage.py AlwaysBlobPolicy.should_save_as_blob   100% 1 0 0   100% 0 0   100%
src / beautyspot / storage.py BlobStorageCore.save   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py BlobStorageCore.load   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py BlobStorageCore.delete   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py Maintenable.list_keys   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py Maintenable.get_mtime   100% 0 0 1   100% 0 0   100%
src / beautyspot / storage.py BlobStorageBase.save   0% 1 1 0   100% 0 0   0%
src / beautyspot / storage.py BlobStorageBase.load   0% 1 1 0   100% 0 0   0%
src / beautyspot / storage.py BlobStorageBase.delete   0% 1 1 0   100% 0 0   0%
src / beautyspot / storage.py BlobStorageBase.list_keys   0% 1 1 0   100% 0 0   0%
src / beautyspot / storage.py BlobStorageBase.get_mtime   0% 1 1 0   100% 0 0   0%
src / beautyspot / storage.py LocalStorage.__init__   100% 2 0 0   100% 0 0   100%
src / beautyspot / storage.py LocalStorage._ensure_cache_dir   71% 7 2 0   100% 2 0   78%
src / beautyspot / storage.py LocalStorage._validate_key   100% 2 0 0   100% 2 0   100%
src / beautyspot / storage.py LocalStorage.save   65% 17 6 0   100% 0 0   65%
src / beautyspot / storage.py LocalStorage.load   80% 10 2 0   100% 4 0   86%
src / beautyspot / storage.py LocalStorage.delete   67% 9 3 0   50% 2 1   64%
src / beautyspot / storage.py LocalStorage.list_keys   80% 5 1 0   67% 6 2   73%
src / beautyspot / storage.py LocalStorage.get_mtime   86% 7 1 0   50% 2 1   78%
src / beautyspot / storage.py LocalStorage.clean_temp_files   77% 13 3 0   75% 8 2   76%
src / beautyspot / storage.py LocalStorage.prune_empty_dirs   50% 22 11 0   60% 10 2   53%
src / beautyspot / storage.py S3Storage.__init__   0% 8 8 0   0% 2 0   0%
src / beautyspot / storage.py S3Storage._parse_s3_uri   0% 7 7 0   0% 4 0   0%
src / beautyspot / storage.py S3Storage.save   0% 4 4 0   100% 0 0   0%
src / beautyspot / storage.py S3Storage.load   0% 9 9 0   100% 0 0   0%
src / beautyspot / storage.py S3Storage.delete   0% 5 5 0   100% 0 0   0%
src / beautyspot / storage.py S3Storage.get_mtime   0% 6 6 0   100% 0 0   0%
src / beautyspot / storage.py S3Storage.list_keys   0% 4 4 0   0% 4 0   0%
src / beautyspot / storage.py create_storage   67% 3 1 0   50% 2 1   60%
src / beautyspot / storage.py (no function)   96% 70 3 11   100% 0 0   96%
src / beautyspot / types.py HookContextBase.__post_init__   100% 2 0 0   50% 2 1   75%
src / beautyspot / types.py (no function)   100% 40 0 0   100% 0 0   100%
Total     77% 2647 598 120   66% 818 151   75%

No items found using the specified filter.