Skip to main content

language license coverage

Description

This module is designed to relief and simplify interaction of your python modules with the file system.

Installation

python setup.py install

or

pip install -e .

or

pip install fs-manager

How to use

For example, you can inherit your class from FSManager class

from fs_manager import FSManager

class Foo(FSManager, ...):
  FSManager.__init__(self, base_path="/some/base", mode=0o744, temporary=True)
    ...

Or you can just use it as an object

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm:
  fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True)
  fsm.cd("tom")
  fsm.mkdir("tom_dir")
  fsm.mkfile("jerry", "jerry_file", 0o644, True)
  fsm.ls()
  fsm.up()
  fsm.ls()
  fsm.rm("tom")

Save what you did

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm:
  fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True)
  fsm.cd("tom")
  fsm.mkdir("tom_dir")
  fsm.mkfile("jerry", "jerry_file", 0o644, True)
  fsm.ls()
  fsm.save_all()

...
shutil.copy("/tmp/base/.fs-structure-full.json", "/tmp/another_base/.fs-structure-full.json")
...

with FSManager(base_path="/tmp/another_base", mode=0o744, temporary=True) as fsm:
  fsm.load_all()

Structure will be saved at root to “.fs-structure-full.json”. But structure saves automatically when temporary=False. So if you initialize from the same directory, structure loads anyway.

Initialize you fs-manager from the directory on your disk

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm:
  fsm.snappy(root_binded=True)
  fsm.cd("some/path")

Thus, if root_binded=True your structure will be initialized from one root. In other words, you’ll be able to cd right from the root fs-manager object.

Also you can verify hashsum of files under any prefix like that

from fs_manager import FSManager

with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm:
  fsm.snappy(root_binded=True)
  fsm.cd("some/path")
  fsm.save_hashsums("sha1")
  ...
  mismatches = fsm.check_hashsums(type="sha1", log_warnings=False)

There is much more inside :)

Metadata

Release files for fs-manager 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fs-manager 0.3.0
File Size Uploaded Provenance
fs-manager-0.3.0.zip 21.8 kB Without provenance Details

Release files / fs-manager-0.3.0.zip

Download URL fs-manager-0.3.0.zip
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
95220c3ddf1a1769513830d58b907681cf7bdb8509b9355a2edf19679088e937
BLAKE2b-256 checksum
How to use checksums
9e79e94e3975b539a244708dc8d73d3dd2a60046bc79f14681591e33f10e20d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for fs-manager 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page