eetlijst-python 0.0.5__tar.gz → 0.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/PKG-INFO +2 -2
  2. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/README.md +1 -1
  3. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/pyproject.toml +11 -11
  4. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/eetlijst.py +2 -2
  5. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/app/app.py +3 -3
  6. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/app/transformers.py +2 -2
  7. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/event_attendance/event_attendance.py +4 -4
  8. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/event_attendance/transformers.py +6 -6
  9. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/events/events.py +4 -4
  10. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/events/transformers.py +6 -6
  11. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/expenses/expenses.py +4 -4
  12. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/expenses/transformers.py +5 -5
  13. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/expenses/utils.py +1 -1
  14. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_list/group_list.py +4 -4
  15. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_list/transformers.py +5 -5
  16. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_users/group_users.py +3 -3
  17. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_users/transformers.py +7 -7
  18. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/groups/groups.py +5 -5
  19. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/groups/transformers.py +20 -19
  20. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/me/me.py +3 -2
  21. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/settlements/settlements.py +7 -7
  22. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/settlements/transformers.py +6 -6
  23. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/settlements/utils.py +2 -2
  24. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/users/transformers.py +5 -5
  25. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/users/users.py +3 -3
  26. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/src/eetlijst_python.egg-info/PKG-INFO +2 -2
  27. eetlijst_python-0.0.7/src/eetlijst_python.egg-info/SOURCES.txt +86 -0
  28. eetlijst_python-0.0.7/src/eetlijst_python.egg-info/top_level.txt +1 -0
  29. eetlijst_python-0.0.5/src/eetlijst_python.egg-info/SOURCES.txt +0 -86
  30. eetlijst_python-0.0.5/src/eetlijst_python.egg-info/top_level.txt +0 -1
  31. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/setup.cfg +0 -0
  32. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/__init__.py +0 -0
  33. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/exceptions.py +0 -0
  34. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/__init__.py +0 -0
  35. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_attendances.py +0 -0
  36. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_events.py +0 -0
  37. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_expenses.py +0 -0
  38. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_groups.py +0 -0
  39. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_settlements.py +0 -0
  40. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/all_users_in_group.py +0 -0
  41. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/app_status.py +0 -0
  42. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/async_base_client.py +0 -0
  43. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/automatic_events.py +0 -0
  44. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/base_model.py +0 -0
  45. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/client.py +0 -0
  46. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/create_expense.py +0 -0
  47. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/create_group.py +0 -0
  48. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/create_list_item.py +0 -0
  49. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/create_many_list_items.py +0 -0
  50. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/create_settlement.py +0 -0
  51. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/enums.py +0 -0
  52. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/exceptions.py +0 -0
  53. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/fragments.py +0 -0
  54. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/get_attendance.py +0 -0
  55. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/get_event.py +0 -0
  56. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/get_group.py +0 -0
  57. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/get_user.py +0 -0
  58. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/get_user_in_group.py +0 -0
  59. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/group_total_expense.py +0 -0
  60. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/input_types.py +0 -0
  61. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/join_group.py +0 -0
  62. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/list_items.py +0 -0
  63. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/remove_account.py +0 -0
  64. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/settle_unsettled_expenses.py +0 -0
  65. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/settlement_expenses.py +0 -0
  66. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_attendance.py +0 -0
  67. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_event.py +0 -0
  68. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_expense.py +0 -0
  69. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_expense_distribution.py +0 -0
  70. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_group.py +0 -0
  71. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_list_item.py +0 -0
  72. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_many_attendance.py +0 -0
  73. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_user.py +0 -0
  74. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_user_in_group.py +0 -0
  75. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/generated/update_users_in_group.py +0 -0
  76. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/__init__.py +0 -0
  77. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/app/__init__.py +0 -0
  78. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/event_attendance/__init__.py +0 -0
  79. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/events/__init__.py +0 -0
  80. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/expenses/__init__.py +0 -0
  81. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_list/__init__.py +0 -0
  82. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/group_users/__init__.py +0 -0
  83. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/groups/__init__.py +0 -0
  84. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/me/__init__.py +0 -0
  85. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/settlements/__init__.py +0 -0
  86. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/services/users/__init__.py +0 -0
  87. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/utils/__init__.py +0 -0
  88. {eetlijst_python-0.0.5/src/eetlijst → eetlijst_python-0.0.7/src/eetlijst_py}/utils/datetime.py +0 -0
  89. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/src/eetlijst_python.egg-info/dependency_links.txt +0 -0
  90. {eetlijst_python-0.0.5 → eetlijst_python-0.0.7}/src/eetlijst_python.egg-info/requires.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eetlijst-python
3
- Version: 0.0.5
3
+ Version: 0.0.7
4
4
  Summary: Python rewrite of the Eetlijst GraphQL client
5
5
  Requires-Python: <3.15,>=3.14
6
6
  Description-Content-Type: text/markdown
@@ -33,7 +33,7 @@ The API key can be retrieved from the account page, under Developer API key (BET
33
33
 
34
34
  ```python
35
35
  import asyncio
36
- from eetlijst import Eetlijst
36
+ from eetlijst_py import Eetlijst
37
37
 
38
38
  eetlijst = Eetlijst("<API_KEY>")
39
39
 
@@ -18,7 +18,7 @@ The API key can be retrieved from the account page, under Developer API key (BET
18
18
 
19
19
  ```python
20
20
  import asyncio
21
- from eetlijst import Eetlijst
21
+ from eetlijst_py import Eetlijst
22
22
 
23
23
  eetlijst = Eetlijst("<API_KEY>")
24
24
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "eetlijst-python"
3
- version = "0.0.5"
3
+ version = "0.0.7"
4
4
  description = "Python rewrite of the Eetlijst GraphQL client"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.14,<3.15"
@@ -24,9 +24,9 @@ build-backend = "setuptools.build_meta"
24
24
 
25
25
  [tool.ariadne-codegen]
26
26
  schema_path = "schema.graphql"
27
- queries_path = "src/eetlijst/services"
27
+ queries_path = "src/eetlijst_py/services"
28
28
  target_package_name = "generated"
29
- target_package_path = "src/eetlijst"
29
+ target_package_path = "src/eetlijst_py"
30
30
  include_comments = "none"
31
31
  client_name = "GraphQlClient"
32
32
 
@@ -39,7 +39,7 @@ deserialize = "iso8601.parse_date"
39
39
 
40
40
  [tool.pylint.main]
41
41
  ignore-paths = [
42
- "src/eetlijst/generated"
42
+ "src/eetlijst_py/generated"
43
43
  ]
44
44
 
45
45
  [tool.pylint.messages_control]
@@ -63,12 +63,12 @@ disable = [
63
63
  typevar-rgx = "^_?[A-Z][a-zA-Z0-9_]*$"
64
64
 
65
65
  [tool.black]
66
- exclude = "src/eetlijst/generated"
66
+ exclude = "src/eetlijst_py/generated"
67
67
 
68
68
  [tool.isort]
69
69
  profile = "black"
70
70
  skip = [
71
- "src/eetlijst/generated"
71
+ "src/eetlijst_py/generated"
72
72
  ]
73
73
  sections = [
74
74
  "FUTURE",
@@ -81,13 +81,13 @@ sections = [
81
81
  "FIRSTPARTY",
82
82
  "LOCALFOLDER"
83
83
  ]
84
- known_generated = ["eetlijst.generated"]
85
- known_src = ["eetlijst"]
86
- known_services = ["eetlijst.services"]
87
- known_utils = ["eetlijst.utils"]
84
+ known_generated = ["eetlijst_py.generated"]
85
+ known_src = ["eetlijst_py"]
86
+ known_services = ["eetlijst_py.services"]
87
+ known_utils = ["eetlijst_py.utils"]
88
88
 
89
89
  [tool.mypy]
90
- exclude = "src/eetlijst/generated"
90
+ exclude = "src/eetlijst_py/generated"
91
91
  check_untyped_defs = true
92
92
  warn_redundant_casts = true
93
93
  disallow_any_generics = true
@@ -2,9 +2,9 @@ from typing import Any, Optional
2
2
 
3
3
  from httpx import AsyncClient
4
4
 
5
- from eetlijst.generated import GraphQlClient
5
+ from eetlijst_py.generated import GraphQlClient
6
6
 
7
- from eetlijst.services import (
7
+ from eetlijst_py.services import (
8
8
  App,
9
9
  EventAttendance,
10
10
  Events,
@@ -1,10 +1,10 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst.generated import GraphQlClient
3
+ from eetlijst_py.generated import GraphQlClient
4
4
 
5
- from eetlijst.exceptions import EetlijstException
5
+ from eetlijst_py.exceptions import EetlijstException
6
6
 
7
- from eetlijst.services.app.transformers import transform_app_status
7
+ from eetlijst_py.services.app.transformers import transform_app_status
8
8
 
9
9
 
10
10
  @dataclass
@@ -1,6 +1,6 @@
1
- from eetlijst.generated.app_status import AppStatus, AppStatusEetschemaAppStatus
1
+ from eetlijst_py.generated.app_status import AppStatus, AppStatusEetschemaAppStatus
2
2
 
3
- from eetlijst.exceptions import EetlijstException
3
+ from eetlijst_py.exceptions import EetlijstException
4
4
 
5
5
 
6
6
  def transform_app_status(status: AppStatus) -> AppStatusEetschemaAppStatus:
@@ -1,9 +1,9 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst.generated import GraphQlClient
4
- from eetlijst.generated.base_model import UNSET, UnsetType
5
- from eetlijst.generated.enums import AttendanceStatus
6
- from eetlijst.generated.input_types import (
3
+ from eetlijst_py.generated import GraphQlClient
4
+ from eetlijst_py.generated.base_model import UNSET, UnsetType
5
+ from eetlijst_py.generated.enums import AttendanceStatus
6
+ from eetlijst_py.generated.input_types import (
7
7
  eetschema_event_attendees_bool_exp,
8
8
  eetschema_event_attendees_insert_input,
9
9
  eetschema_event_attendees_order_by,
@@ -1,17 +1,17 @@
1
1
  from datetime import datetime
2
2
  from typing import Optional
3
3
 
4
- from eetlijst.generated.base_model import BaseModel
5
- from eetlijst.generated.enums import AttendanceStatus
6
- from eetlijst.generated.fragments import (
4
+ from eetlijst_py.generated.base_model import BaseModel
5
+ from eetlijst_py.generated.enums import AttendanceStatus
6
+ from eetlijst_py.generated.fragments import (
7
7
  AttendanceFields,
8
8
  AttendanceFieldsLinkedEvent,
9
9
  AttendanceFieldsUserInGroup,
10
10
  )
11
- from eetlijst.generated.update_attendance import UpdateAttendance
12
- from eetlijst.generated.update_many_attendance import UpdateManyAttendance
11
+ from eetlijst_py.generated.update_attendance import UpdateAttendance
12
+ from eetlijst_py.generated.update_many_attendance import UpdateManyAttendance
13
13
 
14
- from eetlijst.exceptions import EetlijstException
14
+ from eetlijst_py.exceptions import EetlijstException
15
15
 
16
16
 
17
17
  class Attendance(BaseModel):
@@ -1,17 +1,17 @@
1
1
  from dataclasses import dataclass
2
2
  from datetime import datetime
3
3
 
4
- from eetlijst.generated import GraphQlClient, order_by
5
- from eetlijst.generated.input_types import (
4
+ from eetlijst_py.generated import GraphQlClient, order_by
5
+ from eetlijst_py.generated.input_types import (
6
6
  eetschema_event_bool_exp,
7
7
  eetschema_event_order_by,
8
8
  eetschema_event_set_input,
9
9
  uuid_comparison_exp,
10
10
  )
11
11
 
12
- from eetlijst.services.event_attendance import EventAttendance
12
+ from eetlijst_py.services.event_attendance import EventAttendance
13
13
 
14
- from eetlijst.utils.datetime import current_datetime, format_date
14
+ from eetlijst_py.utils.datetime import current_datetime, format_date
15
15
 
16
16
  from .transformers import (
17
17
  transform_automatic_events,
@@ -1,21 +1,21 @@
1
1
  from datetime import datetime
2
2
  from typing import Optional
3
3
 
4
- from eetlijst.generated.automatic_events import (
4
+ from eetlijst_py.generated.automatic_events import (
5
5
  AutomaticEvents,
6
6
  AutomaticEventsQueryTodaysEvents,
7
7
  )
8
- from eetlijst.generated.base_model import BaseModel
9
- from eetlijst.generated.fragments import (
8
+ from eetlijst_py.generated.base_model import BaseModel
9
+ from eetlijst_py.generated.fragments import (
10
10
  EventFields,
11
11
  EventFieldsLinkedExpenses,
12
12
  EventFieldsUser,
13
13
  )
14
- from eetlijst.generated.update_event import UpdateEvent
14
+ from eetlijst_py.generated.update_event import UpdateEvent
15
15
 
16
- from eetlijst.exceptions import EetlijstException
16
+ from eetlijst_py.exceptions import EetlijstException
17
17
 
18
- from eetlijst.services.event_attendance.transformers import (
18
+ from eetlijst_py.services.event_attendance.transformers import (
19
19
  Attendance,
20
20
  transform_attendance,
21
21
  )
@@ -1,8 +1,8 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional
3
3
 
4
- from eetlijst.generated import GraphQlClient, order_by
5
- from eetlijst.generated.input_types import (
4
+ from eetlijst_py.generated import GraphQlClient, order_by
5
+ from eetlijst_py.generated.input_types import (
6
6
  Boolean_comparison_exp,
7
7
  eetschema_expense_bool_exp,
8
8
  eetschema_expense_distribution_insert_input,
@@ -12,13 +12,13 @@ from eetlijst.generated.input_types import (
12
12
  uuid_comparison_exp,
13
13
  )
14
14
 
15
- from eetlijst.services.expenses.transformers import (
15
+ from eetlijst_py.services.expenses.transformers import (
16
16
  transform_create_expense,
17
17
  transform_expense,
18
18
  transform_group_total_expense,
19
19
  transform_update_expense,
20
20
  )
21
- from eetlijst.services.settlements import Settlements
21
+ from eetlijst_py.services.settlements import Settlements
22
22
 
23
23
 
24
24
  @dataclass
@@ -1,11 +1,11 @@
1
1
  from typing import Optional, TypedDict
2
2
 
3
- from eetlijst.generated.create_expense import CreateExpense
4
- from eetlijst.generated.fragments import ExpenseFields
5
- from eetlijst.generated.group_total_expense import GroupTotalExpense
6
- from eetlijst.generated.update_expense import UpdateExpense
3
+ from eetlijst_py.generated.create_expense import CreateExpense
4
+ from eetlijst_py.generated.fragments import ExpenseFields
5
+ from eetlijst_py.generated.group_total_expense import GroupTotalExpense
6
+ from eetlijst_py.generated.update_expense import UpdateExpense
7
7
 
8
- from eetlijst.exceptions import EetlijstException
8
+ from eetlijst_py.exceptions import EetlijstException
9
9
 
10
10
 
11
11
  class GroupTotalExpenseDict(TypedDict):
@@ -1,6 +1,6 @@
1
1
  from typing import TypedDict
2
2
 
3
- from eetlijst.generated.fragments import (
3
+ from eetlijst_py.generated.fragments import (
4
4
  ExpenseFields,
5
5
  ExpenseFieldsExpenseDistributionsUser,
6
6
  )
@@ -1,8 +1,8 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional
3
3
 
4
- from eetlijst.generated import GraphQlClient
5
- from eetlijst.generated.input_types import (
4
+ from eetlijst_py.generated import GraphQlClient
5
+ from eetlijst_py.generated.input_types import (
6
6
  eetschema_list_bool_exp,
7
7
  eetschema_list_insert_input,
8
8
  eetschema_list_order_by,
@@ -10,9 +10,9 @@ from eetlijst.generated.input_types import (
10
10
  uuid_comparison_exp,
11
11
  )
12
12
 
13
- from eetlijst.exceptions import EetlijstException
13
+ from eetlijst_py.exceptions import EetlijstException
14
14
 
15
- from eetlijst.services.group_list.transformers import (
15
+ from eetlijst_py.services.group_list.transformers import (
16
16
  transform_create_list_item,
17
17
  transform_create_many_list_items,
18
18
  transform_list_item,
@@ -1,11 +1,11 @@
1
1
  from typing import Optional
2
2
 
3
- from eetlijst.generated.create_list_item import CreateListItem
4
- from eetlijst.generated.create_many_list_items import CreateManyListItems
5
- from eetlijst.generated.fragments import ItemFields
6
- from eetlijst.generated.update_list_item import UpdateListItem
3
+ from eetlijst_py.generated.create_list_item import CreateListItem
4
+ from eetlijst_py.generated.create_many_list_items import CreateManyListItems
5
+ from eetlijst_py.generated.fragments import ItemFields
6
+ from eetlijst_py.generated.update_list_item import UpdateListItem
7
7
 
8
- from eetlijst.exceptions import EetlijstException
8
+ from eetlijst_py.exceptions import EetlijstException
9
9
 
10
10
 
11
11
  def transform_list_item(item: Optional[ItemFields]) -> ItemFields:
@@ -1,8 +1,8 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Optional, TypedDict, Union
3
3
 
4
- from eetlijst.generated import GraphQlClient, order_by
5
- from eetlijst.generated.input_types import (
4
+ from eetlijst_py.generated import GraphQlClient, order_by
5
+ from eetlijst_py.generated.input_types import (
6
6
  Boolean_comparison_exp,
7
7
  String_comparison_exp,
8
8
  eetschema_users_in_group_bool_exp,
@@ -12,7 +12,7 @@ from eetlijst.generated.input_types import (
12
12
  uuid_comparison_exp,
13
13
  )
14
14
 
15
- from eetlijst.services.group_users.transformers import (
15
+ from eetlijst_py.services.group_users.transformers import (
16
16
  transform_all_users_in_group,
17
17
  transform_get_user_in_group,
18
18
  transform_join_group,
@@ -1,14 +1,14 @@
1
1
  from typing import Optional, TypedDict
2
2
 
3
- from eetlijst.generated.all_users_in_group import AllUsersInGroup
4
- from eetlijst.generated.get_user_in_group import GetUserInGroup
5
- from eetlijst.generated.join_group import JoinGroup
6
- from eetlijst.generated.update_user_in_group import UpdateUserInGroup
7
- from eetlijst.generated.update_users_in_group import UpdateUsersInGroup
3
+ from eetlijst_py.generated.all_users_in_group import AllUsersInGroup
4
+ from eetlijst_py.generated.get_user_in_group import GetUserInGroup
5
+ from eetlijst_py.generated.join_group import JoinGroup
6
+ from eetlijst_py.generated.update_user_in_group import UpdateUserInGroup
7
+ from eetlijst_py.generated.update_users_in_group import UpdateUsersInGroup
8
8
 
9
- from eetlijst.exceptions import EetlijstException
9
+ from eetlijst_py.exceptions import EetlijstException
10
10
 
11
- from eetlijst.services.groups.transformers import (
11
+ from eetlijst_py.services.groups.transformers import (
12
12
  UserInGroupResult,
13
13
  transform_user_in_group,
14
14
  )
@@ -1,8 +1,8 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import TYPE_CHECKING, List, Optional
3
3
 
4
- from eetlijst.generated import GraphQlClient, order_by
5
- from eetlijst.generated.input_types import (
4
+ from eetlijst_py.generated import GraphQlClient, order_by
5
+ from eetlijst_py.generated.input_types import (
6
6
  String_comparison_exp,
7
7
  eetschema_group_order_by,
8
8
  eetschema_group_set_input,
@@ -10,8 +10,8 @@ from eetlijst.generated.input_types import (
10
10
  eetschema_users_in_group_order_by,
11
11
  )
12
12
 
13
- from eetlijst.services.group_list import GroupList
14
- from eetlijst.services.groups.transformers import (
13
+ from eetlijst_py.services.group_list import GroupList
14
+ from eetlijst_py.services.groups.transformers import (
15
15
  GroupResult,
16
16
  transform_all_groups,
17
17
  transform_create_group,
@@ -20,7 +20,7 @@ from eetlijst.services.groups.transformers import (
20
20
  )
21
21
 
22
22
  if TYPE_CHECKING:
23
- from eetlijst.services.group_users import GroupUsers
23
+ from eetlijst_py.services.group_users import GroupUsers
24
24
 
25
25
 
26
26
  @dataclass
@@ -3,15 +3,15 @@ from typing import Optional
3
3
 
4
4
  from pydantic import BaseModel
5
5
 
6
- from eetlijst.generated.all_groups import AllGroups
7
- from eetlijst.generated.create_group import CreateGroup
8
- from eetlijst.generated.fragments import GroupFields, UserInGroupFields
9
- from eetlijst.generated.get_group import GetGroup
10
- from eetlijst.generated.update_group import UpdateGroup
6
+ from eetlijst_py.generated.all_groups import AllGroups
7
+ from eetlijst_py.generated.create_group import CreateGroup
8
+ from eetlijst_py.generated.fragments import GroupFields, UserInGroupFields
9
+ from eetlijst_py.generated.get_group import GetGroup
10
+ from eetlijst_py.generated.update_group import UpdateGroup
11
11
 
12
- from eetlijst.exceptions import EetlijstException
12
+ from eetlijst_py.exceptions import EetlijstException
13
13
 
14
- from eetlijst.services.users.transformers import UserResult, transform_user
14
+ from eetlijst_py.services.users.transformers import UserResult, transform_user
15
15
 
16
16
 
17
17
  class GroupSummaryResult(BaseModel):
@@ -20,17 +20,18 @@ class GroupSummaryResult(BaseModel):
20
20
 
21
21
 
22
22
  class UserInGroupResult(BaseModel):
23
- order: Optional[int] = None
24
- start_holliday: Optional[datetime] = None
25
- end_holliday: Optional[datetime] = None
26
- monday: Optional[bool] = None
27
- tuesday: Optional[bool] = None
28
- wednesday: Optional[bool] = None
29
- thursday: Optional[bool] = None
30
- friday: Optional[bool] = None
31
- saturday: Optional[bool] = None
32
- sunday: Optional[bool] = None
33
- user: Optional[UserResult] = None
23
+ active: bool
24
+ order: Optional[int]
25
+ start_holliday: Optional[datetime]
26
+ end_holliday: Optional[datetime]
27
+ monday: Optional[bool]
28
+ tuesday: Optional[bool]
29
+ wednesday: Optional[bool]
30
+ thursday: Optional[bool]
31
+ friday: Optional[bool]
32
+ saturday: Optional[bool]
33
+ sunday: Optional[bool]
34
+ user: UserResult
34
35
 
35
36
 
36
37
  class GroupResult(BaseModel):
@@ -78,7 +79,7 @@ def transform_user_in_group(
78
79
  if not user_in_group:
79
80
  raise EetlijstException("User in group not found")
80
81
 
81
- user_data = transform_user(user_in_group.user) if user_in_group.user else None
82
+ user_data = transform_user(user_in_group.user)
82
83
  data = user_in_group.model_dump(exclude={"user"})
83
84
 
84
85
  return UserInGroupResult(
@@ -1,9 +1,10 @@
1
1
  import base64
2
+ import binascii
2
3
  import json
3
4
  from datetime import datetime, timezone
4
5
  from typing import Any, Optional
5
6
 
6
- from eetlijst.services.users import Users
7
+ from eetlijst_py.services.users import Users
7
8
 
8
9
 
9
10
  class Me:
@@ -49,5 +50,5 @@ class Me:
49
50
  padding = "=" * (-len(payload_b64) % 4)
50
51
  decoded_bytes = base64.urlsafe_b64decode(payload_b64 + padding)
51
52
  return json.loads(decoded_bytes.decode("utf-8"))
52
- except Exception:
53
+ except binascii.Error, UnicodeDecodeError, json.JSONDecodeError:
53
54
  return {}
@@ -3,9 +3,9 @@ from dataclasses import dataclass
3
3
  from datetime import datetime, timezone
4
4
  from typing import List, Optional, TypedDict
5
5
 
6
- from eetlijst.generated import GraphQlClient, order_by
7
- from eetlijst.generated.fragments import ExpenseFields
8
- from eetlijst.generated.input_types import (
6
+ from eetlijst_py.generated import GraphQlClient, order_by
7
+ from eetlijst_py.generated.fragments import ExpenseFields
8
+ from eetlijst_py.generated.input_types import (
9
9
  Boolean_comparison_exp,
10
10
  eetschema_expense_bool_exp,
11
11
  eetschema_expense_distribution_insert_input,
@@ -16,19 +16,19 @@ from eetlijst.generated.input_types import (
16
16
  uuid_comparison_exp,
17
17
  )
18
18
 
19
- from eetlijst.services.expenses.transformers import (
19
+ from eetlijst_py.services.expenses.transformers import (
20
20
  transform_create_expense,
21
21
  transform_update_expense,
22
22
  )
23
- from eetlijst.services.expenses.utils import calculate_balances_from_expenses
24
- from eetlijst.services.settlements.transformers import (
23
+ from eetlijst_py.services.expenses.utils import calculate_balances_from_expenses
24
+ from eetlijst_py.services.settlements.transformers import (
25
25
  SettlementResult,
26
26
  transform_create_settlement,
27
27
  transform_settle_unsettled_expenses,
28
28
  transform_settlement,
29
29
  transform_settlement_expenses,
30
30
  )
31
- from eetlijst.services.settlements.utils import (
31
+ from eetlijst_py.services.settlements.utils import (
32
32
  CalculatedAdjustmentExpense,
33
33
  calculate_adjustment_expenses,
34
34
  )
@@ -3,18 +3,18 @@ from typing import Optional
3
3
 
4
4
  from pydantic import BaseModel, ConfigDict
5
5
 
6
- from eetlijst.generated.create_settlement import CreateSettlement
7
- from eetlijst.generated.fragments import (
6
+ from eetlijst_py.generated.create_settlement import CreateSettlement
7
+ from eetlijst_py.generated.fragments import (
8
8
  ExpenseFields,
9
9
  SettlementFields,
10
10
  SettlementFieldsCreatedBy,
11
11
  )
12
- from eetlijst.generated.settle_unsettled_expenses import SettleUnsettledExpenses
13
- from eetlijst.generated.settlement_expenses import SettlementExpenses
12
+ from eetlijst_py.generated.settle_unsettled_expenses import SettleUnsettledExpenses
13
+ from eetlijst_py.generated.settlement_expenses import SettlementExpenses
14
14
 
15
- from eetlijst.exceptions import EetlijstException
15
+ from eetlijst_py.exceptions import EetlijstException
16
16
 
17
- from eetlijst.services.expenses.transformers import transform_expense
17
+ from eetlijst_py.services.expenses.transformers import transform_expense
18
18
 
19
19
 
20
20
  class SettlementResult(BaseModel):
@@ -1,8 +1,8 @@
1
1
  from typing import TypedDict
2
2
 
3
- from eetlijst.generated.fragments import ExpenseFieldsExpenseDistributionsUser
3
+ from eetlijst_py.generated.fragments import ExpenseFieldsExpenseDistributionsUser
4
4
 
5
- from eetlijst.services.expenses.utils import UserBalance
5
+ from eetlijst_py.services.expenses.utils import UserBalance
6
6
 
7
7
 
8
8
  class AdjustmentExpenseDistribution(TypedDict):
@@ -3,15 +3,15 @@ from typing import Optional
3
3
 
4
4
  from pydantic import BaseModel
5
5
 
6
- from eetlijst.generated.fragments import UserFields, UserFieldsPrivate
7
- from eetlijst.generated.get_user import GetUser
8
- from eetlijst.generated.remove_account import (
6
+ from eetlijst_py.generated.fragments import UserFields, UserFieldsPrivate
7
+ from eetlijst_py.generated.get_user import GetUser
8
+ from eetlijst_py.generated.remove_account import (
9
9
  RemoveAccount,
10
10
  RemoveAccountUpdateEetschemaUserByPk,
11
11
  )
12
- from eetlijst.generated.update_user import UpdateUser
12
+ from eetlijst_py.generated.update_user import UpdateUser
13
13
 
14
- from eetlijst.exceptions import EetlijstException
14
+ from eetlijst_py.exceptions import EetlijstException
15
15
 
16
16
 
17
17
  class CookPointsImportResult(BaseModel):
@@ -1,8 +1,8 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- from eetlijst.generated import GraphQlClient
4
- from eetlijst.generated.base_model import UNSET, UnsetType
5
- from eetlijst.generated.input_types import eetschema_user_set_input
3
+ from eetlijst_py.generated import GraphQlClient
4
+ from eetlijst_py.generated.base_model import UNSET, UnsetType
5
+ from eetlijst_py.generated.input_types import eetschema_user_set_input
6
6
 
7
7
  from .transformers import (
8
8
  transform_get_user,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eetlijst-python
3
- Version: 0.0.5
3
+ Version: 0.0.7
4
4
  Summary: Python rewrite of the Eetlijst GraphQL client
5
5
  Requires-Python: <3.15,>=3.14
6
6
  Description-Content-Type: text/markdown
@@ -33,7 +33,7 @@ The API key can be retrieved from the account page, under Developer API key (BET
33
33
 
34
34
  ```python
35
35
  import asyncio
36
- from eetlijst import Eetlijst
36
+ from eetlijst_py import Eetlijst
37
37
 
38
38
  eetlijst = Eetlijst("<API_KEY>")
39
39
 
@@ -0,0 +1,86 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/eetlijst_py/__init__.py
4
+ src/eetlijst_py/eetlijst.py
5
+ src/eetlijst_py/exceptions.py
6
+ src/eetlijst_py/generated/__init__.py
7
+ src/eetlijst_py/generated/all_attendances.py
8
+ src/eetlijst_py/generated/all_events.py
9
+ src/eetlijst_py/generated/all_expenses.py
10
+ src/eetlijst_py/generated/all_groups.py
11
+ src/eetlijst_py/generated/all_settlements.py
12
+ src/eetlijst_py/generated/all_users_in_group.py
13
+ src/eetlijst_py/generated/app_status.py
14
+ src/eetlijst_py/generated/async_base_client.py
15
+ src/eetlijst_py/generated/automatic_events.py
16
+ src/eetlijst_py/generated/base_model.py
17
+ src/eetlijst_py/generated/client.py
18
+ src/eetlijst_py/generated/create_expense.py
19
+ src/eetlijst_py/generated/create_group.py
20
+ src/eetlijst_py/generated/create_list_item.py
21
+ src/eetlijst_py/generated/create_many_list_items.py
22
+ src/eetlijst_py/generated/create_settlement.py
23
+ src/eetlijst_py/generated/enums.py
24
+ src/eetlijst_py/generated/exceptions.py
25
+ src/eetlijst_py/generated/fragments.py
26
+ src/eetlijst_py/generated/get_attendance.py
27
+ src/eetlijst_py/generated/get_event.py
28
+ src/eetlijst_py/generated/get_group.py
29
+ src/eetlijst_py/generated/get_user.py
30
+ src/eetlijst_py/generated/get_user_in_group.py
31
+ src/eetlijst_py/generated/group_total_expense.py
32
+ src/eetlijst_py/generated/input_types.py
33
+ src/eetlijst_py/generated/join_group.py
34
+ src/eetlijst_py/generated/list_items.py
35
+ src/eetlijst_py/generated/remove_account.py
36
+ src/eetlijst_py/generated/settle_unsettled_expenses.py
37
+ src/eetlijst_py/generated/settlement_expenses.py
38
+ src/eetlijst_py/generated/update_attendance.py
39
+ src/eetlijst_py/generated/update_event.py
40
+ src/eetlijst_py/generated/update_expense.py
41
+ src/eetlijst_py/generated/update_expense_distribution.py
42
+ src/eetlijst_py/generated/update_group.py
43
+ src/eetlijst_py/generated/update_list_item.py
44
+ src/eetlijst_py/generated/update_many_attendance.py
45
+ src/eetlijst_py/generated/update_user.py
46
+ src/eetlijst_py/generated/update_user_in_group.py
47
+ src/eetlijst_py/generated/update_users_in_group.py
48
+ src/eetlijst_py/services/__init__.py
49
+ src/eetlijst_py/services/app/__init__.py
50
+ src/eetlijst_py/services/app/app.py
51
+ src/eetlijst_py/services/app/transformers.py
52
+ src/eetlijst_py/services/event_attendance/__init__.py
53
+ src/eetlijst_py/services/event_attendance/event_attendance.py
54
+ src/eetlijst_py/services/event_attendance/transformers.py
55
+ src/eetlijst_py/services/events/__init__.py
56
+ src/eetlijst_py/services/events/events.py
57
+ src/eetlijst_py/services/events/transformers.py
58
+ src/eetlijst_py/services/expenses/__init__.py
59
+ src/eetlijst_py/services/expenses/expenses.py
60
+ src/eetlijst_py/services/expenses/transformers.py
61
+ src/eetlijst_py/services/expenses/utils.py
62
+ src/eetlijst_py/services/group_list/__init__.py
63
+ src/eetlijst_py/services/group_list/group_list.py
64
+ src/eetlijst_py/services/group_list/transformers.py
65
+ src/eetlijst_py/services/group_users/__init__.py
66
+ src/eetlijst_py/services/group_users/group_users.py
67
+ src/eetlijst_py/services/group_users/transformers.py
68
+ src/eetlijst_py/services/groups/__init__.py
69
+ src/eetlijst_py/services/groups/groups.py
70
+ src/eetlijst_py/services/groups/transformers.py
71
+ src/eetlijst_py/services/me/__init__.py
72
+ src/eetlijst_py/services/me/me.py
73
+ src/eetlijst_py/services/settlements/__init__.py
74
+ src/eetlijst_py/services/settlements/settlements.py
75
+ src/eetlijst_py/services/settlements/transformers.py
76
+ src/eetlijst_py/services/settlements/utils.py
77
+ src/eetlijst_py/services/users/__init__.py
78
+ src/eetlijst_py/services/users/transformers.py
79
+ src/eetlijst_py/services/users/users.py
80
+ src/eetlijst_py/utils/__init__.py
81
+ src/eetlijst_py/utils/datetime.py
82
+ src/eetlijst_python.egg-info/PKG-INFO
83
+ src/eetlijst_python.egg-info/SOURCES.txt
84
+ src/eetlijst_python.egg-info/dependency_links.txt
85
+ src/eetlijst_python.egg-info/requires.txt
86
+ src/eetlijst_python.egg-info/top_level.txt
@@ -1,86 +0,0 @@
1
- README.md
2
- pyproject.toml
3
- src/eetlijst/__init__.py
4
- src/eetlijst/eetlijst.py
5
- src/eetlijst/exceptions.py
6
- src/eetlijst/generated/__init__.py
7
- src/eetlijst/generated/all_attendances.py
8
- src/eetlijst/generated/all_events.py
9
- src/eetlijst/generated/all_expenses.py
10
- src/eetlijst/generated/all_groups.py
11
- src/eetlijst/generated/all_settlements.py
12
- src/eetlijst/generated/all_users_in_group.py
13
- src/eetlijst/generated/app_status.py
14
- src/eetlijst/generated/async_base_client.py
15
- src/eetlijst/generated/automatic_events.py
16
- src/eetlijst/generated/base_model.py
17
- src/eetlijst/generated/client.py
18
- src/eetlijst/generated/create_expense.py
19
- src/eetlijst/generated/create_group.py
20
- src/eetlijst/generated/create_list_item.py
21
- src/eetlijst/generated/create_many_list_items.py
22
- src/eetlijst/generated/create_settlement.py
23
- src/eetlijst/generated/enums.py
24
- src/eetlijst/generated/exceptions.py
25
- src/eetlijst/generated/fragments.py
26
- src/eetlijst/generated/get_attendance.py
27
- src/eetlijst/generated/get_event.py
28
- src/eetlijst/generated/get_group.py
29
- src/eetlijst/generated/get_user.py
30
- src/eetlijst/generated/get_user_in_group.py
31
- src/eetlijst/generated/group_total_expense.py
32
- src/eetlijst/generated/input_types.py
33
- src/eetlijst/generated/join_group.py
34
- src/eetlijst/generated/list_items.py
35
- src/eetlijst/generated/remove_account.py
36
- src/eetlijst/generated/settle_unsettled_expenses.py
37
- src/eetlijst/generated/settlement_expenses.py
38
- src/eetlijst/generated/update_attendance.py
39
- src/eetlijst/generated/update_event.py
40
- src/eetlijst/generated/update_expense.py
41
- src/eetlijst/generated/update_expense_distribution.py
42
- src/eetlijst/generated/update_group.py
43
- src/eetlijst/generated/update_list_item.py
44
- src/eetlijst/generated/update_many_attendance.py
45
- src/eetlijst/generated/update_user.py
46
- src/eetlijst/generated/update_user_in_group.py
47
- src/eetlijst/generated/update_users_in_group.py
48
- src/eetlijst/services/__init__.py
49
- src/eetlijst/services/app/__init__.py
50
- src/eetlijst/services/app/app.py
51
- src/eetlijst/services/app/transformers.py
52
- src/eetlijst/services/event_attendance/__init__.py
53
- src/eetlijst/services/event_attendance/event_attendance.py
54
- src/eetlijst/services/event_attendance/transformers.py
55
- src/eetlijst/services/events/__init__.py
56
- src/eetlijst/services/events/events.py
57
- src/eetlijst/services/events/transformers.py
58
- src/eetlijst/services/expenses/__init__.py
59
- src/eetlijst/services/expenses/expenses.py
60
- src/eetlijst/services/expenses/transformers.py
61
- src/eetlijst/services/expenses/utils.py
62
- src/eetlijst/services/group_list/__init__.py
63
- src/eetlijst/services/group_list/group_list.py
64
- src/eetlijst/services/group_list/transformers.py
65
- src/eetlijst/services/group_users/__init__.py
66
- src/eetlijst/services/group_users/group_users.py
67
- src/eetlijst/services/group_users/transformers.py
68
- src/eetlijst/services/groups/__init__.py
69
- src/eetlijst/services/groups/groups.py
70
- src/eetlijst/services/groups/transformers.py
71
- src/eetlijst/services/me/__init__.py
72
- src/eetlijst/services/me/me.py
73
- src/eetlijst/services/settlements/__init__.py
74
- src/eetlijst/services/settlements/settlements.py
75
- src/eetlijst/services/settlements/transformers.py
76
- src/eetlijst/services/settlements/utils.py
77
- src/eetlijst/services/users/__init__.py
78
- src/eetlijst/services/users/transformers.py
79
- src/eetlijst/services/users/users.py
80
- src/eetlijst/utils/__init__.py
81
- src/eetlijst/utils/datetime.py
82
- src/eetlijst_python.egg-info/PKG-INFO
83
- src/eetlijst_python.egg-info/SOURCES.txt
84
- src/eetlijst_python.egg-info/dependency_links.txt
85
- src/eetlijst_python.egg-info/requires.txt
86
- src/eetlijst_python.egg-info/top_level.txt