FileHiker 0.4.3__tar.gz → 0.4.5__tar.gz

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.
Files changed (35) hide show
  1. {filehiker-0.4.3 → filehiker-0.4.5}/PKG-INFO +14 -17
  2. {filehiker-0.4.3 → filehiker-0.4.5}/README.md +13 -16
  3. {filehiker-0.4.3 → filehiker-0.4.5}/pyproject.toml +1 -1
  4. {filehiker-0.4.3 → filehiker-0.4.5}/src/FileHiker.egg-info/PKG-INFO +14 -17
  5. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/__init__.py +3 -3
  6. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/filehiker.py +4 -4
  7. {filehiker-0.4.3 → filehiker-0.4.5}/license.txt +0 -0
  8. {filehiker-0.4.3 → filehiker-0.4.5}/setup.cfg +0 -0
  9. {filehiker-0.4.3 → filehiker-0.4.5}/src/FileHiker.egg-info/SOURCES.txt +0 -0
  10. {filehiker-0.4.3 → filehiker-0.4.5}/src/FileHiker.egg-info/dependency_links.txt +0 -0
  11. {filehiker-0.4.3 → filehiker-0.4.5}/src/FileHiker.egg-info/top_level.txt +0 -0
  12. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/__main__.py +0 -0
  13. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/20260806o1211.sorted.txt +0 -0
  14. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/20260806o1213.invert.py +0 -0
  15. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/20260806o1215.inverted.txt +0 -0
  16. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/README.md +0 -0
  17. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/^^file-to-ignore^^.txt +0 -0
  18. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/^^folder-to-ignore^^/more123.txt +0 -0
  19. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_2/file_01_abc.txt +0 -0
  20. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_2b.txt +0 -0
  21. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_3/dir_31/dir_311/^^dir_3111^^/file_03_more.txt +0 -0
  22. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_3/dir_31/dir_311/dir_3113/file_04_bcd.txt +0 -0
  23. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_3/dir_31/file_02_abc.txt +0 -0
  24. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_4.txt +0 -0
  25. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_51/dir_511/dir_5111/file_08_k.txt +0 -0
  26. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_51/dir_511/dir_5111/file_10_m.txt +0 -0
  27. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_51/dir_511/dir_5111/file_11_n.txt +0 -0
  28. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_52/dir_521/dir_5212/file_08_g.txt +0 -0
  29. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_52/file_07_c.txt +0 -0
  30. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_53/dir_531/dir_5311/dir_53111/file_12_x.txt +0 -0
  31. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_53/dir_531/dir_5311/dir_53111/file_13_y.txt +0 -0
  32. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/dir_53/dir_531/dir_5311/dir_53111/file_14_z.txt +0 -0
  33. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/file_05_a.txt +0 -0
  34. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/file_06_h.txt +0 -0
  35. {filehiker-0.4.3 → filehiker-0.4.5}/src/filehiker/cases/dir_5/file_07_p.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FileHiker
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: File system walker — Find the right or the left neighbour of a path inside a specified base folder
5
5
  Author: Norbert C. Maier
6
6
  License-Expression: BSD-3-Clause
@@ -30,7 +30,7 @@ Dynamic: license-file
30
30
  <a href="./~notes.md">Notes</a>
31
31
  </div>
32
32
 
33
- # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.3</sup>
33
+ # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.5</sup>
34
34
 
35
35
  <!-- PyPi.org renders the Markdown links literally, means wrong (see v0.3.9.2). So skip them for now -->
36
36
  <!-- div markdown="1" class="lmp-box-page-sections">
@@ -50,18 +50,18 @@ Below:
50
50
  | | |
51
51
  | --- | --- |
52
52
  | **Slogan** | **Directory crawler** Python package to find any file system item´s neighbour, one by one, walking either forward or backward |
53
- | **Description** | FileHiker is a Python package to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
54
- | **Particularities** | • It walks **forward and backward** equally and symmetrically • It is suited for **huge file system hierarchies** due to it´s memory saving behaviour inspecting only one directory single-level at a time |
53
+ | **Description** | FileHiker is a **Python package** to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
54
+ | **Particularities** | • It is suited for **huge file system hierarchies**, due to it´s memory saving behaviour, by using only one single-level listing in memory at a time<br>• It walks **forward and backward** equally and symmetrically<br>• If you interrupt the walking, you can continue at the same spot later |
55
+ | **Motivation** | I want walk a drive, file by file. Doing it a **directory listing is no option**, due to the amount of files. So I wrote the FileHiker library. By the way — It takes about 20 hours for 2 million files on a SSD drive, including some payload task per file, like calculating the file hash. |
55
56
  | **License** | BSD 3-Clause, see [license.txt](./license.txt) |
56
57
  | **Copyright** | © 2025 – 2026 Norbert C. Maier |
57
- | **System** | Written and tested with Python 3.13 on Windows. Should also work on Linux/Mac, just this is yet to be tested |
58
+ | **System** | Written and tested with Python 3.13 on Windows. It should also work on Linux and Mac, just this is yet to be tested |
58
59
  | **Dependencies** | None |
59
- | **Canonical&nbsp;location** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
60
+ | **Repository** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
60
61
  | **Documentation** | [normai.gitlab.io/filehikerdev](https://normai.gitlab.io/filehikerdev)
61
62
  | **Distribution** | [pypi.org/project/filehiker](https://pypi.org/project/filehiker/)
62
- | **Motivation** | I wanted walk a drive file by file to build a database of the files. It takes about 20 hours for 2 million files, including some little payload per file, like calculating the file hash. |
63
- | **Missing features** | Symlink handling |
64
- | **Development Status** | Applicable |
63
+ | **Missing&nbsp;features** | Symlink handling |
64
+ | **Development&nbsp;Status** | Applicable |
65
65
 
66
66
  ## 2. Installation <sup><a href="#id20260725o1013" id="id20260725o1013">🔗</a></sup>
67
67
 
@@ -163,18 +163,15 @@ See documentation at …
163
163
  Here is a minimalistic example how to use FileHiker:
164
164
 
165
165
  <pre>
166
- import filehiker
167
- fhk = filehiker.FileHiker() # Since no base folder is defined, the CWD is used as such
168
- offset = '' # No offset means the target is the base folder itself
169
- neighbour = fhk.find_neighbour(offset) # The right neighbour of the base folder is it´s first entry
170
- print(f'Right neighbour = {neighbour}' # Shows the found first entry in the base folder
166
+ import filehiker
167
+ fhk = filehiker.FileHiker() # No base folder given, so use the CWD
168
+ neighbour = fhk.find_neighbour('') # No offset given, so target is base folder
169
+ print(f'Right neighbour = {neighbour}' # Right neighbour is base folder´s first entry
171
170
  </pre>
172
171
 
173
172
  ## 6. Development Folder Structure <sup><a href="#id20250816o0849" id="id20250816o0849">🔗</a></sup>
174
173
 
175
- The FileHiker package uses the **'*Src-Layout*' folder structure**, one of three common package layout options.
176
- <del>Find more about package folder structures in the ZanaFacils Notes file, subchapter
177
- [About Python Package Layouts](./../zanafacilsdev/zanafacils/docs/notes.md#id20260631o0723).</del>
174
+ The FileHiker package uses the **'*Src-Layout*' folder structure**, one of several common package layout options.
178
175
 
179
176
  <pre style="font-size: 1.1em; line-height: 1.18em !important;">
180
177
  <b>filehikerdev</b>
@@ -14,7 +14,7 @@
14
14
  <a href="./~notes.md">Notes</a>
15
15
  </div>
16
16
 
17
- # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.3</sup>
17
+ # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.5</sup>
18
18
 
19
19
  <!-- PyPi.org renders the Markdown links literally, means wrong (see v0.3.9.2). So skip them for now -->
20
20
  <!-- div markdown="1" class="lmp-box-page-sections">
@@ -34,18 +34,18 @@ Below:
34
34
  | | |
35
35
  | --- | --- |
36
36
  | **Slogan** | **Directory crawler** Python package to find any file system item´s neighbour, one by one, walking either forward or backward |
37
- | **Description** | FileHiker is a Python package to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
38
- | **Particularities** | • It walks **forward and backward** equally and symmetrically • It is suited for **huge file system hierarchies** due to it´s memory saving behaviour inspecting only one directory single-level at a time |
37
+ | **Description** | FileHiker is a **Python package** to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
38
+ | **Particularities** | • It is suited for **huge file system hierarchies**, due to it´s memory saving behaviour, by using only one single-level listing in memory at a time<br>• It walks **forward and backward** equally and symmetrically<br>• If you interrupt the walking, you can continue at the same spot later |
39
+ | **Motivation** | I want walk a drive, file by file. Doing it a **directory listing is no option**, due to the amount of files. So I wrote the FileHiker library. By the way — It takes about 20 hours for 2 million files on a SSD drive, including some payload task per file, like calculating the file hash. |
39
40
  | **License** | BSD 3-Clause, see [license.txt](./license.txt) |
40
41
  | **Copyright** | © 2025 – 2026 Norbert C. Maier |
41
- | **System** | Written and tested with Python 3.13 on Windows. Should also work on Linux/Mac, just this is yet to be tested |
42
+ | **System** | Written and tested with Python 3.13 on Windows. It should also work on Linux and Mac, just this is yet to be tested |
42
43
  | **Dependencies** | None |
43
- | **Canonical&nbsp;location** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
44
+ | **Repository** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
44
45
  | **Documentation** | [normai.gitlab.io/filehikerdev](https://normai.gitlab.io/filehikerdev)
45
46
  | **Distribution** | [pypi.org/project/filehiker](https://pypi.org/project/filehiker/)
46
- | **Motivation** | I wanted walk a drive file by file to build a database of the files. It takes about 20 hours for 2 million files, including some little payload per file, like calculating the file hash. |
47
- | **Missing features** | Symlink handling |
48
- | **Development Status** | Applicable |
47
+ | **Missing&nbsp;features** | Symlink handling |
48
+ | **Development&nbsp;Status** | Applicable |
49
49
 
50
50
  ## 2. Installation <sup><a href="#id20260725o1013" id="id20260725o1013">🔗</a></sup>
51
51
 
@@ -147,18 +147,15 @@ See documentation at …
147
147
  Here is a minimalistic example how to use FileHiker:
148
148
 
149
149
  <pre>
150
- import filehiker
151
- fhk = filehiker.FileHiker() # Since no base folder is defined, the CWD is used as such
152
- offset = '' # No offset means the target is the base folder itself
153
- neighbour = fhk.find_neighbour(offset) # The right neighbour of the base folder is it´s first entry
154
- print(f'Right neighbour = {neighbour}' # Shows the found first entry in the base folder
150
+ import filehiker
151
+ fhk = filehiker.FileHiker() # No base folder given, so use the CWD
152
+ neighbour = fhk.find_neighbour('') # No offset given, so target is base folder
153
+ print(f'Right neighbour = {neighbour}' # Right neighbour is base folder´s first entry
155
154
  </pre>
156
155
 
157
156
  ## 6. Development Folder Structure <sup><a href="#id20250816o0849" id="id20250816o0849">🔗</a></sup>
158
157
 
159
- The FileHiker package uses the **'*Src-Layout*' folder structure**, one of three common package layout options.
160
- <del>Find more about package folder structures in the ZanaFacils Notes file, subchapter
161
- [About Python Package Layouts](./../zanafacilsdev/zanafacils/docs/notes.md#id20260631o0723).</del>
158
+ The FileHiker package uses the **'*Src-Layout*' folder structure**, one of several common package layout options.
162
159
 
163
160
  <pre style="font-size: 1.1em; line-height: 1.18em !important;">
164
161
  <b>filehikerdev</b>
@@ -16,7 +16,7 @@ license = "BSD-3-Clause"
16
16
  name = "FileHiker"
17
17
  readme = "README.md"
18
18
  requires-python = ">= 3.13"
19
- version = "0.4.3"
19
+ version = "0.4.5"
20
20
 
21
21
  [project.urls]
22
22
  Homepage = "https://gitlab.com/normai/filehiker"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FileHiker
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: File system walker — Find the right or the left neighbour of a path inside a specified base folder
5
5
  Author: Norbert C. Maier
6
6
  License-Expression: BSD-3-Clause
@@ -30,7 +30,7 @@ Dynamic: license-file
30
30
  <a href="./~notes.md">Notes</a>
31
31
  </div>
32
32
 
33
- # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.3</sup>
33
+ # FileHikerDev <span class="lmp-title-type">Project</span> <sup>v0.4.5</sup>
34
34
 
35
35
  <!-- PyPi.org renders the Markdown links literally, means wrong (see v0.3.9.2). So skip them for now -->
36
36
  <!-- div markdown="1" class="lmp-box-page-sections">
@@ -50,18 +50,18 @@ Below:
50
50
  | | |
51
51
  | --- | --- |
52
52
  | **Slogan** | **Directory crawler** Python package to find any file system item´s neighbour, one by one, walking either forward or backward |
53
- | **Description** | FileHiker is a Python package to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
54
- | **Particularities** | • It walks **forward and backward** equally and symmetrically • It is suited for **huge file system hierarchies** due to it´s memory saving behaviour inspecting only one directory single-level at a time |
53
+ | **Description** | FileHiker is a **Python package** to find the right or left neighbour for any filesystem item inside a given 'base folder'. It finds either the next or the previous neighbour, depending on a direction flag. If the given target does not exist, it tries to find a sensible neighbour anyway. |
54
+ | **Particularities** | • It is suited for **huge file system hierarchies**, due to it´s memory saving behaviour, by using only one single-level listing in memory at a time<br>• It walks **forward and backward** equally and symmetrically<br>• If you interrupt the walking, you can continue at the same spot later |
55
+ | **Motivation** | I want walk a drive, file by file. Doing it a **directory listing is no option**, due to the amount of files. So I wrote the FileHiker library. By the way — It takes about 20 hours for 2 million files on a SSD drive, including some payload task per file, like calculating the file hash. |
55
56
  | **License** | BSD 3-Clause, see [license.txt](./license.txt) |
56
57
  | **Copyright** | © 2025 – 2026 Norbert C. Maier |
57
- | **System** | Written and tested with Python 3.13 on Windows. Should also work on Linux/Mac, just this is yet to be tested |
58
+ | **System** | Written and tested with Python 3.13 on Windows. It should also work on Linux and Mac, just this is yet to be tested |
58
59
  | **Dependencies** | None |
59
- | **Canonical&nbsp;location** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
60
+ | **Repository** | [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev) |
60
61
  | **Documentation** | [normai.gitlab.io/filehikerdev](https://normai.gitlab.io/filehikerdev)
61
62
  | **Distribution** | [pypi.org/project/filehiker](https://pypi.org/project/filehiker/)
62
- | **Motivation** | I wanted walk a drive file by file to build a database of the files. It takes about 20 hours for 2 million files, including some little payload per file, like calculating the file hash. |
63
- | **Missing features** | Symlink handling |
64
- | **Development Status** | Applicable |
63
+ | **Missing&nbsp;features** | Symlink handling |
64
+ | **Development&nbsp;Status** | Applicable |
65
65
 
66
66
  ## 2. Installation <sup><a href="#id20260725o1013" id="id20260725o1013">🔗</a></sup>
67
67
 
@@ -163,18 +163,15 @@ See documentation at …
163
163
  Here is a minimalistic example how to use FileHiker:
164
164
 
165
165
  <pre>
166
- import filehiker
167
- fhk = filehiker.FileHiker() # Since no base folder is defined, the CWD is used as such
168
- offset = '' # No offset means the target is the base folder itself
169
- neighbour = fhk.find_neighbour(offset) # The right neighbour of the base folder is it´s first entry
170
- print(f'Right neighbour = {neighbour}' # Shows the found first entry in the base folder
166
+ import filehiker
167
+ fhk = filehiker.FileHiker() # No base folder given, so use the CWD
168
+ neighbour = fhk.find_neighbour('') # No offset given, so target is base folder
169
+ print(f'Right neighbour = {neighbour}' # Right neighbour is base folder´s first entry
171
170
  </pre>
172
171
 
173
172
  ## 6. Development Folder Structure <sup><a href="#id20250816o0849" id="id20250816o0849">🔗</a></sup>
174
173
 
175
- The FileHiker package uses the **'*Src-Layout*' folder structure**, one of three common package layout options.
176
- <del>Find more about package folder structures in the ZanaFacils Notes file, subchapter
177
- [About Python Package Layouts](./../zanafacilsdev/zanafacils/docs/notes.md#id20260631o0723).</del>
174
+ The FileHiker package uses the **'*Src-Layout*' folder structure**, one of several common package layout options.
178
175
 
179
176
  <pre style="font-size: 1.1em; line-height: 1.18em !important;">
180
177
  <b>filehikerdev</b>
@@ -1,7 +1,7 @@
1
1
  # file 20250406°0715 filehiker/__init__.py
2
2
 
3
3
  '''
4
- FileHiker <sup>v0.4.3</sup> is a **directory crawler** Python package to find the right or the left neighbour
4
+ FileHiker <sup>v0.4.5</sup> is a **directory crawler** finding the right or the left neighbour
5
5
  of a given target path inside a given base directory by walking either forward or backward
6
6
 
7
7
  It is intended for developers who want crawl huge file system hierarchies
@@ -13,8 +13,8 @@ A minimalistic example how to use FileHiker looks like follows:
13
13
 
14
14
  ```
15
15
  import filehiker
16
- fhk = filehiker.FileHiker() # No base folder defined, so use the CWD
17
- neighbour = fhk.find_neighbour('') # No offset, so target is base folder itself
16
+ fhk = filehiker.FileHiker() # No base folder given, so use the CWD
17
+ neighbour = fhk.find_neighbour('') # No offset given, so target is base folder
18
18
  print(f'Right neighbour = {neighbour}' # Right neighbour is base folder´s first entry ```
19
19
 
20
20
  Repository : [gitlab.com/normai/filehikerdev](https://gitlab.com/normai/filehikerdev)
@@ -21,7 +21,7 @@ import typing # Option
21
21
  # \remark Delete <del>Rename</del> class IrunFind to FileHiker [chg 20260810°0811]
22
22
  class FileHiker :
23
23
 
24
- ___s_VERSION = '0.4.3'
24
+ ___s_VERSION = '0.4.5'
25
25
 
26
26
  # () Provide default ignore list [var 20260823°0821]
27
27
  __lst_IGNORECWS_DEFAULT= [ '.git'
@@ -137,8 +137,8 @@ class FileHiker :
137
137
  + f'\n • Ignore list = {self.__lstIgnorePats}'
138
138
  print(sMsg, flush = True)
139
139
 
140
- # note 20260811°1011 'About BasePath determination' — Draft, possibly not really followed!
141
- # Selftest with parameter 'selftest' is just a proposal, not (yet?) implemented
140
+ # note 20260811°1011 'About the BasePath determination' — Draft, possibly not realistic!
141
+ # Selftest with parameter 'selftest' is just a proposal, is possibly not yet(?) implemented
142
142
  # +——————————————————————+————————————————————+———————————————————————+————————————————————+
143
143
  # | | Empty basepath | Relative basepath | Absolute basepath |
144
144
  # +——————————————————————+————————————————————+———————————————————————+————————————————————+
@@ -724,7 +724,7 @@ class FileHiker :
724
724
 
725
725
  Parameters:
726
726
  - *`self` — Internal positional parameter, the object itself, not given by the caller.*
727
- - `s_target_path — Mandatory positional string — The target for which the neighbur is wanted.
727
+ - `s_target_path` — Mandatory positional string — The target for which the neighbur is wanted.
728
728
  If it is an empty string, the target is the base folder itself.
729
729
 
730
730
  *Please note — The **`self` will no more be mentioned** in the following documentation.*
File without changes
File without changes