cmsend 0.4.1__tar.gz → 0.4.3__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.
cmsend-0.4.3/PKG-INFO ADDED
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.4
2
+ Name: cmsend
3
+ Version: 0.4.3
4
+ Summary: send end-to-end encrypted messages to chats on chatmail relays
5
+ Project-URL: Repository, https://github.com/chatmail/cmsend
6
+ Project-URL: Changelog, https://github.com/chatmail/cmsend/blob/main/CHANGELOG.md
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: deltachat-rpc-server>=2.24.0
11
+ Requires-Dist: deltachat-rpc-client>=2.24.0
12
+ Requires-Dist: xdg-base-dirs>=6.0.2
13
+ Dynamic: license-file
14
+
15
+ # cmsend: chatmail sendmail tool for end-to-end encrypted messages
16
+
17
+ **WORK IN PROGRESS: this is more an explorative study for now**
18
+
19
+ To install use:
20
+
21
+ uv tool install cmsend
22
+
23
+ To send and receive from a single chatmail relay:
24
+
25
+ cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
26
+
27
+ To setup a tagged chat using an invite link:
28
+
29
+ cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
30
+
31
+ To send a message to a tagged chat:
32
+
33
+ echo "hello" | cmsend -t LOG
34
+
35
+ To list all chats with tags:
36
+
37
+ cmsend -l
38
+
39
+ To send a message to a tagged chat with an attachment:
40
+
41
+ cmsend -t LOG -m "here is the file" -a README.md
42
+
43
+ To show help:
44
+
45
+ cmsend -h
46
+
47
+
48
+ ## Developing / Releasing cmsend
49
+
50
+ 1. clone the git repository at https://github.com/chatmail/cmsend
51
+
52
+ 2. install 'cmsend' in editing mode: `uv pip install -e .`
53
+
54
+ 3. edit cmsend.py and test, finally commit your changes
55
+
56
+ [chatmail/workflows](https://github.com/chatmail/workflows)
57
+ defines py-checks for this repository.
58
+ Run checks locally with `uvx ruff check .` and `uvx ruff format --check .`
59
+
60
+ To release, update CHANGELOG.md, then create and push a version tag:
61
+
62
+ git tag -a v0.5.0 -m "Release v0.5.0"
63
+ git push origin main v0.5.0
64
+
65
+ The release.yml workflow then builds and publishes to PyPI via
66
+ trusted publishing (OIDC); no local twine or PyPI token is involved.
cmsend-0.4.3/README.md ADDED
@@ -0,0 +1,52 @@
1
+ # cmsend: chatmail sendmail tool for end-to-end encrypted messages
2
+
3
+ **WORK IN PROGRESS: this is more an explorative study for now**
4
+
5
+ To install use:
6
+
7
+ uv tool install cmsend
8
+
9
+ To send and receive from a single chatmail relay:
10
+
11
+ cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
12
+
13
+ To setup a tagged chat using an invite link:
14
+
15
+ cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
16
+
17
+ To send a message to a tagged chat:
18
+
19
+ echo "hello" | cmsend -t LOG
20
+
21
+ To list all chats with tags:
22
+
23
+ cmsend -l
24
+
25
+ To send a message to a tagged chat with an attachment:
26
+
27
+ cmsend -t LOG -m "here is the file" -a README.md
28
+
29
+ To show help:
30
+
31
+ cmsend -h
32
+
33
+
34
+ ## Developing / Releasing cmsend
35
+
36
+ 1. clone the git repository at https://github.com/chatmail/cmsend
37
+
38
+ 2. install 'cmsend' in editing mode: `uv pip install -e .`
39
+
40
+ 3. edit cmsend.py and test, finally commit your changes
41
+
42
+ [chatmail/workflows](https://github.com/chatmail/workflows)
43
+ defines py-checks for this repository.
44
+ Run checks locally with `uvx ruff check .` and `uvx ruff format --check .`
45
+
46
+ To release, update CHANGELOG.md, then create and push a version tag:
47
+
48
+ git tag -a v0.5.0 -m "Release v0.5.0"
49
+ git push origin main v0.5.0
50
+
51
+ The release.yml workflow then builds and publishes to PyPI via
52
+ trusted publishing (OIDC); no local twine or PyPI token is involved.
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.4
2
+ Name: cmsend
3
+ Version: 0.4.3
4
+ Summary: send end-to-end encrypted messages to chats on chatmail relays
5
+ Project-URL: Repository, https://github.com/chatmail/cmsend
6
+ Project-URL: Changelog, https://github.com/chatmail/cmsend/blob/main/CHANGELOG.md
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: deltachat-rpc-server>=2.24.0
11
+ Requires-Dist: deltachat-rpc-client>=2.24.0
12
+ Requires-Dist: xdg-base-dirs>=6.0.2
13
+ Dynamic: license-file
14
+
15
+ # cmsend: chatmail sendmail tool for end-to-end encrypted messages
16
+
17
+ **WORK IN PROGRESS: this is more an explorative study for now**
18
+
19
+ To install use:
20
+
21
+ uv tool install cmsend
22
+
23
+ To send and receive from a single chatmail relay:
24
+
25
+ cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
26
+
27
+ To setup a tagged chat using an invite link:
28
+
29
+ cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
30
+
31
+ To send a message to a tagged chat:
32
+
33
+ echo "hello" | cmsend -t LOG
34
+
35
+ To list all chats with tags:
36
+
37
+ cmsend -l
38
+
39
+ To send a message to a tagged chat with an attachment:
40
+
41
+ cmsend -t LOG -m "here is the file" -a README.md
42
+
43
+ To show help:
44
+
45
+ cmsend -h
46
+
47
+
48
+ ## Developing / Releasing cmsend
49
+
50
+ 1. clone the git repository at https://github.com/chatmail/cmsend
51
+
52
+ 2. install 'cmsend' in editing mode: `uv pip install -e .`
53
+
54
+ 3. edit cmsend.py and test, finally commit your changes
55
+
56
+ [chatmail/workflows](https://github.com/chatmail/workflows)
57
+ defines py-checks for this repository.
58
+ Run checks locally with `uvx ruff check .` and `uvx ruff format --check .`
59
+
60
+ To release, update CHANGELOG.md, then create and push a version tag:
61
+
62
+ git tag -a v0.5.0 -m "Release v0.5.0"
63
+ git push origin main v0.5.0
64
+
65
+ The release.yml workflow then builds and publishes to PyPI via
66
+ trusted publishing (OIDC); no local twine or PyPI token is involved.
@@ -0,0 +1 @@
1
+ cmsend
@@ -10,7 +10,7 @@ from deltachat_rpc_client import DeltaChat, EventType, Rpc
10
10
  from xdg_base_dirs import xdg_config_home
11
11
 
12
12
 
13
- def main():
13
+ def main(argv=None):
14
14
  """Send end-to-end encrypted messages to groups/contacts."""
15
15
 
16
16
  parser = argparse.ArgumentParser(description=main.__doc__)
@@ -34,10 +34,7 @@ def main():
34
34
  help="use the specified tag for joining a chat or sending a message (default: GENESIS)",
35
35
  )
36
36
  parser.add_argument(
37
- "-l",
38
- dest="listtags",
39
- action="store_true",
40
- help="list existing tagged chats"
37
+ "-l", dest="listtags", action="store_true", help="list existing tagged chats"
41
38
  )
42
39
  parser.add_argument(
43
40
  "-m",
@@ -52,7 +49,7 @@ def main():
52
49
  parser.add_argument(
53
50
  "-a", dest="filename", type=str, default=None, help="add file attachment"
54
51
  )
55
- args = parser.parse_args()
52
+ args = parser.parse_args(argv)
56
53
 
57
54
  try:
58
55
  return perform_main(args)
@@ -161,6 +158,8 @@ class Profile:
161
158
  chat = self.get_tagged_chat(tag)
162
159
  snap = chat.get_full_snapshot()
163
160
  print(f"{tag}: chat_id={chat.id} name={snap.name}")
161
+ for contact in chat.get_contacts():
162
+ print(f" - {contact.get_snapshot().name_and_addr}")
164
163
 
165
164
  def perform_send(self, tag, text, filename=None):
166
165
  self._account.start_io()
@@ -177,8 +176,10 @@ class Profile:
177
176
  def get_tagged_chat(self, tag):
178
177
  chat_id = self._account.get_config(f"{self.UI_CONFIG_TAGGED_CHATS}.{tag}")
179
178
  if not chat_id:
180
- print(f"No chat tagged with tag={tag} found for sending on {self!r}, "
181
- f"use -t {tag} --join 'https://i.delta.chat/...'")
179
+ print(
180
+ f"No chat tagged with tag={tag} found for sending on {self!r}, "
181
+ f"use -t {tag} --join 'https://i.delta.chat/...'"
182
+ )
182
183
  raise SystemExit(5)
183
184
 
184
185
  return self._account.get_chat_by_id(int(chat_id))
@@ -5,7 +5,8 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "cmsend"
7
7
  readme = "README.md"
8
- description = "ping messages between chatmail relays"
8
+ description = "send end-to-end encrypted messages to chats on chatmail relays"
9
+ requires-python = ">=3.11"
9
10
  dependencies = [
10
11
  "deltachat-rpc-server>=2.24.0",
11
12
  "deltachat-rpc-client>=2.24.0",
@@ -23,17 +24,22 @@ py-modules = ["cmsend"]
23
24
 
24
25
  [project.urls]
25
26
  Repository = "https://github.com/chatmail/cmsend"
26
- Changelog = "https://github.com/chatmail/cmsend/blob/master/CHANGELOG.md"
27
+ Changelog = "https://github.com/chatmail/cmsend/blob/main/CHANGELOG.md"
27
28
 
28
29
  [project.scripts]
29
30
  cmsend = "cmsend:main"
30
31
 
32
+ [dependency-groups]
33
+ test = [
34
+ "pytest",
35
+ "pytest-timeout",
36
+ "execnet", # imported by the deltachat_rpc_client pytest plugin
37
+ ]
38
+
31
39
  [tool.pytest.ini_options]
32
40
  addopts = "-v -ra --strict-markers"
33
-
34
- [tool.setuptools.packages.find]
35
- where = ["."]
36
-
41
+ # cmsend waits for core events without a deadline of its own.
42
+ timeout = 180
37
43
 
38
44
  [tool.ruff]
39
45
  lint.select = [
cmsend-0.4.1/PKG-INFO DELETED
@@ -1,64 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cmsend
3
- Version: 0.4.1
4
- Summary: ping messages between chatmail relays
5
- Project-URL: Repository, https://github.com/chatmail/cmsend
6
- Project-URL: Changelog, https://github.com/chatmail/cmsend/blob/master/CHANGELOG.md
7
- Description-Content-Type: text/markdown
8
- License-File: LICENSE
9
- Requires-Dist: deltachat-rpc-server>=2.24.0
10
- Requires-Dist: deltachat-rpc-client>=2.24.0
11
- Requires-Dist: xdg-base-dirs>=6.0.2
12
- Dynamic: license-file
13
-
14
- # cmsend: chatmail sendmail tool for end-to-end encrypted messages
15
-
16
- **WORK IN PROGRESS: this is more an explorative study for now**
17
-
18
- To install use:
19
-
20
- pip install cmsend
21
-
22
- To send and receive from a single chatmail relay:
23
-
24
- cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
25
-
26
- To setup a tagged chat using an invite link:
27
-
28
- cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
29
-
30
- To send a message to a tagged chat:
31
-
32
- echo "hello" | cmsend -t LOG
33
-
34
- To list all chats with tags:
35
-
36
- cmsend -l
37
-
38
- To send a message to a tagged chat with an attachment:
39
-
40
- cmsend -t LOG -m "here is the file" -a README.md
41
-
42
- To show help:
43
-
44
- cmsend -h
45
-
46
-
47
- ## Example outputs
48
-
49
-
50
- ## Developing / Releasing cmsend
51
-
52
- 1. clone the git repository at https://github.com/chatmail/cmsend
53
-
54
- 2. install 'cmsend" in editing mode: `pip install -e .`
55
-
56
- 3. edit cmsend.py and test, finally commit your changes
57
-
58
- 4. set a new git-tag
59
-
60
- 5. install build/release tools: `pip install build twine`
61
-
62
- 6. run the following command:
63
-
64
- rm -rf dist && python -m build && twine upload -r pypi dist/cmsend*
cmsend-0.4.1/README.md DELETED
@@ -1,51 +0,0 @@
1
- # cmsend: chatmail sendmail tool for end-to-end encrypted messages
2
-
3
- **WORK IN PROGRESS: this is more an explorative study for now**
4
-
5
- To install use:
6
-
7
- pip install cmsend
8
-
9
- To send and receive from a single chatmail relay:
10
-
11
- cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
12
-
13
- To setup a tagged chat using an invite link:
14
-
15
- cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
16
-
17
- To send a message to a tagged chat:
18
-
19
- echo "hello" | cmsend -t LOG
20
-
21
- To list all chats with tags:
22
-
23
- cmsend -l
24
-
25
- To send a message to a tagged chat with an attachment:
26
-
27
- cmsend -t LOG -m "here is the file" -a README.md
28
-
29
- To show help:
30
-
31
- cmsend -h
32
-
33
-
34
- ## Example outputs
35
-
36
-
37
- ## Developing / Releasing cmsend
38
-
39
- 1. clone the git repository at https://github.com/chatmail/cmsend
40
-
41
- 2. install 'cmsend" in editing mode: `pip install -e .`
42
-
43
- 3. edit cmsend.py and test, finally commit your changes
44
-
45
- 4. set a new git-tag
46
-
47
- 5. install build/release tools: `pip install build twine`
48
-
49
- 6. run the following command:
50
-
51
- rm -rf dist && python -m build && twine upload -r pypi dist/cmsend*
@@ -1,64 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cmsend
3
- Version: 0.4.1
4
- Summary: ping messages between chatmail relays
5
- Project-URL: Repository, https://github.com/chatmail/cmsend
6
- Project-URL: Changelog, https://github.com/chatmail/cmsend/blob/master/CHANGELOG.md
7
- Description-Content-Type: text/markdown
8
- License-File: LICENSE
9
- Requires-Dist: deltachat-rpc-server>=2.24.0
10
- Requires-Dist: deltachat-rpc-client>=2.24.0
11
- Requires-Dist: xdg-base-dirs>=6.0.2
12
- Dynamic: license-file
13
-
14
- # cmsend: chatmail sendmail tool for end-to-end encrypted messages
15
-
16
- **WORK IN PROGRESS: this is more an explorative study for now**
17
-
18
- To install use:
19
-
20
- pip install cmsend
21
-
22
- To send and receive from a single chatmail relay:
23
-
24
- cmsend --init nine.testrun.org # <-- substitute with the domain you want to set as origin
25
-
26
- To setup a tagged chat using an invite link:
27
-
28
- cmsend -t LOG --join "INVITELINK" # <-- quotes are neccessary because links contain "&"
29
-
30
- To send a message to a tagged chat:
31
-
32
- echo "hello" | cmsend -t LOG
33
-
34
- To list all chats with tags:
35
-
36
- cmsend -l
37
-
38
- To send a message to a tagged chat with an attachment:
39
-
40
- cmsend -t LOG -m "here is the file" -a README.md
41
-
42
- To show help:
43
-
44
- cmsend -h
45
-
46
-
47
- ## Example outputs
48
-
49
-
50
- ## Developing / Releasing cmsend
51
-
52
- 1. clone the git repository at https://github.com/chatmail/cmsend
53
-
54
- 2. install 'cmsend" in editing mode: `pip install -e .`
55
-
56
- 3. edit cmsend.py and test, finally commit your changes
57
-
58
- 4. set a new git-tag
59
-
60
- 5. install build/release tools: `pip install build twine`
61
-
62
- 6. run the following command:
63
-
64
- rm -rf dist && python -m build && twine upload -r pypi dist/cmsend*
@@ -1,3 +0,0 @@
1
- cmsend
2
- dist
3
- venv
File without changes
File without changes