Skip to main content

A tool to help create directories for data science project

Project description

FileTree

pip install file-tree-ds

Description

Extension of treelib to provide handy utilities for making directories with ML/data science experiments in mind. Two ways of creating trees

  1. 'node view' this has fine control of appending nodes to create a tree
  2. 'product view' this includes list of lists - each list is created in sublevel of element of higher level list (termed product tree). For example if inputting a list of lists [[a,b],[C,D]] we would expect the following tree
root
├── a
│   ├── C
│   └── D
└── b
    ├── C
    └── D

The latter may for example capture different values of tuning parameters that are then organised into a tree hierarchy.

The package can create directories to disk after designing the tree. It is then possible to filter paths based on keywords. The user may wish to, for example, organise higher level directories according to a timestamp.

Additional details

Tree data structure recap:

  1. Each node is assigned a unique identifier. Used when adding a child node to a parent.
  2. Node data -- in this case carrying the name of a folder -- is stored in the node tag property

See https://treelib.readthedocs.io/en/latest/ for more details.

Simple example

The following provides an example of the 'node view'.

from FileTree.FileTree import FileTree

tree = FileTree()
n1 = tree.create_node('node1',identifier='1')
n2 = tree.create_node('node2',identifier='2', parent='1')
n3 = tree.create_node('node3',identifier='3', parent='1')
node = tree.create_node('node4',identifier='4',parent='3')

tree.show()

print(tree.path_search('node2',assert_on_disk=False)) 
print(tree.path_search('node4',assert_on_disk=False))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

file-tree-ds-1.0.6.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

file_tree_ds-1.0.6-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page