Metadata-Version: 2.4
Name: file-crud
Version: 0.2.5
Summary: Simple CRUD operations for file handling in Python
Author: Frank Pineda
Author-email: fpineda11@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: license
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# File Crud

Simple CRUD operations for files and directories in Python.

# Description

file-crud is a lightweight Python package that provides basic Create, Read, Update, and Delete (CRUD) functions for handling files and directories easily. It includes safe operations with error handling and supports nested directories. Perfect for beginners or simple file management tasks.

The package normalizes file and directory paths across different operating systems (Windows, Linux, macOS), ensuring consistent behavior regardless of how paths are written or used.

# Features

Create a new file with content.

Read the content of a file.

Update (append) content to an existing file.

Delete a file safely with error handling.

Create and delete directories, including nested folders.

Optional recursive deletion: remove directories even if they contain files/subfolders.

Copy and move files with optional overwrite protection.

Copy and move directories recursively with optional overwrite.

Cross-platform path normalization to handle differences between operating systems.

# Installation

```bash
pip install file-crud
```

# Usage

```bash
import file_crud as fc #more easy to use

#Create a file

fc.create_file('example.txt', 'Hello, world!') # If you donâ€™t want content, pass None

#Read the file

content = fc.read_file('example.txt')

#Update the file

fc.update_file('example.txt', '\nThis is an added line.') # If no content to add, pass None

## Delete the file

fc.delete_file('example.txt')

## Create a directory (nested paths allowed)

fc.create_directory('my_folder/subfolder')

## Delete a directory (only if empty)

fc.delete_directory('my_folder/subfolder')

## Delete a directory recursively (removes all contents)

fc.delete_directory('my_folder', recursive=True)

## Copy a file (won't overwrite by default)

fc.copy_file('source.txt', 'destination.txt')

## Move a file (won't overwrite by default)

fc.move_file('old_location.txt', 'new_location.txt')

## Copy a directory recursively (won't overwrite by default)

fc.copy_directory('source_folder', 'destination_folder')

## Move a directory recursively (won't overwrite by default)

fc.move_directory('old_folder', 'new_folder')
```

# Notes on recursive deletion and overwrite

delete_directory with recursive=True removes the entire directory and all its contents â€” use with caution.

Copy and move functions accept an overwrite parameter (default False) to control whether existing files/directories get overwritten.

# Path Normalization

All functions internally normalize file and directory paths to ensure compatibility across Windows, Linux, and macOS. This means you can use paths with ~, relative paths, or different slash styles, and they will be handled correctly.

# Logs

## 0.2.5

Description Bugs Fixed.

## 0.2.4

Description new areas.

## 0.2.0

Can copy and move files and directories. New Path Normalization
