TermFace 1.0.0__py3-none-any.whl

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.
@@ -0,0 +1,135 @@
1
+ Metadata-Version: 2.4
2
+ Name: TermFace
3
+ Version: 1.0.0
4
+ Summary: ASCII video call over terminal — webcam to color ASCII art with encrypted peer-to-peer calls
5
+ Author: TermFace
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Yash12b/termface
8
+ Project-URL: Repository, https://github.com/Yash12b/termface
9
+ Project-URL: Issues, https://github.com/Yash12b/termface/issues
10
+ Keywords: ascii,webcam,terminal,videocall,facetime,color,art
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: End Users/Desktop
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Multimedia :: Video
21
+ Classifier: Topic :: Communications
22
+ Requires-Python: >=3.10
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: opencv-python>=4.8
26
+ Requires-Dist: numpy>=1.24
27
+ Requires-Dist: PyAudio>=0.2.14
28
+ Requires-Dist: cryptography>=41.0
29
+ Requires-Dist: mss>=9.0
30
+ Provides-Extra: dev
31
+ Requires-Dist: cython>=3.0; extra == "dev"
32
+ Requires-Dist: build; extra == "dev"
33
+ Requires-Dist: twine; extra == "dev"
34
+ Dynamic: license-file
35
+
36
+ # TermFace
37
+
38
+ **ASCII video call over terminal.** Your webcam rendered as color ASCII art, with encrypted peer-to-peer calls.
39
+
40
+ ## Features
41
+
42
+ - **Color ASCII webcam** — real-time webcam rendered as colored ASCII art in your terminal
43
+ - **Peer-to-peer calls** — call friends directly, no server needed
44
+ - **AES-256 encryption** — all video/audio traffic is encrypted
45
+ - **Background effects** — blur or remove your background
46
+ - **Edge detection** — wireframe ASCII mode
47
+ - **Text chat** — send messages during calls
48
+ - **File transfer** — send files to your peer
49
+ - **Screen sharing** — share your screen instead of webcam
50
+ - **Call recording** — record calls to video files
51
+ - **Adaptive quality** — auto-adjusts to network conditions
52
+ - **LAN discovery** — finds peers on your local network
53
+
54
+ ## Quick Install
55
+
56
+ ### macOS / Linux
57
+
58
+ ```bash
59
+ curl -fsSL https://raw.githubusercontent.com/Yash12b/termface/main/install.sh | bash
60
+ ```
61
+
62
+ ### Windows (PowerShell)
63
+
64
+ ```powershell
65
+ irm https://raw.githubusercontent.com/Yash12b/termface/main/install.ps1 | iex
66
+ ```
67
+
68
+ ### With pip (if Python is installed)
69
+
70
+ ```bash
71
+ pip install TermFace
72
+ ```
73
+
74
+ ## Usage
75
+
76
+ ### ASCII Webcam (local only)
77
+
78
+ ```bash
79
+ ascii-cam
80
+ # or
81
+ termface ascii
82
+ ```
83
+
84
+ ### Video Call
85
+
86
+ ```bash
87
+ # You (caller)
88
+ termface facetime --target FRIEND_IP --encrypt-key mysecret
89
+
90
+ # Friend (receiver) — wait for incoming call
91
+ termface facetime --encrypt-key mysecret
92
+ ```
93
+
94
+ ### All Options
95
+
96
+ ```bash
97
+ termface facetime --help
98
+ termface ascii --help
99
+ ```
100
+
101
+ ## Controls (during call)
102
+
103
+ | Key | Action |
104
+ |-----|--------|
105
+ | `t` | Open chat |
106
+ | `f` | Send file |
107
+ | `1-4` | Switch color mode |
108
+ | `e` | Toggle edges |
109
+ | `b` | Toggle background blur |
110
+ | `r` | Toggle background removal / recording |
111
+ | `s` | Screenshot |
112
+ | `c` | Cycle character set |
113
+ | `+/-` | Brightness |
114
+ | `[/]` | Contrast |
115
+ | `q` | Quit |
116
+
117
+ ## Building from Source
118
+
119
+ ```bash
120
+ # Install build tools
121
+ pip install Cython build twine
122
+
123
+ # Compile source to binaries
124
+ python build_cython.py
125
+
126
+ # Build wheel
127
+ python -m build --wheel
128
+
129
+ # Upload to PyPI
130
+ twine upload dist/*
131
+ ```
132
+
133
+ ## License
134
+
135
+ MIT
@@ -0,0 +1,12 @@
1
+ termface-1.0.0.dist-info/licenses/LICENSE,sha256=3eDE5YwOth6d5MScBR2WpPKSErzV3DlNSK73zFoSknk,1065
2
+ terminal_webcam/__init__.py,sha256=p1tT0Do_CUaeCdM3sYHLSEHHjeTO_J490w2I68GaZMo,97
3
+ terminal_webcam/__main__.py,sha256=nlxZxywvIoPhwfmq9uO34fRQ7j66TGfiuVDfElWkEnQ,923
4
+ terminal_webcam/cli_ascii.py,sha256=SIY1DASvlYdAwDTrURe_25Fo_31xxH9DF4PdIU7vfso,155
5
+ terminal_webcam/cli_facetime.py,sha256=UkkqHqof72IqAHZdxY1mKgsgYebYZ-j0CenMtFEgZOw,159
6
+ terminal_webcam/terminal_facetime.cpython-314-darwin.so,sha256=ZQYNDOawLOSsFSgMqaU53GFhhL2ky4F9yeezIES8OF0,552152
7
+ terminal_webcam/webcam_ascii.cpython-314-darwin.so,sha256=X3SUs4MDNFSHdy78JCGT9imocNIhi_1V8AvubvmBTCE,277200
8
+ termface-1.0.0.dist-info/METADATA,sha256=uemiG4DlI-9W0Ul5QURn6Qmbe24vGq4DLSosGB-UFS8,3418
9
+ termface-1.0.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
10
+ termface-1.0.0.dist-info/entry_points.txt,sha256=E4ftq9Z-qWFpsImdVF6DkNwA1W19F3hfG5GZkzcGGf0,106
11
+ termface-1.0.0.dist-info/top_level.txt,sha256=JDAon1Gb02NdorlhscFpqmcbZ8MVMTCZZ4j4-Sp5K1U,16
12
+ termface-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ ascii-cam = terminal_webcam.cli_ascii:main
3
+ termface = terminal_webcam.cli_facetime:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 TermFace
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ terminal_webcam
@@ -0,0 +1,4 @@
1
+ """TermFace — ASCII Video Call over Terminal"""
2
+
3
+ __version__ = "1.0.0"
4
+ __author__ = "TermFace"
@@ -0,0 +1,32 @@
1
+ """Usage: python -m terminal_webcam [ascii|facetime] [options]"""
2
+
3
+ import sys
4
+
5
+ def main():
6
+ if len(sys.argv) < 2 or sys.argv[1] in ("-h", "--help"):
7
+ print("Usage: termface <command> [options]")
8
+ print()
9
+ print("Commands:")
10
+ print(" ascii Run the ASCII webcam viewer")
11
+ print(" facetime Start a terminal FaceTime call")
12
+ print()
13
+ print("Run 'termface <command> --help' for command-specific help.")
14
+ sys.exit(0)
15
+
16
+ command = sys.argv[1]
17
+ sys.argv = [sys.argv[0]] + sys.argv[2:]
18
+
19
+ if command == "ascii":
20
+ from terminal_webcam.webcam_ascii import main
21
+ main()
22
+ elif command == "facetime":
23
+ from terminal_webcam.terminal_facetime import main
24
+ main()
25
+ else:
26
+ print(f"Unknown command: {command}")
27
+ print("Use 'termface --help' for usage info.")
28
+ sys.exit(1)
29
+
30
+
31
+ if __name__ == "__main__":
32
+ main()
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env python3
2
+ """Entry point for 'ascii-cam' CLI command."""
3
+ from terminal_webcam.webcam_ascii import main
4
+
5
+ if __name__ == "__main__":
6
+ main()
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env python3
2
+ """Entry point for 'termface' CLI command."""
3
+ from terminal_webcam.terminal_facetime import main
4
+
5
+ if __name__ == "__main__":
6
+ main()