clox 0.4__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.

Potentially problematic release.


This version of clox might be problematic. Click here for more details.

clox/__init__.py ADDED
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+ """clox modules."""
3
+ from clox.params import CLOX_VERSION
4
+ __version__ = CLOX_VERSION
clox/__main__.py ADDED
@@ -0,0 +1,7 @@
1
+ # -*- coding: utf-8 -*-
2
+ """clox main."""
3
+ from .functions import main
4
+
5
+
6
+ if __name__ == "__main__":
7
+ main()
clox/functions.py ADDED
@@ -0,0 +1,172 @@
1
+ # -*- coding: utf-8 -*-
2
+ """clox functions."""
3
+ import os
4
+ import sys
5
+ import time
6
+ import random
7
+ import datetime
8
+ import argparse
9
+ import pytz
10
+ from art import tprint
11
+ from .params import HORIZONTAL_TIME_FORMATS, VERTICAL_TIME_FORMATS, DATE_FORMAT
12
+ from .params import TIMEZONES_LIST, CLOX_VERSION
13
+ from .params import ADDITIONAL_INFO, EXIT_MESSAGE
14
+ from .params import FACES_MAP, FACES_LIST
15
+ from .params import HORIZONTAL_FACES_LIST_EXAMPLE, VERTICAL_FACES_LIST_EXAMPLE
16
+ from .params import CLOX_OVERVIEW, CLOX_REPO
17
+
18
+
19
+ def clox_info():
20
+ """
21
+ Print clox details.
22
+
23
+ :return: None
24
+ """
25
+ tprint("Clox")
26
+ tprint("V:" + CLOX_VERSION)
27
+ print(CLOX_OVERVIEW)
28
+ print(CLOX_REPO)
29
+
30
+
31
+ def clear_screen():
32
+ """
33
+ Clear screen function.
34
+
35
+ :return: None
36
+ """
37
+ if sys.platform == "win32":
38
+ os.system('cls')
39
+ else:
40
+ os.system('clear')
41
+
42
+
43
+ def get_face(index):
44
+ """
45
+ Return face name.
46
+
47
+ :param index: face index
48
+ :type index: int
49
+ :return: face name as str
50
+ """
51
+ if index == -1:
52
+ index = random.choice(sorted(FACES_MAP))
53
+ return FACES_MAP[index]
54
+
55
+
56
+ def show_faces_list(vertical=False):
57
+ """
58
+ Show faces list.
59
+
60
+ :param vertical: vertical mode flag
61
+ :type vertical: bool
62
+ :return: None
63
+ """
64
+ mode = "Horizontal"
65
+ example = HORIZONTAL_FACES_LIST_EXAMPLE
66
+ if vertical:
67
+ example = VERTICAL_FACES_LIST_EXAMPLE
68
+ mode = "Vertical"
69
+ print("Faces list ({0}):\n".format(mode))
70
+ for i in sorted(FACES_MAP):
71
+ print('Face {}\n'.format(i))
72
+ tprint(example, font=get_face(i))
73
+ print('=' * 80)
74
+
75
+
76
+ def show_timezones_list():
77
+ """
78
+ Show timezones list.
79
+
80
+ :return: None
81
+ """
82
+ print("Timezones list:\n")
83
+ for index, timezone in enumerate(TIMEZONES_LIST, 1):
84
+ print("{0}. {1}".format(index, timezone))
85
+
86
+
87
+ def run_clock(timezone=None, v_shift=0, h_shift=0, face=1, no_blink=False, vertical=False):
88
+ """
89
+ Run clock.
90
+
91
+ :param timezone: timezone
92
+ :type timezone: str
93
+ :param v_shift: vertical shift
94
+ :type v_shift: int
95
+ :param h_shift: horizontal shift
96
+ :type h_shift: int
97
+ :param face: face index
98
+ :type face: int
99
+ :param no_blink: no-blink flag
100
+ :type no_blink: bool
101
+ :param vertical: vertical mode flag
102
+ :type vertical: bool
103
+ :return: None
104
+ """
105
+ format_index = 0
106
+ timezone_str = timezone
107
+ time_formats = HORIZONTAL_TIME_FORMATS
108
+ if vertical:
109
+ time_formats = VERTICAL_TIME_FORMATS
110
+ if timezone is None:
111
+ tz = None
112
+ timezone_str = "Local"
113
+ else:
114
+ tz = pytz.timezone(timezone)
115
+ v_shift = max(0, v_shift)
116
+ h_shift = max(0, h_shift)
117
+ face = get_face(face)
118
+ while True:
119
+ clear_screen()
120
+ print('\n' * v_shift, end='')
121
+ print(" " * h_shift, end='')
122
+ datetime_now = datetime.datetime.now(tz=tz)
123
+ current_time = datetime_now.strftime(time_formats[format_index])
124
+ current_date = datetime_now.strftime(DATE_FORMAT)
125
+ tprint(current_time, font=face, sep="\n" + " " * h_shift)
126
+ print(" " * h_shift, end='')
127
+ print(current_date)
128
+ print(" " * h_shift, end='')
129
+ print("Timezone: {0}".format(timezone_str))
130
+ time.sleep(1)
131
+ if not no_blink:
132
+ format_index = int(not format_index)
133
+
134
+
135
+ def main():
136
+ """
137
+ CLI main function.
138
+
139
+ :return: None
140
+ """
141
+ parser = argparse.ArgumentParser()
142
+ parser.epilog = ADDITIONAL_INFO
143
+ parser.add_argument('--timezone', help='timezone', type=str, choices=TIMEZONES_LIST)
144
+ parser.add_argument('--v-shift', help='vertical shift', type=int, default=0)
145
+ parser.add_argument('--h-shift', help='horizontal shift', type=int, default=0)
146
+ parser.add_argument('--version', help='version', nargs="?", const=1)
147
+ parser.add_argument('--info', help='info', nargs="?", const=1)
148
+ parser.add_argument('--face', help='face', type=int, choices=FACES_LIST, default=1)
149
+ parser.add_argument('--faces-list', help='faces list', nargs="?", const=1)
150
+ parser.add_argument('--timezones-list', help='timezones list', nargs="?", const=1)
151
+ parser.add_argument('--no-blink', help='disable blinking mode', nargs="?", const=1)
152
+ parser.add_argument('--vertical', help='vertical mode', nargs="?", const=1)
153
+ args = parser.parse_args()
154
+ if args.version:
155
+ print(CLOX_VERSION)
156
+ elif args.info:
157
+ clox_info()
158
+ elif args.faces_list:
159
+ show_faces_list(vertical=args.vertical)
160
+ elif args.timezones_list:
161
+ show_timezones_list()
162
+ else:
163
+ try:
164
+ run_clock(
165
+ timezone=args.timezone,
166
+ h_shift=args.h_shift,
167
+ v_shift=args.v_shift,
168
+ face=args.face,
169
+ no_blink=args.no_blink,
170
+ vertical=args.vertical)
171
+ except (KeyboardInterrupt, EOFError):
172
+ print(EXIT_MESSAGE)
clox/params.py ADDED
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ """clox params."""
3
+ import pytz
4
+
5
+ CLOX_VERSION = "0.4"
6
+
7
+ CLOX_OVERVIEW = '''
8
+ Clox is a terminal-based clock application designed for terminal enthusiasts who appreciate simplicity,
9
+ elegance, and productivity within their command-line environment. Whether you're coding, monitoring tasks,
10
+ or simply enjoying the terminal aesthetic, Clox brings a stylish and customizable time display to your workspace.
11
+ '''
12
+
13
+ CLOX_REPO = "Repo : https://github.com/sepandhaghighi/clox"
14
+
15
+ ADDITIONAL_INFO = "Additional information: Press `Ctrl+C` to exit."
16
+ EXIT_MESSAGE = "See you. Bye!"
17
+
18
+ HORIZONTAL_FACES_LIST_EXAMPLE = "12:34"
19
+ VERTICAL_FACES_LIST_EXAMPLE = "12\n34"
20
+
21
+ HORIZONTAL_TIME_FORMATS = ['%H:%M', '%H:%M.']
22
+ VERTICAL_TIME_FORMATS = ['%H\n%M', '%H\n%M.']
23
+ DATE_FORMAT = "%A, %B %d, %Y"
24
+
25
+ TIMEZONES_LIST = pytz.all_timezones
26
+
27
+
28
+ FACES_MAP = {
29
+ 1: 'bulbhead',
30
+ 2: 'soft',
31
+ 3: '4max',
32
+ 4: '5x7',
33
+ 5: 'charact4',
34
+ 6: 'o8',
35
+ 7: 'alphabet',
36
+ 8: 'shadow',
37
+ 9: 'speed',
38
+ 10: 'rounded',
39
+ 11: 'chartri',
40
+ 12: 'standard',
41
+ 13: 'contessa',
42
+ 14: 'avatar',
43
+ 15: 'mini',
44
+ 16: 'twopoint',
45
+ 17: '3x5',
46
+ 18: 'threepoint',
47
+ 19: 'ascii_new_roman',
48
+ 20: 'serifcap',
49
+ 21: 'lockergnome',
50
+ 22: 'dotmatrix',
51
+ 23: '3-d',
52
+ 24: 'sweet',
53
+ 25: 'epic',
54
+ }
55
+
56
+ FACES_LIST = [-1] + sorted(FACES_MAP)
@@ -0,0 +1,11 @@
1
+ # Core Developers
2
+ ----------
3
+ - [@sepandhaghighi](http://github.com/sepandhaghighi)
4
+
5
+ # Other Contributors
6
+ ----------
7
+ - [@boreshnavard](https://github.com/boreshnavard) **
8
+ - [@sadrasabouri](https://github.com/sadrasabouri)
9
+
10
+
11
+ ** Graphic designer
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Sepand Haghighi
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,261 @@
1
+ Metadata-Version: 2.2
2
+ Name: clox
3
+ Version: 0.4
4
+ Summary: A Geeky Clock for Terminal Enthusiasts
5
+ Home-page: https://github.com/sepandhaghighi/clox
6
+ Download-URL: https://github.com/sepandhaghighi/clox/tarball/v0.4
7
+ Author: Sepand Haghighi
8
+ Author-email: me@sepand.tech
9
+ License: MIT
10
+ Project-URL: Source, https://github.com/sepandhaghighi/clox
11
+ Keywords: clock time timer timezone terminal cli geek clox
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Natural Language :: English
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.6
17
+ Classifier: Programming Language :: Python :: 3.7
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Intended Audience :: Developers
25
+ Classifier: Intended Audience :: Education
26
+ Classifier: Intended Audience :: End Users/Desktop
27
+ Classifier: Intended Audience :: Other Audience
28
+ Classifier: Topic :: Games/Entertainment
29
+ Classifier: Topic :: Utilities
30
+ Requires-Python: >=3.6
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ License-File: AUTHORS.md
34
+ Requires-Dist: art>=5.3
35
+ Requires-Dist: pytz>=2019.2
36
+ Dynamic: author
37
+ Dynamic: author-email
38
+ Dynamic: classifier
39
+ Dynamic: description
40
+ Dynamic: description-content-type
41
+ Dynamic: download-url
42
+ Dynamic: home-page
43
+ Dynamic: keywords
44
+ Dynamic: license
45
+ Dynamic: project-url
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
49
+
50
+
51
+ <div align="center">
52
+ <img src="https://github.com/sepandhaghighi/clox/raw/main/otherfiles/logo.png" width="450">
53
+ <h1>Clox: A Geeky Clock for Terminal Enthusiasts</h1>
54
+ <br/>
55
+ <a href="https://badge.fury.io/py/clox"><img src="https://badge.fury.io/py/clox.svg" alt="PyPI version"></a>
56
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
57
+ <a href="https://github.com/sepandhaghighi/clox"><img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/sepandhaghighi/clox"></a>
58
+ </div>
59
+
60
+ ## Overview
61
+
62
+ <p align="justify">
63
+ Clox is a terminal-based clock application designed for terminal enthusiasts who appreciate simplicity, elegance, and productivity within their command-line environment. Whether you're coding, monitoring tasks, or simply enjoying the terminal aesthetic, Clox brings a stylish and customizable time display to your workspace.
64
+ </p>
65
+
66
+ <table>
67
+ <tr>
68
+ <td align="center">PyPI Counter</td>
69
+ <td align="center"><a href="http://pepy.tech/project/clox"><img src="http://pepy.tech/badge/clox"></a></td>
70
+ </tr>
71
+ <tr>
72
+ <td align="center">Github Stars</td>
73
+ <td align="center"><a href="https://github.com/sepandhaghighi/clox"><img src="https://img.shields.io/github/stars/sepandhaghighi/clox.svg?style=social&label=Stars"></a></td>
74
+ </tr>
75
+ </table>
76
+
77
+
78
+
79
+ <table>
80
+ <tr>
81
+ <td align="center">Branch</td>
82
+ <td align="center">main</td>
83
+ <td align="center">dev</td>
84
+ </tr>
85
+ <tr>
86
+ <td align="center">CI</td>
87
+ <td align="center"><img src="https://github.com/sepandhaghighi/clox/actions/workflows/test.yml/badge.svg?branch=main"></td>
88
+ <td align="center"><img src="https://github.com/sepandhaghighi/clox/actions/workflows/test.yml/badge.svg?branch=dev"></td>
89
+ </tr>
90
+ </table>
91
+
92
+
93
+ <table>
94
+ <tr>
95
+ <td align="center">Code Quality</td>
96
+ <td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/clox"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/clox/badge" alt="CodeFactor"></a></td>
97
+ <td align="center"><a href="https://app.codacy.com/gh/sepandhaghighi/clox/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/4cd4cd3b20b1474fb674823b1b417b76"></a></td>
98
+ <td align="center"><a href="https://codebeat.co/projects/github-com-sepandhaghighi-clox-main"><img alt="codebeat badge" src="https://codebeat.co/badges/19394d3a-009b-401b-b376-24a325ef2fdf"></a></td>
99
+ </tr>
100
+ </table>
101
+
102
+
103
+ ## Installation
104
+
105
+ ### Source Code
106
+ - Download [Version 0.4](https://github.com/sepandhaghighi/clox/archive/v0.4.zip) or [Latest Source](https://github.com/sepandhaghighi/clox/archive/dev.zip)
107
+ - `pip install .`
108
+
109
+ ### PyPI
110
+
111
+ - Check [Python Packaging User Guide](https://packaging.python.org/installing/)
112
+ - `pip install clox==0.4`
113
+
114
+
115
+ ## Usage
116
+
117
+ ℹ️ You can use `clox` or `python -m clox` to run this program
118
+
119
+ ### Version
120
+
121
+ ```console
122
+ clox --version
123
+ ```
124
+
125
+ ### Info
126
+
127
+ ```console
128
+ clox --info
129
+ ```
130
+
131
+ ### Basic
132
+
133
+ ℹ️ Press `Ctrl + C` to exit
134
+
135
+ ```console
136
+ clox
137
+ ```
138
+
139
+ ### Face
140
+
141
+ ```console
142
+ clox --face=3
143
+ ```
144
+ * Use `--face=-1` for random mode
145
+ * [Faces List](https://github.com/sepandhaghighi/clox/blob/main/FACES.md)
146
+ * `clox --faces-list`
147
+
148
+ ### Timezone
149
+
150
+ ```console
151
+ clox --timezone="Etc/GMT+7"
152
+ ```
153
+ * [Timezones List](https://github.com/sepandhaghighi/clox/blob/main/TIMEZONES.md)
154
+ * `clox --timezones-list`
155
+
156
+ ### Vertical/Horizontal Shift
157
+
158
+ ℹ️ The vertical and horizontal shift both have default values of `0`
159
+
160
+ ```console
161
+ clox --v-shift=20 --h-shift=30
162
+ ```
163
+
164
+ ### No Blink
165
+
166
+ Disable blinking mode
167
+
168
+ ```console
169
+ clox --no-blink
170
+ ```
171
+
172
+ ### Vertical Mode
173
+
174
+ ```console
175
+ clox --vertical
176
+ ```
177
+
178
+ ## Issues & Bug Reports
179
+
180
+ Just fill an issue and describe it. We'll check it ASAP!
181
+
182
+ - Please complete the issue template
183
+
184
+
185
+ ## Show Your Support
186
+
187
+ <h3>Star This Repo</h3>
188
+
189
+ Give a ⭐️ if this project helped you!
190
+
191
+ <h3>Donate to Our Project</h3>
192
+
193
+ <h4>Bitcoin</h4>
194
+ 1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy
195
+ <h4>Ethereum</h4>
196
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
197
+ <h4>Litecoin</h4>
198
+ Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ
199
+ <h4>Doge</h4>
200
+ DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh
201
+ <h4>Tron</h4>
202
+ TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7
203
+ <h4>Ripple</h4>
204
+ rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq
205
+ <h4>Binance Coin</h4>
206
+ bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef
207
+ <h4>Tether</h4>
208
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
209
+ <h4>Dash</h4>
210
+ Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s
211
+ <h4>Stellar</h4>
212
+ GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL
213
+ <h4>Zilliqa</h4>
214
+ zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5
215
+ <h4>Coffeete</h4>
216
+ <a href="http://www.coffeete.ir/opensource">
217
+ <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;" />
218
+ </a>
219
+
220
+
221
+ # Changelog
222
+ All notable changes to this project will be documented in this file.
223
+
224
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
225
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
226
+
227
+ ## [Unreleased]
228
+ ## [0.4] - 2025-01-18
229
+ ### Added
230
+ - Date
231
+ - `--info` argument
232
+ ## [0.3] - 2025-01-10
233
+ ### Added
234
+ - Logo
235
+ - `--vertical` argument
236
+ ### Changed
237
+ - `show_faces_list` function updated
238
+ - `AUTHORS.md` updated
239
+ ## [0.2] - 2025-01-01
240
+ ### Added
241
+ - Blink mode
242
+ - `--no-blink` argument
243
+ ### Changed
244
+ - `README.md` updated
245
+ ## [0.1] - 2024-12-24
246
+ ### Added
247
+ - `--v-shift` and `--h-shift` arguments
248
+ - `--timezone` argument
249
+ - `--face` argument
250
+ - `run_clock` and `main` functions
251
+ - `TIMEZONES.md`
252
+ - `FACES.md`
253
+
254
+ [Unreleased]: https://github.com/sepandhaghighi/clox/compare/v0.4...dev
255
+ [0.4]: https://github.com/sepandhaghighi/clox/compare/v0.3...v0.4
256
+ [0.3]: https://github.com/sepandhaghighi/clox/compare/v0.2...v0.3
257
+ [0.2]: https://github.com/sepandhaghighi/clox/compare/v0.1...v0.2
258
+ [0.1]: https://github.com/sepandhaghighi/clox/compare/e9b49e2...v0.1
259
+
260
+
261
+
@@ -0,0 +1,11 @@
1
+ clox/__init__.py,sha256=gErclFSjUDschQpngWqOBGkBKt1jwd-Ww8B9iJmlU5s,108
2
+ clox/__main__.py,sha256=9oJYc1WXu4ZMrjKny_2-4Cgu46-VWHuE9xOqD1iJY0E,109
3
+ clox/functions.py,sha256=M_nQUhDj15fQMDg8kk8D0qE3NBhEzmCqYQOT_KwHNuI,4853
4
+ clox/params.py,sha256=4pJUD1ni02oNE_hxIMF7d-PeVvfFlsfKY1Z5HjXKq9E,1340
5
+ clox-0.4.dist-info/AUTHORS.md,sha256=lmtnd18MnfgB57jdvfJbC0JHN3iARf2Ov4pY5kPGJC8,242
6
+ clox-0.4.dist-info/LICENSE,sha256=WoAsqqZ_lNVBGdyxjwh7YnVNXKfOB-qYVrRhrn-e-_4,1072
7
+ clox-0.4.dist-info/METADATA,sha256=GI4KRV6m3peEREQOp6PEaPUb7caNVaz12WmmVsN3eNk,7504
8
+ clox-0.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
9
+ clox-0.4.dist-info/entry_points.txt,sha256=sP4Rmoe-DxYGjlF_Tld6nghbt_u-fK8h9ZUQFmO8TJs,45
10
+ clox-0.4.dist-info/top_level.txt,sha256=5DxGH-4VNfYkM8vbfngObh6-jpFEoSW4M90EvDGfhSw,5
11
+ clox-0.4.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.8.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ clox = clox.functions:main
@@ -0,0 +1 @@
1
+ clox