qntm 0.1.0__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.
qntm-0.1.0/.gitignore ADDED
@@ -0,0 +1 @@
1
+ __pycache__/
qntm-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: qntm
3
+ Version: 0.1.0
4
+ Summary: qntm secure messaging protocol CLI
5
+ Project-URL: Homepage, https://qntm.corpo.llc
6
+ Project-URL: Repository, https://github.com/corpollc/qntm
7
+ Author-email: Corpo LLC <hello@corpo.llc>
8
+ License-Expression: BUSL-1.1
9
+ Keywords: cli,encryption,messaging,security
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: Other/Proprietary License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Communications
17
+ Classifier: Topic :: Security :: Cryptography
18
+ Requires-Python: >=3.8
19
+ Description-Content-Type: text/markdown
20
+
21
+ # qntm
22
+
23
+ Secure messaging protocol CLI.
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ uvx qntm
29
+ # or
30
+ pip install qntm
31
+ ```
32
+
33
+ ## Usage
34
+
35
+ ```bash
36
+ qntm --help
37
+ qntm identity generate
38
+ qntm version
39
+ ```
40
+
41
+ ## About
42
+
43
+ qntm implements the QSP v1.0 secure messaging protocol with support for key management, 1:1 and group messaging via untrusted drop boxes.
44
+
45
+ For more information, visit [qntm.corpo.llc](https://qntm.corpo.llc).
qntm-0.1.0/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # qntm
2
+
3
+ Secure messaging protocol CLI.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ uvx qntm
9
+ # or
10
+ pip install qntm
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ qntm --help
17
+ qntm identity generate
18
+ qntm version
19
+ ```
20
+
21
+ ## About
22
+
23
+ qntm implements the QSP v1.0 secure messaging protocol with support for key management, 1:1 and group messaging via untrusted drop boxes.
24
+
25
+ For more information, visit [qntm.corpo.llc](https://qntm.corpo.llc).
@@ -0,0 +1,37 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "qntm"
7
+ version = "0.1.0"
8
+ description = "qntm secure messaging protocol CLI"
9
+ readme = "README.md"
10
+ license = "BUSL-1.1"
11
+ requires-python = ">=3.8"
12
+ authors = [
13
+ { name = "Corpo LLC", email = "hello@corpo.llc" },
14
+ ]
15
+ keywords = ["messaging", "encryption", "security", "cli"]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "License :: Other/Proprietary License",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Topic :: Communications",
24
+ "Topic :: Security :: Cryptography",
25
+ ]
26
+
27
+ [project.urls]
28
+ Homepage = "https://qntm.corpo.llc"
29
+ Repository = "https://github.com/corpollc/qntm"
30
+
31
+ [project.scripts]
32
+ qntm = "qntm:main"
33
+
34
+ [tool.hatch.build.targets.wheel]
35
+ packages = ["src/qntm"]
36
+
37
+ [tool.hatch.build.targets.wheel.shared-data]
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Cross-compile qntm Go binary for all supported platforms.
5
+ # Usage: ./scripts/build-binaries.sh [version]
6
+ # version defaults to "dev"
7
+
8
+ VERSION="${1:-dev}"
9
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
10
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
11
+ OUT_DIR="$SCRIPT_DIR/../src/qntm/bin"
12
+
13
+ mkdir -p "$OUT_DIR"
14
+
15
+ PLATFORMS=(
16
+ "linux/amd64"
17
+ "linux/arm64"
18
+ "darwin/amd64"
19
+ "darwin/arm64"
20
+ "windows/amd64"
21
+ )
22
+
23
+ LDFLAGS="-s -w -X main.version=${VERSION}"
24
+
25
+ for platform in "${PLATFORMS[@]}"; do
26
+ GOOS="${platform%/*}"
27
+ GOARCH="${platform#*/}"
28
+ output="qntm-${GOOS}-${GOARCH}"
29
+ if [ "$GOOS" = "windows" ]; then
30
+ output="${output}.exe"
31
+ fi
32
+
33
+ echo "Building ${output}..."
34
+ CGO_ENABLED=0 GOOS="$GOOS" GOARCH="$GOARCH" \
35
+ go build -ldflags "$LDFLAGS" -o "$OUT_DIR/$output" "$PROJECT_ROOT/cmd/qntm/"
36
+ done
37
+
38
+ echo "Done. Binaries in $OUT_DIR:"
39
+ ls -lh "$OUT_DIR"/qntm-*
@@ -0,0 +1,68 @@
1
+ """qntm - secure messaging protocol CLI."""
2
+
3
+ __version__ = "0.1.0"
4
+
5
+
6
+ import os
7
+ import platform
8
+ import subprocess
9
+ import sys
10
+
11
+
12
+ def _get_binary_name():
13
+ """Return the platform-specific binary name."""
14
+ system = platform.system().lower()
15
+ machine = platform.machine().lower()
16
+
17
+ # Normalize arch
18
+ arch_map = {
19
+ "x86_64": "amd64",
20
+ "amd64": "amd64",
21
+ "aarch64": "arm64",
22
+ "arm64": "arm64",
23
+ }
24
+ arch = arch_map.get(machine)
25
+ if not arch:
26
+ return None
27
+
28
+ # Normalize OS
29
+ os_map = {
30
+ "linux": "linux",
31
+ "darwin": "darwin",
32
+ "windows": "windows",
33
+ }
34
+ osname = os_map.get(system)
35
+ if not osname:
36
+ return None
37
+
38
+ name = f"qntm-{osname}-{arch}"
39
+ if osname == "windows":
40
+ name += ".exe"
41
+ return name
42
+
43
+
44
+ def _find_binary():
45
+ """Find the Go binary bundled in this package."""
46
+ bin_dir = os.path.join(os.path.dirname(__file__), "bin")
47
+ name = _get_binary_name()
48
+ if not name:
49
+ return None
50
+ path = os.path.join(bin_dir, name)
51
+ if os.path.isfile(path):
52
+ return path
53
+ return None
54
+
55
+
56
+ def main():
57
+ """Entry point: exec the bundled Go binary."""
58
+ binary = _find_binary()
59
+ if not binary:
60
+ plat = f"{platform.system()}/{platform.machine()}"
61
+ print(
62
+ f"qntm: no pre-built binary for {plat}.\n"
63
+ f"Build from source: https://github.com/corpollc/qntm",
64
+ file=sys.stderr,
65
+ )
66
+ sys.exit(1)
67
+
68
+ os.execv(binary, [binary] + sys.argv[1:])
@@ -0,0 +1,4 @@
1
+ """Allow running as `python -m qntm`."""
2
+ from qntm import main
3
+
4
+ main()
@@ -0,0 +1,2 @@
1
+ qntm-*
2
+ !.gitkeep
File without changes
Binary file
Binary file