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