Metadata-Version: 2.4
Name: pysfi
Version: 0.1.17
Summary: Single File commands for Interactive python.
Requires-Python: >=3.8
Requires-Dist: tomli>=2.4.0; python_version < '3.11'
Provides-Extra: all
Requires-Dist: cairosvg>=2.7.1; extra == 'all'
Requires-Dist: ebooklib>=0.18; extra == 'all'
Requires-Dist: markdown>=3.5; extra == 'all'
Requires-Dist: matplotlib>=3.7.5; extra == 'all'
Requires-Dist: mutagen>=1.47.0; extra == 'all'
Requires-Dist: numba>=0.58.1; extra == 'all'
Requires-Dist: numpy>=1.24.4; extra == 'all'
Requires-Dist: odfpy>=1.4.1; extra == 'all'
Requires-Dist: openpyxl>=3.1.0; extra == 'all'
Requires-Dist: pefile>=2024.8.26; extra == 'all'
Requires-Dist: pillow>=10.0.0; extra == 'all'
Requires-Dist: pymupdf>=1.24.11; extra == 'all'
Requires-Dist: pypdf>=3.0.0; extra == 'all'
Requires-Dist: pyside2-stubs>=5.15.2.1.2; extra == 'all'
Requires-Dist: pyside2>=5.15.2.1; extra == 'all'
Requires-Dist: pytesseract>=0.3.10; extra == 'all'
Requires-Dist: python-docx>=1.1.0; extra == 'all'
Requires-Dist: python-pptx>=0.6.21; extra == 'all'
Requires-Dist: pywin32>=311; (sys_platform == 'win32') and extra == 'all'
Requires-Dist: scipy>=1.10.1; extra == 'all'
Requires-Dist: sounddevice>=0.5.5; extra == 'all'
Requires-Dist: soundfile>=0.13.1; extra == 'all'
Requires-Dist: sqlalchemy>=2.0.46; extra == 'all'
Provides-Extra: extra
Requires-Dist: ebooklib>=0.18; extra == 'extra'
Requires-Dist: markdown>=3.5; extra == 'extra'
Requires-Dist: odfpy>=1.4.1; extra == 'extra'
Requires-Dist: pypdf>=3.0.0; extra == 'extra'
Provides-Extra: gui
Requires-Dist: pyside2-stubs>=5.15.2.1.2; extra == 'gui'
Requires-Dist: pyside2>=5.15.2.1; extra == 'gui'
Provides-Extra: multimedia
Requires-Dist: mutagen>=1.47.0; extra == 'multimedia'
Requires-Dist: sounddevice>=0.5.5; extra == 'multimedia'
Requires-Dist: soundfile>=0.13.1; extra == 'multimedia'
Provides-Extra: ocr
Requires-Dist: pillow>=10.0.0; extra == 'ocr'
Requires-Dist: pytesseract>=0.3.10; extra == 'ocr'
Provides-Extra: office
Requires-Dist: openpyxl>=3.1.0; extra == 'office'
Requires-Dist: pymupdf>=1.24.11; extra == 'office'
Requires-Dist: python-docx>=1.1.0; extra == 'office'
Requires-Dist: python-pptx>=0.6.21; extra == 'office'
Requires-Dist: pywin32>=311; (sys_platform == 'win32') and extra == 'office'
Provides-Extra: sci
Requires-Dist: matplotlib>=3.7.5; extra == 'sci'
Requires-Dist: numba>=0.58.1; extra == 'sci'
Requires-Dist: numpy>=1.24.4; extra == 'sci'
Requires-Dist: scipy>=1.10.1; extra == 'sci'
Requires-Dist: sqlalchemy>=2.0.46; extra == 'sci'
Provides-Extra: svg
Requires-Dist: cairosvg>=2.7.1; extra == 'svg'
Provides-Extra: tool
Requires-Dist: pefile>=2024.8.26; extra == 'tool'
Description-Content-Type: text/markdown

# pysfi

Single File commands for Interactive python.

## Overview

pysfi is a Python project that provides single-file command-line utilities, designed to be lightweight and easy-to-use.

## Available Commands

- **alarmclk**: Alarm clock functionality
- **[bumpversion](sfi/bumpversion/README.md)**: Automated version number management tool
- **pyembedinstall**: Embed installation utilities
- **[filedate](sfi/filedate/README.md)**: A file date management tool that normalizes date prefixes in filenames
- **mkp**: Make Python project utilities
- **pyprojectparse**: Project parsing and analysis tools
- **pyloadergen**: Python loader code generation
- **pypack**: Python packaging utilities

## Installation

```bash
# Install using uv (recommended)
uv add pysfi

# Or using pip
pip install pysfi
```

## Development

### Requirements

- Python >= 3.8
- [uv](https://github.com/astral-sh/uv) (recommended) or pip

### Development Dependencies

```bash
uv pip install -e ".[dev]"
```

### Code Standards

The project uses Ruff for code linting and formatting:

```bash
# Check code
ruff check .

# Format code
ruff format .
```

## Project Structure

```bash
pysfi/
├── pyproject.toml          # Main project configuration
├── README.md
└── sfi/
    ├── __init__.py
    ├── alarmclock/         # alarmclk command module
    │   ├── alarmclock.py
    │   ├── pyproject.toml
    │   └── __init__.py
    ├── pyembedinstall/       # pyembedinstall command module
    │   ├── pyembedinstall.py
    │   ├── pyproject.toml
    │   └── __init__.py
    ├── filedate/           # filedate command module
    │   ├── filedate.py
    │   ├── pyproject.toml
    │   ├── README.md       # Detailed documentation
    │   └── __init__.py
    ├── makepython/         # mkp command module
    │   ├── makepython.py
    │   ├── pyproject.toml
    │   └── __init__.py
    ├── pyprojectparse/       # pyprojectparse command module
    │   ├── pyprojectparse.py
    │   ├── pyproject.toml
    │   └── __init__.py
    ├── pyloadergen/        # pyloadergen command module
    │   ├── pyloadergen.py
    │   ├── pyproject.toml
    │   └── __init__.py
    └── pypack/           # pypack command module
        ├── fspacker.py
        └── pyproject.toml
```

## License

MIT License

## Contributing

Issues and Pull Requests are welcome!
