dart-tools 0.7.6__tar.gz → 0.8.1__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.
- {dart_tools-0.7.6/dart_tools.egg-info → dart_tools-0.8.1}/PKG-INFO +12 -12
- {dart_tools-0.7.6 → dart_tools-0.8.1}/README.md +7 -7
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/dart.py +3 -3
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/__init__.py +2 -0
- dart_tools-0.8.1/dart/generated/models/time_tracking_entry.py +61 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/old.py +14 -2
- {dart_tools-0.7.6 → dart_tools-0.8.1/dart_tools.egg-info}/PKG-INFO +12 -12
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart_tools.egg-info/SOURCES.txt +1 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/pyproject.toml +5 -5
- {dart_tools-0.7.6 → dart_tools-0.8.1}/LICENSE +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/exception.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/comment/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/comment/create_comment.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/comment/list_comments.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/config/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/config/get_config.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/dartboard/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/dartboard/retrieve_dartboard.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/create_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/delete_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/list_docs.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/retrieve_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/doc/update_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/folder/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/folder/retrieve_folder.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/create_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/delete_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/list_tasks.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/retrieve_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/task/update_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/view/__init__.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/api/view/retrieve_view.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/client.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/errors.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/comment.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/comment_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/concise_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/concise_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/custom_properties.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/dartboard.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/doc_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/doc_update.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/folder.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/list_comments_o_item.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/list_docs_o_item.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/paginated_comment_list.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/paginated_concise_doc_list.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/paginated_concise_task_list.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/priority.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/task_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/task_relationships.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/task_update.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_checkbox_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_dates_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_multiselect_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_number_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_number_type_def_custom_property_number_format_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_select_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_status_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_text_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_time_tracking_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/user_space_configuration_custom_property_user_type_def.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/view.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_comment.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_comment_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_dartboard.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_doc.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_doc_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_doc_update.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_folder.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_task.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_task_create.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_task_update.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/models/wrapped_view.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/generated/types.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/order_manager.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart/webhook.py +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart_tools.egg-info/dependency_links.txt +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart_tools.egg-info/entry_points.txt +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart_tools.egg-info/requires.txt +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/dart_tools.egg-info/top_level.txt +0 -0
- {dart_tools-0.7.6 → dart_tools-0.8.1}/setup.cfg +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dart-tools
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.1
|
|
4
4
|
Summary: The Dart CLI and Python Library
|
|
5
|
-
Author-email: Dart <software@
|
|
5
|
+
Author-email: Dart <software@dartai.com>
|
|
6
6
|
License: MIT License
|
|
7
7
|
|
|
8
8
|
Copyright (c) 2025 Dart
|
|
@@ -25,9 +25,9 @@ License: MIT License
|
|
|
25
25
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
26
|
SOFTWARE.
|
|
27
27
|
|
|
28
|
-
Project-URL: Homepage, https://www.
|
|
29
|
-
Project-URL: Web App, https://app.
|
|
30
|
-
Project-URL: Help Center, https://help.
|
|
28
|
+
Project-URL: Homepage, https://www.dartai.com/?nr=1
|
|
29
|
+
Project-URL: Web App, https://app.dartai.com/
|
|
30
|
+
Project-URL: Help Center, https://help.dartai.com/
|
|
31
31
|
Project-URL: Bugs and Features, https://github.com/its-dart/dart-tools-py/issues
|
|
32
32
|
Project-URL: Library Source, https://github.com/its-dart/dart-tools-py/
|
|
33
33
|
Keywords: dart,cli,projectmanagement,taskmanagement
|
|
@@ -70,7 +70,7 @@ Dynamic: license-file
|
|
|
70
70
|
</p>
|
|
71
71
|
</div>
|
|
72
72
|
|
|
73
|
-
[Dart](https://
|
|
73
|
+
[Dart](https://dartai.com?nr=1) is Project Management powered by AI.
|
|
74
74
|
|
|
75
75
|
`dart-tools` is the Dart CLI and Python Library. It enables direct integration with Dart through a terminal CLI or through Python.
|
|
76
76
|
|
|
@@ -127,7 +127,7 @@ This command will mark the referenced task 'Done'. Here `[ID]` is meant to be re
|
|
|
127
127
|
|
|
128
128
|
## Using the Python Library
|
|
129
129
|
|
|
130
|
-
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.
|
|
130
|
+
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.dartai.com/?settings=account) and save that as the `DART_TOKEN` environment variable.
|
|
131
131
|
|
|
132
132
|
Then, you can run something like
|
|
133
133
|
|
|
@@ -186,13 +186,13 @@ By following these steps, you can use the `dart-tools` Python library within you
|
|
|
186
186
|
|
|
187
187
|
## Help and Resources
|
|
188
188
|
|
|
189
|
-
- [Homepage](https://
|
|
190
|
-
- [Web App](https://app.
|
|
191
|
-
- [Help Center](https://help.
|
|
192
|
-
- [Bugs and Features](https://app.
|
|
189
|
+
- [Homepage](https://dartai.com/?nr=1)
|
|
190
|
+
- [Web App](https://app.dartai.com/)
|
|
191
|
+
- [Help Center](https://help.dartai.com/)
|
|
192
|
+
- [Bugs and Features](https://app.dartai.com/p/r/JFyPnhL9En61)
|
|
193
193
|
- [Library Source](https://github.com/its-dart/dart-tools-py/)
|
|
194
194
|
- [Chat on Discord](https://discord.gg/RExv8jEkSh)
|
|
195
|
-
- Email us at [support@
|
|
195
|
+
- Email us at [support@dartai.com](mailto:support@dartai.com)
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
## Contributing
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
[Dart](https://
|
|
10
|
+
[Dart](https://dartai.com?nr=1) is Project Management powered by AI.
|
|
11
11
|
|
|
12
12
|
`dart-tools` is the Dart CLI and Python Library. It enables direct integration with Dart through a terminal CLI or through Python.
|
|
13
13
|
|
|
@@ -64,7 +64,7 @@ This command will mark the referenced task 'Done'. Here `[ID]` is meant to be re
|
|
|
64
64
|
|
|
65
65
|
## Using the Python Library
|
|
66
66
|
|
|
67
|
-
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.
|
|
67
|
+
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.dartai.com/?settings=account) and save that as the `DART_TOKEN` environment variable.
|
|
68
68
|
|
|
69
69
|
Then, you can run something like
|
|
70
70
|
|
|
@@ -123,13 +123,13 @@ By following these steps, you can use the `dart-tools` Python library within you
|
|
|
123
123
|
|
|
124
124
|
## Help and Resources
|
|
125
125
|
|
|
126
|
-
- [Homepage](https://
|
|
127
|
-
- [Web App](https://app.
|
|
128
|
-
- [Help Center](https://help.
|
|
129
|
-
- [Bugs and Features](https://app.
|
|
126
|
+
- [Homepage](https://dartai.com/?nr=1)
|
|
127
|
+
- [Web App](https://app.dartai.com/)
|
|
128
|
+
- [Help Center](https://help.dartai.com/)
|
|
129
|
+
- [Bugs and Features](https://app.dartai.com/p/r/JFyPnhL9En61)
|
|
130
130
|
- [Library Source](https://github.com/its-dart/dart-tools-py/)
|
|
131
131
|
- [Chat on Discord](https://discord.gg/RExv8jEkSh)
|
|
132
|
-
- Email us at [support@
|
|
132
|
+
- Email us at [support@dartai.com](mailto:support@dartai.com)
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
## Contributing
|
|
@@ -58,8 +58,8 @@ from .generated.types import UNSET, Response, Unset
|
|
|
58
58
|
_APP = "dart-tools"
|
|
59
59
|
_PROG = "dart"
|
|
60
60
|
|
|
61
|
-
_PROD_HOST = "https://app.
|
|
62
|
-
_STAG_HOST = "https://stag.
|
|
61
|
+
_PROD_HOST = "https://app.dartai.com"
|
|
62
|
+
_STAG_HOST = "https://stag.dartai.com"
|
|
63
63
|
_DEV_HOST = "http://localhost:5173"
|
|
64
64
|
_HOST_MAP = {"prod": _PROD_HOST, "stag": _STAG_HOST, "dev": _DEV_HOST}
|
|
65
65
|
|
|
@@ -466,7 +466,7 @@ def _auth_failure_exit() -> NoReturn:
|
|
|
466
466
|
|
|
467
467
|
|
|
468
468
|
def _unknown_failure_exit() -> NoReturn:
|
|
469
|
-
_dart_exit("Unknown failure, email\n\n support@
|
|
469
|
+
_dart_exit("Unknown failure, email\n\n support@dartai.com\n\nfor help.")
|
|
470
470
|
|
|
471
471
|
|
|
472
472
|
def print_version() -> str:
|
|
@@ -20,6 +20,7 @@ from .task import Task
|
|
|
20
20
|
from .task_create import TaskCreate
|
|
21
21
|
from .task_relationships import TaskRelationships
|
|
22
22
|
from .task_update import TaskUpdate
|
|
23
|
+
from .time_tracking_entry import TimeTrackingEntry
|
|
23
24
|
from .user import User
|
|
24
25
|
from .user_space_configuration import UserSpaceConfiguration
|
|
25
26
|
from .user_space_configuration_custom_property_checkbox_type_def import (
|
|
@@ -86,6 +87,7 @@ __all__ = (
|
|
|
86
87
|
"TaskCreate",
|
|
87
88
|
"TaskRelationships",
|
|
88
89
|
"TaskUpdate",
|
|
90
|
+
"TimeTrackingEntry",
|
|
89
91
|
"User",
|
|
90
92
|
"UserSpaceConfiguration",
|
|
91
93
|
"UserSpaceConfigurationCustomPropertyCheckboxTypeDef",
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="TimeTrackingEntry")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class TimeTrackingEntry:
|
|
11
|
+
"""
|
|
12
|
+
Attributes:
|
|
13
|
+
user_duid (str):
|
|
14
|
+
started_at (str):
|
|
15
|
+
finished_at (Union[None, str]):
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
user_duid: str
|
|
19
|
+
started_at: str
|
|
20
|
+
finished_at: Union[None, str]
|
|
21
|
+
|
|
22
|
+
def to_dict(self) -> dict[str, Any]:
|
|
23
|
+
user_duid = self.user_duid
|
|
24
|
+
|
|
25
|
+
started_at = self.started_at
|
|
26
|
+
|
|
27
|
+
finished_at: Union[None, str]
|
|
28
|
+
finished_at = self.finished_at
|
|
29
|
+
|
|
30
|
+
field_dict: dict[str, Any] = {}
|
|
31
|
+
field_dict.update(
|
|
32
|
+
{
|
|
33
|
+
"userDuid": user_duid,
|
|
34
|
+
"startedAt": started_at,
|
|
35
|
+
"finishedAt": finished_at,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
return field_dict
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
43
|
+
d = dict(src_dict)
|
|
44
|
+
user_duid = d.pop("userDuid")
|
|
45
|
+
|
|
46
|
+
started_at = d.pop("startedAt")
|
|
47
|
+
|
|
48
|
+
def _parse_finished_at(data: object) -> Union[None, str]:
|
|
49
|
+
if data is None:
|
|
50
|
+
return data
|
|
51
|
+
return cast(Union[None, str], data)
|
|
52
|
+
|
|
53
|
+
finished_at = _parse_finished_at(d.pop("finishedAt"))
|
|
54
|
+
|
|
55
|
+
time_tracking_entry = cls(
|
|
56
|
+
user_duid=user_duid,
|
|
57
|
+
started_at=started_at,
|
|
58
|
+
finished_at=finished_at,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
return time_tracking_entry
|
|
@@ -124,9 +124,15 @@ def replicate_space(
|
|
|
124
124
|
def get_dartboards(space_id: str, include_special: bool = False) -> list[dict]:
|
|
125
125
|
dart = DartOld()
|
|
126
126
|
|
|
127
|
-
response = dart.get(_LIST_DARTBOARDS_URL_FRAG, params={"space_duid": space_id})
|
|
127
|
+
response = dart.get(_LIST_DARTBOARDS_URL_FRAG, params={"space_duid": space_id, "limit": 100})
|
|
128
128
|
response_json = response.json()
|
|
129
129
|
dartboards = response_json["results"] if response_json is not None else []
|
|
130
|
+
while response_json.get("next") is not None:
|
|
131
|
+
response = dart.get(response_json["next"])
|
|
132
|
+
response_json = response.json()
|
|
133
|
+
if response_json is not None and "results" in response_json:
|
|
134
|
+
dartboards.extend(response_json["results"])
|
|
135
|
+
|
|
130
136
|
if not include_special:
|
|
131
137
|
dartboards = [e for e in dartboards if e["kind"] == "Custom"]
|
|
132
138
|
|
|
@@ -178,9 +184,15 @@ def update_dartboard(dartboard_id: str, *, title: Union[str, None] = None, color
|
|
|
178
184
|
def get_folders(space_id: str, *, include_special: Union[bool, None] = False) -> list[dict]:
|
|
179
185
|
dart = DartOld()
|
|
180
186
|
|
|
181
|
-
response = dart.get(_LIST_FOLDERS_URL_FRAG, params={"space_duid": space_id})
|
|
187
|
+
response = dart.get(_LIST_FOLDERS_URL_FRAG, params={"space_duid": space_id, "limit": 50})
|
|
182
188
|
response_json = response.json()
|
|
183
189
|
folders = response_json["results"] if response_json is not None else []
|
|
190
|
+
while response_json.get("next") is not None:
|
|
191
|
+
response = dart.get(response_json["next"])
|
|
192
|
+
response_json = response.json()
|
|
193
|
+
if response_json is not None and "results" in response_json:
|
|
194
|
+
folders.extend(response_json["results"])
|
|
195
|
+
|
|
184
196
|
if not include_special:
|
|
185
197
|
folders = [e for e in folders if e["kind"] == "Other"]
|
|
186
198
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dart-tools
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.1
|
|
4
4
|
Summary: The Dart CLI and Python Library
|
|
5
|
-
Author-email: Dart <software@
|
|
5
|
+
Author-email: Dart <software@dartai.com>
|
|
6
6
|
License: MIT License
|
|
7
7
|
|
|
8
8
|
Copyright (c) 2025 Dart
|
|
@@ -25,9 +25,9 @@ License: MIT License
|
|
|
25
25
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
26
|
SOFTWARE.
|
|
27
27
|
|
|
28
|
-
Project-URL: Homepage, https://www.
|
|
29
|
-
Project-URL: Web App, https://app.
|
|
30
|
-
Project-URL: Help Center, https://help.
|
|
28
|
+
Project-URL: Homepage, https://www.dartai.com/?nr=1
|
|
29
|
+
Project-URL: Web App, https://app.dartai.com/
|
|
30
|
+
Project-URL: Help Center, https://help.dartai.com/
|
|
31
31
|
Project-URL: Bugs and Features, https://github.com/its-dart/dart-tools-py/issues
|
|
32
32
|
Project-URL: Library Source, https://github.com/its-dart/dart-tools-py/
|
|
33
33
|
Keywords: dart,cli,projectmanagement,taskmanagement
|
|
@@ -70,7 +70,7 @@ Dynamic: license-file
|
|
|
70
70
|
</p>
|
|
71
71
|
</div>
|
|
72
72
|
|
|
73
|
-
[Dart](https://
|
|
73
|
+
[Dart](https://dartai.com?nr=1) is Project Management powered by AI.
|
|
74
74
|
|
|
75
75
|
`dart-tools` is the Dart CLI and Python Library. It enables direct integration with Dart through a terminal CLI or through Python.
|
|
76
76
|
|
|
@@ -127,7 +127,7 @@ This command will mark the referenced task 'Done'. Here `[ID]` is meant to be re
|
|
|
127
127
|
|
|
128
128
|
## Using the Python Library
|
|
129
129
|
|
|
130
|
-
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.
|
|
130
|
+
First, set up authentication. Run `dart login` in the terminal for an interactive process. Alternatively, copy your authentication token from [your Dart profile](https://app.dartai.com/?settings=account) and save that as the `DART_TOKEN` environment variable.
|
|
131
131
|
|
|
132
132
|
Then, you can run something like
|
|
133
133
|
|
|
@@ -186,13 +186,13 @@ By following these steps, you can use the `dart-tools` Python library within you
|
|
|
186
186
|
|
|
187
187
|
## Help and Resources
|
|
188
188
|
|
|
189
|
-
- [Homepage](https://
|
|
190
|
-
- [Web App](https://app.
|
|
191
|
-
- [Help Center](https://help.
|
|
192
|
-
- [Bugs and Features](https://app.
|
|
189
|
+
- [Homepage](https://dartai.com/?nr=1)
|
|
190
|
+
- [Web App](https://app.dartai.com/)
|
|
191
|
+
- [Help Center](https://help.dartai.com/)
|
|
192
|
+
- [Bugs and Features](https://app.dartai.com/p/r/JFyPnhL9En61)
|
|
193
193
|
- [Library Source](https://github.com/its-dart/dart-tools-py/)
|
|
194
194
|
- [Chat on Discord](https://discord.gg/RExv8jEkSh)
|
|
195
|
-
- Email us at [support@
|
|
195
|
+
- Email us at [support@dartai.com](mailto:support@dartai.com)
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
## Contributing
|
|
@@ -56,6 +56,7 @@ dart/generated/models/task.py
|
|
|
56
56
|
dart/generated/models/task_create.py
|
|
57
57
|
dart/generated/models/task_relationships.py
|
|
58
58
|
dart/generated/models/task_update.py
|
|
59
|
+
dart/generated/models/time_tracking_entry.py
|
|
59
60
|
dart/generated/models/user.py
|
|
60
61
|
dart/generated/models/user_space_configuration.py
|
|
61
62
|
dart/generated/models/user_space_configuration_custom_property_checkbox_type_def.py
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dart-tools"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.8.1"
|
|
4
4
|
description = "The Dart CLI and Python Library"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|
|
7
7
|
license = {file = "LICENSE"}
|
|
8
8
|
keywords = ["dart", "cli", "projectmanagement", "taskmanagement"]
|
|
9
9
|
authors = [
|
|
10
|
-
{ name="Dart", email="software@
|
|
10
|
+
{ name="Dart", email="software@dartai.com" }
|
|
11
11
|
]
|
|
12
12
|
classifiers=[
|
|
13
13
|
"Development Status :: 4 - Beta",
|
|
@@ -48,9 +48,9 @@ dev = [
|
|
|
48
48
|
]
|
|
49
49
|
|
|
50
50
|
[project.urls]
|
|
51
|
-
"Homepage" = "https://www.
|
|
52
|
-
"Web App" = "https://app.
|
|
53
|
-
"Help Center" = "https://help.
|
|
51
|
+
"Homepage" = "https://www.dartai.com/?nr=1"
|
|
52
|
+
"Web App" = "https://app.dartai.com/"
|
|
53
|
+
"Help Center" = "https://help.dartai.com/"
|
|
54
54
|
"Bugs and Features" = "https://github.com/its-dart/dart-tools-py/issues"
|
|
55
55
|
"Library Source" = "https://github.com/its-dart/dart-tools-py/"
|
|
56
56
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|