cmsend 0.4.2__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 +66 -0
- cmsend-0.4.3/README.md +52 -0
- cmsend-0.4.3/cmsend.egg-info/PKG-INFO +66 -0
- cmsend-0.4.3/cmsend.egg-info/top_level.txt +1 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/cmsend.py +9 -10
- {cmsend-0.4.2 → cmsend-0.4.3}/pyproject.toml +12 -6
- cmsend-0.4.2/PKG-INFO +0 -64
- cmsend-0.4.2/README.md +0 -51
- cmsend-0.4.2/cmsend.egg-info/PKG-INFO +0 -64
- cmsend-0.4.2/cmsend.egg-info/top_level.txt +0 -3
- {cmsend-0.4.2 → cmsend-0.4.3}/LICENSE +0 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/cmsend.egg-info/SOURCES.txt +0 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/cmsend.egg-info/dependency_links.txt +0 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/cmsend.egg-info/entry_points.txt +0 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/cmsend.egg-info/requires.txt +0 -0
- {cmsend-0.4.2 → cmsend-0.4.3}/setup.cfg +0 -0
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,8 +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}")
|
|
164
|
-
for contact in
|
|
165
|
-
print(f" - {contact.name_and_addr}")
|
|
161
|
+
for contact in chat.get_contacts():
|
|
162
|
+
print(f" - {contact.get_snapshot().name_and_addr}")
|
|
166
163
|
|
|
167
164
|
def perform_send(self, tag, text, filename=None):
|
|
168
165
|
self._account.start_io()
|
|
@@ -179,8 +176,10 @@ class Profile:
|
|
|
179
176
|
def get_tagged_chat(self, tag):
|
|
180
177
|
chat_id = self._account.get_config(f"{self.UI_CONFIG_TAGGED_CHATS}.{tag}")
|
|
181
178
|
if not chat_id:
|
|
182
|
-
print(
|
|
183
|
-
|
|
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
|
+
)
|
|
184
183
|
raise SystemExit(5)
|
|
185
184
|
|
|
186
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 = "
|
|
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/
|
|
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
|
-
|
|
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.2/PKG-INFO
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: cmsend
|
|
3
|
-
Version: 0.4.2
|
|
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.2/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.2
|
|
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*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|