Metadata-Version: 2.4
Name: so-file-system
Version: 0.1.0
Summary: Un sistema de archivos versionado con Copy-on-Write en Python.
Home-page: https://github.com/TuUsuario/so-file-system
Author: TuNombre
Author-email: tunombre@correo.com
Project-URL: Bug Tracker, https://github.com/tuusuario/cow-file-manager/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tqdm
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 📂 cow_file_manager

Sistema de archivos versionado usando la técnica **Copy-On-Write (COW)** en Python. Permite crear, escribir, leer y administrar versiones de archivos de cualquier tipo.

---

## 📅 Instalación

1. Clona o descarga el proyecto.
2. Instala las dependencias:

```bash
pip install -r requirements.txt
```

3. (Opcional) Instala el paquete localmente:

```bash
pip install .
```

---

## 📁 Uso básico

```python
from src.cow_file_manager.cow_file_manager import GestorArchivos

# Inicializar el gestor
gestor = GestorArchivos("miarchivo.bin")

# Crear archivo
gestor.create()

# Escribir datos
gestor.write("Hola mundo versionado!")

# Leer la última versión
gestor.read()

# Listar todas las versiones
gestor.listar_versiones()

# Mostrar uso de memoria
gestor.mostrar_uso_memoria()

# Cerrar archivo
gestor.close()
```


---

## 📊 Características principales

- ✅ Versionado automático de archivos.
- ✅ Escritura en bloques comprimidos (zlib nivel 9).
- ✅ Lectura segura de la última versión.
- ✅ Limpieza de bloques huérfanos.
- ✅ Optimizado para archivos de texto o binarios.

---

## 🔧 Comandos para desarrollo

- Ejecutar todos los tests:

```bash
pytest
```

- Correr ejemplo de uso:

```bash
python example.py
```


---

## 📈 Roadmap futuro (opcional)
- ✨ Soporte para rollback de versiones.
- ✨ Exportar versiones específicas.
- ✨ Mejorar eficiencia de lectura masiva.


---

## 👤 Autor
- Proyecto desarrollado por **TuNombre**.


---

## 📘 Licencia
MIT License. Libre de uso para proyectos personales o comerciales.

---

# 🔗 Contribuciones
¡Las contribuciones son bienvenidas! 🚀

```bash
1. Forkea el repositorio.
2. Crea una nueva rama (git checkout -b feature/nueva-feature).
3. Haz commit de tus cambios (git commit -m 'Agrega nueva feature').
4. Haz push a tu rama (git push origin feature/nueva-feature).
5. Abre un Pull Request.
