semvec/pypi-packages huggingface dataset:
flatwhite 0.4.0
A package for validating formats and handling files.
License: MIT

# flatwhite

## Overview

This project contains several modules designed to handle tasks such as file handling, format validation, and project structure creation. Below is a detailed description of each module and their respective functions.

## Modules and Functions

### `file_handler.py`

This module provides functions to manage files, including organizing and deleting them based on file types or extensions.

- **`handle_files(directory, action='organize', types=None, additional_ext=None)`**
  - **Description:** Organizes or deletes files in a directory based on their types or additional extensions.
  - **Parameters:**
    - `directory (str)`: Path of the directory to process.
    - `action (str)`: Action to perform ('organize' or 'delete'). Default is 'organize'.
    - `types (list)`: List of file types to organize or delete (e.g., `['pics', 'sounds', 'docs']`).
    - `additional_ext (str)`: Additional file extensions to include, provided as a comma-separated string.
  - **Returns:** None.

- **`list_directory_structure(root_dir, indent_level=0)`**
  - **Description:** Recursively lists the directory structure starting from the root directory.
  - **Parameters:**
    - `root_dir (str)`: The root directory to start listing from.
    - `indent_level (int)`: The current indentation level for pretty printing. Default is 0.
  - **Returns:** None.

### `format_validator.py`

This module contains a function to validate different formats such as email, phone number, password, and custom regex patterns.

- **`validate_input(input_value, validate_type, regex_pattern=None)`**
  - **Description:** Validates an input based on the specified type (email, phone, password, or custom regex).
  - **Parameters:**
    - `input_value (str)`: The input to validate.
    - `validate_type (str)`: The type of validation ('email', 'phone', 'password', 'regex').
    - `regex_pattern (str)`: Custom regex pattern to use if `validate_type` is 'regex'.
  - **Returns:** `bool`: Returns `True` if valid, otherwise `False`.

### `project_structure.py`

This module helps in creating basic project folder structures based on project type.

- **`create_project_structure(project_type='web')`**
  - **Description:** Creates a basic folder and file structure for a web project.
  - **Parameters:**
    - `project_type (str)`: The type of project. Default is 'web'.
  - **Returns:** None.

## Usage

Here are examples showing how to use the modules and their respective functions.

```python
from flatwhite import create_project_structure, validate_input, handle_files

# Example usage for creating a web project structure
create_project_structure('web')

# Example usage for validating an email
is_valid_email = validate_input('example@example.com', validate_type='email')

# Example usage for organizing files in a directory
handle_files('/path/to/directory', action='organize', types=['pics', 'docs'])
mvvm-lib 0.3.0
A Python Package for Model-View-ViewModel pattern
License: MIT
Requires Python: <4.0,>=3.10

# mvvm-lib

**Version:** 0.2.0  
**Author:** Sergey Yakubov (<yakubovs@ornl.gov>)  
**Organization:** Oak Ridge National Laboratory (ORNL)  
**License:** MIT License  

---

## Overview

`mvvm-lib` is a Python package designed to simplify the implementation of the Model-View-ViewModel (MVVM) pattern. 
This library provides tools and utilities that help in building clean, scalable, and maintainable GUI applications using MVVM architecture in Python.
It currently supports pyqt6, [Trame](https://github.com/Kitware/trame) and [Panel](https://github.com/holoviz/panel) GUI frameworks.


## Installation

You can install the package using pip:

```bash
pip install mvvm-lib
```

which will install the default Trame framework

or specify other frameworks as needed: 

```bash
pip install mvvm-lib["pyqt6","panel"]
```

## Contributing

Contributions are welcome! Please contact the author for more details.

## License

This project is licensed under the MIT License.