@@ -128,7 +128,7 @@ def build_release_metadata() -> dict:
128128 """Return a small machine-readable release description for health and ops tooling."""
129129 return {
130130 'application' : 'PyBehaviorLog' ,
131- 'version' : '0.9.4 ' ,
131+ 'version' : '0.9.5 ' ,
132132 'django_target' : '6.0.3' ,
133133 'python_minimum' : '3.13' ,
134134 'asgi' : True ,
@@ -1790,8 +1790,8 @@ def build_reproducibility_bundle(project: Project) -> dict[str, bytes]:
17901790 )
17911791
17921792 manifest = {
1793- 'schema' : 'pybehaviorlog-0.9.1 -bundle' ,
1794- 'version' : '0.9.1 ' ,
1793+ 'schema' : 'pybehaviorlog-0.9.5 -bundle' ,
1794+ 'version' : '0.9.5 ' ,
17951795 'project' : {
17961796 'name' : project .name ,
17971797 'description' : project .description ,
@@ -2366,8 +2366,8 @@ def build_session_compatibility_report(session: ObservationSession) -> dict:
23662366 modifier_event_count = sum (1 for event in ordered_events if event .modifiers .exists ())
23672367 multi_subject_event_count = sum (1 for event in ordered_events if event .subjects .count () > 1 )
23682368 report = {
2369- 'schema' : 'pybehaviorlog-0.9.1 -session-compatibility-report' ,
2370- 'version' : '0.9.1 ' ,
2369+ 'schema' : 'pybehaviorlog-0.9.5 -session-compatibility-report' ,
2370+ 'version' : '0.9.5 ' ,
23712371 'session' : session .title ,
23722372 'boris' : {
23732373 'documented_exports' : [
@@ -2421,8 +2421,8 @@ def build_session_compatibility_report(session: ObservationSession) -> dict:
24212421def build_project_compatibility_report (project : Project ) -> dict :
24222422 """Summarize project-level exchange coverage for BORIS and CowLog."""
24232423 return {
2424- 'schema' : 'pybehaviorlog-0.9.1 -project-compatibility-report' ,
2425- 'version' : '0.9.1 ' ,
2424+ 'schema' : 'pybehaviorlog-0.9.5 -project-compatibility-report' ,
2425+ 'version' : '0.9.5 ' ,
24262426 'project' : project .name ,
24272427 'counts' : {
24282428 'sessions' : project .sessions .count (),
@@ -2651,6 +2651,7 @@ def import_project_payload(
26512651 'pybehaviorlog-0.8.3-bundle' ,
26522652 'pybehaviorlog-0.9-bundle' ,
26532653 'pybehaviorlog-0.9.1-bundle' ,
2654+ 'pybehaviorlog-0.9.5-bundle' ,
26542655 }:
26552656 raise ValueError (_ ('Unsupported project payload format.' ))
26562657
@@ -2659,7 +2660,7 @@ def import_project_payload(
26592660 project ,
26602661 {
26612662 ** ethogram_payload ,
2662- 'schema' : ethogram_payload .get ('schema' , 'pybehaviorlog-0.9.1 -ethogram' ),
2663+ 'schema' : ethogram_payload .get ('schema' , 'pybehaviorlog-0.9.5 -ethogram' ),
26632664 },
26642665 replace_existing = False ,
26652666 )
@@ -2870,7 +2871,7 @@ def import_project_payload(
28702871
28712872def build_ethogram_payload (project : Project ) -> dict : # pragma: no cover
28722873 return {
2873- 'schema' : 'pybehaviorlog-0.9.1 -ethogram' ,
2874+ 'schema' : 'pybehaviorlog-0.9.5 -ethogram' ,
28742875 'project' : {
28752876 'name' : project .name ,
28762877 'description' : project .description ,
@@ -2953,6 +2954,7 @@ def import_ethogram_payload(
29532954 'pybehaviorlog-0.8.3-ethogram' ,
29542955 'pybehaviorlog-0.9-ethogram' ,
29552956 'pybehaviorlog-0.9.1-ethogram' ,
2957+ 'pybehaviorlog-0.9.5-ethogram' ,
29562958 'boris-project-v1' ,
29572959 'boris-project-v2' ,
29582960 'boris-project-v3' ,
@@ -3257,6 +3259,7 @@ def import_session_payload(
32573259 'pybehaviorlog-0.8.3-session' ,
32583260 'pybehaviorlog-0.9-session' ,
32593261 'pybehaviorlog-0.9.1-session' ,
3262+ 'pybehaviorlog-0.9.5-session' ,
32603263 'cowlog-results-v1' ,
32613264 'boris-tabular-csv-v1' ,
32623265 'boris-tabular-tsv-v1' ,
@@ -5488,7 +5491,7 @@ def session_export_sql(request, pk: int): # pragma: no cover
54885491 """Export session events as SQL INSERT statements for downstream analysis."""
54895492 session = get_accessible_session (request .user , pk )
54905493 lines = [
5491- '-- PyBehaviorLog 0.9.1 SQL export' ,
5494+ '-- PyBehaviorLog 0.9.5 SQL export' ,
54925495 'BEGIN;' ,
54935496 'CREATE TABLE IF NOT EXISTS pybehaviorlog_event_export (project text, session text, primary_video text, synced_videos text, observer text, category text, behavior text, behavior_mode text, event_kind text, timestamp_seconds numeric(10,3), subjects text, modifiers text, comment text, created_at text);' ,
54945497 ]
@@ -5525,7 +5528,7 @@ def session_export_cowlog_txt(request, pk: int): # pragma: no cover
55255528 response ['Content-Disposition' ] = (
55265529 f'attachment; filename="session_{ session .pk } _cowlog_compatible.txt"'
55275530 )
5528- response .write ('# PyBehaviorLog 0.9.1 CowLog-compatible export\n ' )
5531+ response .write ('# PyBehaviorLog 0.9.5 CowLog-compatible export\n ' )
55295532 response .write (f'# session\t { session .title } \n ' )
55305533 response .write (f'# project\t { session .project .name } \n ' )
55315534 response .write (f'# primary_video\t { session .primary_label } \n ' )
@@ -5652,7 +5655,7 @@ def session_export_tsv(request, pk: int): # pragma: no cover
56525655def session_export_json (request , pk : int ):
56535656 session = get_accessible_session (request .user , pk )
56545657 payload = {
5655- 'schema' : 'pybehaviorlog-0.9.1 -session' ,
5658+ 'schema' : 'pybehaviorlog-0.9.5 -session' ,
56565659 'project' : session .project .name ,
56575660 'session' : session .title ,
56585661 'video' : session .primary_label ,
0 commit comments