Work on docs and readability.
[python_utils.git] / NOTICE
1
2 Some code in this library came from other sources.  As required by
3 clause 4 of the Apache 2.0 License and clause 3 of the PSF License,
4 this NOTICE file describes changes Scott Gasch made to any preexisting
5 code regardless its original License.  All such original code was used
6 in a manner compliant with its original License.  This file also
7 contains URLs pointing at the source of the forked code.
8
9   1. As noted in string_utils.py, that file is a fork of work by
10   Davide Zanotti.  Davide's original work is here:
11
12   https://github.com/daveoncode/python-string-utils/tree/master/string_utils
13
14   David's code was released under the MIT license.
15
16   Scott's modifications include:
17     + Added these routines: strip_escape_sequences,
18       suffix_string_to_number, number_to_suffix_string, extract_ip_v4,
19       extract_ip_v6, extract_mac_address, extract_ip, to_bool,
20       to_date, valid_date, to_datetime, valid_datetime, squeeze,
21       indent, dedent, sprintf, strip_ansi_sequences, SprintfStdout,
22       capitalize_first_letter, it_they, is_are, pluralize,
23       make_contractions, thify, ngrams, ngrams_presplit, bigrams,
24       trigrams, shuffle_columns_into_list, shuffle_columns_into_dict,
25       interpolate_using_dict, to_ascii, to_base64, is_base64, from_base64,
26       chunk, to_bitstring, is_bitstring, from_bitstring, ip_v4_sort_key,
27       path_ancestors_before_descendants_sort_key, replace_all, and
28       replace_nth.
29     + Added type annotations everywhere,
30     + Wrote doctests everywhere,
31     + Wrote a supplimental unittest (tests/string_utils_test.py),
32     + Added logging.
33
34   2. As noted in shared_dict.py, that file is a fork of work by
35   LuizaLabs and available here:
36
37   https://github.com/luizalabs/shared-memory-dict/blob/main/shared_memory_dict/dict.py
38
39   The original work was released under the MIT license.
40
41   Scott's modifications include:
42     + Adding a unittest (tests/shared_dict_test.py),
43     + Minor cleanup and style tweaks,
44     + Added type hints.
45
46   3. The timeout decortator in decorator_utils.py is based on original
47   work published in ActiveState code recipes and covered by the PSF
48   license.  It is from here:
49
50   https://code.activestate.com/recipes/307871-timing-out-function/
51
52   Scott's modifications include:
53     + Adding docs + comments including a doctest unittest,
54     + Minor cleanup and style tweaks,
55     + Added type hints.
56
57   4. tplink_utils.py is based on original work by Lubomir Stroetmann
58   that was released under the Apache 2.0 License:
59
60   https://github.com/softScheck/tplink-smartplug
61
62   Scott's modifications include:
63     + Added the pause functionality,
64     + Added the on/off off/on functionality,
65     + Ported the code to python3,
66     + Added type hints,
67     + Added timeouts / retries,
68     + Added logging.
69
70 Thank you to everyone who makes their code available for reuse by
71 others and contributes to the open source ecosystem.  Scott is
72 especially grateful to the authors of the projects above.  Thank you.
73
74 Any code not mentioned in this NOTICE file is work by Scott Gasch, is
75 copyrighted by him, and is released under the Apache 2.0 license
76 described in the LICENSE file.
77
78 If you make modifications to such code, please comply with the Apache
79 2.0 license by retaining the LICENSE and copyright in your work and by
80 adding your own notices about the changes you made.  See
81 https://www.apache.org/licenses/LICENSE-2.0 for details.