encommon 1.0.1__tar.gz → 1.1.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {encommon-1.0.1/encommon.egg-info → encommon-1.1.1}/PKG-INFO +19 -6
- {encommon-1.0.1 → encommon-1.1.1}/README.md +16 -4
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/__init__.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/common.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/config.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/files.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/logger.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/paths.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/test/test_common.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/test/test_config.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/test/test_files.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/test/test_logger.py +3 -3
- {encommon-1.0.1 → encommon-1.1.1}/encommon/config/test/test_paths.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/conftest.py +2 -2
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/parse.py +34 -10
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/test/test_parse.py +48 -24
- encommon-1.1.1/encommon/utils/test/__init__.py +6 -0
- encommon-1.1.1/encommon/version.txt +1 -0
- {encommon-1.0.1 → encommon-1.1.1/encommon.egg-info}/PKG-INFO +19 -6
- {encommon-1.0.1 → encommon-1.1.1}/pyproject.toml +2 -1
- encommon-1.0.1/encommon/config/test/__init__.py +0 -6
- encommon-1.0.1/encommon/version.txt +0 -1
- {encommon-1.0.1 → encommon-1.1.1}/LICENSE +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/MANIFEST.in +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/__init__.py +0 -0
- {encommon-1.0.1/encommon/crypt → encommon-1.1.1/encommon/config}/test/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/crypt/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/crypt/crypt.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/crypt/hashes.py +0 -0
- {encommon-1.0.1/encommon/times → encommon-1.1.1/encommon/crypt}/test/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/crypt/test/test_crypt.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/crypt/test/test_hashes.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/py.typed +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/common.py +0 -0
- {encommon-1.0.1/encommon/types → encommon-1.1.1/encommon/times}/test/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/test/test_common.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/test/test_timer.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/test/test_times.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/test/test_window.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/timer.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/times.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/times/window.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/types/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/types/dicts.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/types/empty.py +0 -0
- {encommon-1.0.1/encommon/utils → encommon-1.1.1/encommon/types}/test/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/types/test/test_dicts.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/types/test/test_empty.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/__init__.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/common.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/paths.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/regexp.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/sample.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/stdout.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/test/test_paths.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/test/test_regexp.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/test/test_sample.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon/utils/test/test_stdout.py +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon.egg-info/SOURCES.txt +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon.egg-info/dependency_links.txt +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon.egg-info/requires.txt +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/encommon.egg-info/top_level.txt +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/reqs-install.txt +0 -0
- {encommon-1.0.1 → encommon-1.1.1}/setup.cfg +0 -0
@@ -1,11 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: encommon
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.1.1
|
4
4
|
Summary: Enasis Network Common Library
|
5
5
|
License: MIT
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
7
|
+
Classifier: Programming Language :: Python :: 3.10
|
7
8
|
Classifier: Programming Language :: Python :: 3.11
|
8
|
-
Requires-Python: >=3.
|
9
|
+
Requires-Python: >=3.10
|
9
10
|
Description-Content-Type: text/markdown
|
10
11
|
License-File: LICENSE
|
11
12
|
Requires-Dist: croniter
|
@@ -19,7 +20,8 @@ Requires-Dist: snaptime
|
|
19
20
|
[](https://github.com/enasisnetwork/encommon/actions/workflows/build.yml)
|
20
21
|
[](https://encommon.readthedocs.io/en/latest/?badge=latest)
|
21
22
|
|
22
|
-
Common classes and functions used in various public and private projects for
|
23
|
+
Common classes and functions used in various public and private projects for
|
24
|
+
[Enasis Network](https://github.com/enasisnetwork).
|
23
25
|
|
24
26
|
## Installing the package
|
25
27
|
```
|
@@ -28,8 +30,8 @@ pip install encommon
|
|
28
30
|
|
29
31
|
## Documentation
|
30
32
|
Documentation can be found on [Read the Docs](https://encommon.readthedocs.io).
|
31
|
-
|
32
|
-
|
33
|
+
If you venture into the sections below you will be able to use the `sphinx`
|
34
|
+
recipe to build the documention in `docs/html` for local consumption.
|
33
35
|
|
34
36
|
## Quick start for local development
|
35
37
|
Start by cloning the repository to your local machine.
|
@@ -42,7 +44,8 @@ make -s venv-create
|
|
42
44
|
```
|
43
45
|
|
44
46
|
### Execute the linters and tests
|
45
|
-
The comprehensive approach is to use the `check` recipe. This will stop on any
|
47
|
+
The comprehensive approach is to use the `check` recipe. This will stop on any
|
48
|
+
failure that is encountered.
|
46
49
|
```
|
47
50
|
make -s check
|
48
51
|
```
|
@@ -55,3 +58,13 @@ information found in the `htmlcov` folder in the root of the project.
|
|
55
58
|
```
|
56
59
|
make -s pytest
|
57
60
|
```
|
61
|
+
|
62
|
+
## Future features and subpackages
|
63
|
+
|
64
|
+
### `netdom` subpackage
|
65
|
+
This package will include class objects for handling network addresses and
|
66
|
+
other functions to assist with validating and normalizing domain names.
|
67
|
+
|
68
|
+
### `formats` subpackage
|
69
|
+
This package will include class objects to help with dealing with verious
|
70
|
+
formats of data. These formats will include Jinja2, CSV, and HTML.
|
@@ -3,7 +3,8 @@
|
|
3
3
|
[](https://github.com/enasisnetwork/encommon/actions/workflows/build.yml)
|
4
4
|
[](https://encommon.readthedocs.io/en/latest/?badge=latest)
|
5
5
|
|
6
|
-
Common classes and functions used in various public and private projects for
|
6
|
+
Common classes and functions used in various public and private projects for
|
7
|
+
[Enasis Network](https://github.com/enasisnetwork).
|
7
8
|
|
8
9
|
## Installing the package
|
9
10
|
```
|
@@ -12,8 +13,8 @@ pip install encommon
|
|
12
13
|
|
13
14
|
## Documentation
|
14
15
|
Documentation can be found on [Read the Docs](https://encommon.readthedocs.io).
|
15
|
-
|
16
|
-
|
16
|
+
If you venture into the sections below you will be able to use the `sphinx`
|
17
|
+
recipe to build the documention in `docs/html` for local consumption.
|
17
18
|
|
18
19
|
## Quick start for local development
|
19
20
|
Start by cloning the repository to your local machine.
|
@@ -26,7 +27,8 @@ make -s venv-create
|
|
26
27
|
```
|
27
28
|
|
28
29
|
### Execute the linters and tests
|
29
|
-
The comprehensive approach is to use the `check` recipe. This will stop on any
|
30
|
+
The comprehensive approach is to use the `check` recipe. This will stop on any
|
31
|
+
failure that is encountered.
|
30
32
|
```
|
31
33
|
make -s check
|
32
34
|
```
|
@@ -39,3 +41,13 @@ information found in the `htmlcov` folder in the root of the project.
|
|
39
41
|
```
|
40
42
|
make -s pytest
|
41
43
|
```
|
44
|
+
|
45
|
+
## Future features and subpackages
|
46
|
+
|
47
|
+
### `netdom` subpackage
|
48
|
+
This package will include class objects for handling network addresses and
|
49
|
+
other functions to assist with validating and normalizing domain names.
|
50
|
+
|
51
|
+
### `formats` subpackage
|
52
|
+
This package will include class objects to help with dealing with verious
|
53
|
+
formats of data. These formats will include Jinja2, CSV, and HTML.
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -16,7 +16,7 @@ from ..logger import Logger
|
|
16
16
|
from ..logger import Message
|
17
17
|
from ...times.common import UNIXEPOCH
|
18
18
|
from ...times.common import UNIXMPOCH
|
19
|
-
from ...utils import strip_ansi
|
19
|
+
from ...utils.stdout import strip_ansi
|
20
20
|
|
21
21
|
|
22
22
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"""
|
2
2
|
Functions and routines associated with Enasis Network Common Library.
|
3
3
|
|
4
|
-
This file is part of Enasis Network software eco-system. Distribution
|
5
|
-
permitted, for more information consult the project license file.
|
4
|
+
This file is part of Enasis Network software eco-system. Distribution
|
5
|
+
is permitted, for more information consult the project license file.
|
6
6
|
"""
|
7
7
|
|
8
8
|
|
@@ -240,6 +240,8 @@ def since_time(
|
|
240
240
|
|
241
241
|
def duration(
|
242
242
|
seconds: int,
|
243
|
+
compact: bool = True,
|
244
|
+
maximum: int = 6,
|
243
245
|
) -> str:
|
244
246
|
"""
|
245
247
|
Convert provided the seconds into a human friendly format.
|
@@ -249,32 +251,54 @@ def duration(
|
|
249
251
|
>>> duration(86400 * 700)
|
250
252
|
'1y11mon5d'
|
251
253
|
|
254
|
+
Example
|
255
|
+
-------
|
256
|
+
>>> duration(86400 * 700, False, 2)
|
257
|
+
'1 year, 11 months'
|
258
|
+
|
252
259
|
:param seconds: Period in seconds that will be iterated.
|
260
|
+
:param compact: Determines if output will be condensed.
|
261
|
+
:param maximum: Determines how many time units are shown.
|
262
|
+
Default value happens to be same number of time units
|
263
|
+
supported; year, month, week, day, hour, and minute.
|
253
264
|
:returns: Human friendly format from the value in seconds.
|
254
265
|
"""
|
255
266
|
|
256
267
|
if seconds < 60:
|
257
|
-
return
|
268
|
+
return (
|
269
|
+
f'{seconds}s' if compact
|
270
|
+
else 'just now')
|
258
271
|
|
259
272
|
groups = (
|
260
|
-
('y', 31536000),
|
261
|
-
('mon', 2592000),
|
262
|
-
('w', 604800),
|
263
|
-
('d', 86400),
|
264
|
-
('h', 3600),
|
265
|
-
('m', 60))
|
273
|
+
('year', 'y', 31536000),
|
274
|
+
('month', 'mon', 2592000),
|
275
|
+
('week', 'w', 604800),
|
276
|
+
('day', 'd', 86400),
|
277
|
+
('hour', 'h', 3600),
|
278
|
+
('minute', 'm', 60))
|
266
279
|
|
267
|
-
returned = []
|
280
|
+
returned: list[str] = []
|
268
281
|
|
269
|
-
|
282
|
+
delimiter = '' if compact else ', '
|
283
|
+
|
284
|
+
for long, short, value in groups:
|
270
285
|
|
271
286
|
if seconds < value:
|
272
287
|
continue
|
273
288
|
|
274
289
|
_value = seconds // value
|
275
290
|
|
291
|
+
key = short if compact else long
|
292
|
+
|
293
|
+
if not compact:
|
294
|
+
key = (
|
295
|
+
f' {key}' if _value == 1
|
296
|
+
else f' {key}s')
|
297
|
+
|
276
298
|
returned.append(f'{_value}{key}')
|
277
299
|
|
278
300
|
seconds %= value
|
279
301
|
|
280
|
-
|
302
|
+
returned = returned[:maximum]
|
303
|
+
|
304
|
+
return delimiter.join(returned)
|
@@ -223,35 +223,59 @@ def test_duration() -> None:
|
|
223
223
|
quarter = day * 90
|
224
224
|
year = day * 365
|
225
225
|
|
226
|
-
expects = {
|
227
226
|
|
228
|
-
|
229
|
-
year: '1y',
|
230
|
-
year + 1: '1y',
|
227
|
+
expects = {
|
231
228
|
|
232
|
-
|
233
|
-
|
234
|
-
|
229
|
+
year: ('1y', '1 year'),
|
230
|
+
year + 1: ('1y', '1 year'),
|
231
|
+
year - 1: (
|
232
|
+
'12mon4d23h59m',
|
233
|
+
'12 months, 4 days'),
|
234
|
+
|
235
|
+
quarter: ('3mon', '3 months'),
|
236
|
+
quarter + 1: ('3mon', '3 months'),
|
237
|
+
quarter - 1: (
|
238
|
+
'2mon4w1d23h59m',
|
239
|
+
'2 months, 4 weeks'),
|
240
|
+
|
241
|
+
month: ('1mon', '1 month'),
|
242
|
+
month + 1: ('1mon', '1 month'),
|
243
|
+
month - 1: (
|
244
|
+
'4w1d23h59m',
|
245
|
+
'4 weeks, 1 day'),
|
246
|
+
|
247
|
+
week: ('1w', '1 week'),
|
248
|
+
week + 1: ('1w', '1 week'),
|
249
|
+
week - 1: (
|
250
|
+
'6d23h59m',
|
251
|
+
'6 days, 23 hours'),
|
252
|
+
|
253
|
+
day: ('1d', '1 day'),
|
254
|
+
day + 1: ('1d', '1 day'),
|
255
|
+
day - 1: (
|
256
|
+
'23h59m',
|
257
|
+
'23 hours, 59 minutes'),
|
258
|
+
|
259
|
+
hour: ('1h', '1 hour'),
|
260
|
+
hour + 1: ('1h', '1 hour'),
|
261
|
+
hour - 1: ('59m', '59 minutes'),
|
262
|
+
|
263
|
+
second: ('1m', '1 minute'),
|
264
|
+
second + 1: ('1m', '1 minute'),
|
265
|
+
second - 1: ('59s', 'just now')}
|
235
266
|
|
236
|
-
month - 1: '4w1d23h59m',
|
237
|
-
month: '1mon',
|
238
|
-
month + 1: '1mon',
|
239
267
|
|
240
|
-
|
241
|
-
week: '1w',
|
242
|
-
week + 1: '1w',
|
268
|
+
for source, expect in expects.items():
|
243
269
|
|
244
|
-
|
245
|
-
|
246
|
-
|
270
|
+
durated = duration(
|
271
|
+
seconds=source,
|
272
|
+
compact=True)
|
247
273
|
|
248
|
-
|
249
|
-
hour: '1h',
|
250
|
-
hour + 1: '1h',
|
274
|
+
assert durated == expect[0]
|
251
275
|
|
252
|
-
|
253
|
-
|
254
|
-
|
276
|
+
durated = duration(
|
277
|
+
seconds=source,
|
278
|
+
compact=False,
|
279
|
+
maximum=2)
|
255
280
|
|
256
|
-
|
257
|
-
assert duration(source) == expect
|
281
|
+
assert durated == expect[1]
|
@@ -0,0 +1 @@
|
|
1
|
+
1.1.1
|
@@ -1,11 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: encommon
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.1.1
|
4
4
|
Summary: Enasis Network Common Library
|
5
5
|
License: MIT
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
7
|
+
Classifier: Programming Language :: Python :: 3.10
|
7
8
|
Classifier: Programming Language :: Python :: 3.11
|
8
|
-
Requires-Python: >=3.
|
9
|
+
Requires-Python: >=3.10
|
9
10
|
Description-Content-Type: text/markdown
|
10
11
|
License-File: LICENSE
|
11
12
|
Requires-Dist: croniter
|
@@ -19,7 +20,8 @@ Requires-Dist: snaptime
|
|
19
20
|
[](https://github.com/enasisnetwork/encommon/actions/workflows/build.yml)
|
20
21
|
[](https://encommon.readthedocs.io/en/latest/?badge=latest)
|
21
22
|
|
22
|
-
Common classes and functions used in various public and private projects for
|
23
|
+
Common classes and functions used in various public and private projects for
|
24
|
+
[Enasis Network](https://github.com/enasisnetwork).
|
23
25
|
|
24
26
|
## Installing the package
|
25
27
|
```
|
@@ -28,8 +30,8 @@ pip install encommon
|
|
28
30
|
|
29
31
|
## Documentation
|
30
32
|
Documentation can be found on [Read the Docs](https://encommon.readthedocs.io).
|
31
|
-
|
32
|
-
|
33
|
+
If you venture into the sections below you will be able to use the `sphinx`
|
34
|
+
recipe to build the documention in `docs/html` for local consumption.
|
33
35
|
|
34
36
|
## Quick start for local development
|
35
37
|
Start by cloning the repository to your local machine.
|
@@ -42,7 +44,8 @@ make -s venv-create
|
|
42
44
|
```
|
43
45
|
|
44
46
|
### Execute the linters and tests
|
45
|
-
The comprehensive approach is to use the `check` recipe. This will stop on any
|
47
|
+
The comprehensive approach is to use the `check` recipe. This will stop on any
|
48
|
+
failure that is encountered.
|
46
49
|
```
|
47
50
|
make -s check
|
48
51
|
```
|
@@ -55,3 +58,13 @@ information found in the `htmlcov` folder in the root of the project.
|
|
55
58
|
```
|
56
59
|
make -s pytest
|
57
60
|
```
|
61
|
+
|
62
|
+
## Future features and subpackages
|
63
|
+
|
64
|
+
### `netdom` subpackage
|
65
|
+
This package will include class objects for handling network addresses and
|
66
|
+
other functions to assist with validating and normalizing domain names.
|
67
|
+
|
68
|
+
### `formats` subpackage
|
69
|
+
This package will include class objects to help with dealing with verious
|
70
|
+
formats of data. These formats will include Jinja2, CSV, and HTML.
|
@@ -12,9 +12,10 @@ license.text = "MIT"
|
|
12
12
|
|
13
13
|
classifiers = [
|
14
14
|
"Programming Language :: Python :: 3",
|
15
|
+
"Programming Language :: Python :: 3.10",
|
15
16
|
"Programming Language :: Python :: 3.11"]
|
16
17
|
|
17
|
-
requires-python = ">= 3.
|
18
|
+
requires-python = ">= 3.10"
|
18
19
|
|
19
20
|
dynamic = ["version", "dependencies"]
|
20
21
|
|
@@ -1 +0,0 @@
|
|
1
|
-
1.0.1
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|