FreelanceScripts Logo

FreelanceScripts

Python Starter Toolkit for Freelancers, Debuggers, and Builders

MIT License Python 3.8+ Linux | Mac | WSL

Battle-tested, modular, and educational Python tools for your freelance journey.

Included Tools

Use Cases

Pythonic Concepts

Unique Pythonic Concepts in This Project
Argument parsing
  • Handles command-line arguments and interactive prompts for flexible usage.
  • Uses argparse for flexible CLI usage.
Command-line
  • Handles CLI arguments for flexible script behavior.
Csv and json handling
  • Uses Python's built-in csv and json modules for data conversion.
Docstring extraction and markdown conversion
  • Extracts Python docstrings, preserves formatting, and safely converts HTML tags for markdown.
Dynamic documentation
  • Automates the generation of a combined README by reading and summarizing other README files.
  • Automates updates to README files based on project state.
Educational comments
  • Explains each step for learning purposes.
Error handling
  • Checks for file existence and handles missing/invalid files gracefully.
  • Provides robust error messages and suggestions.
Exclusion by marker file
  • Skips directories containing a .excluded file.
Exclusion logic
  • Shows how to exclude files/folders based on patterns and marker files (e.g., .excluded).
File and directory traversal
  • Uses pathlib.Path and rglob to recursively walk directories and process files.
File I/O
  • Reading and writing files using open, with context managers for safety.
File listing
  • Lists files by extension using pathlib and glob.
File parsing
  • Reads and updates Markdown files programmatically.
Logging
  • Logs activity to both terminal and file for auditing.
Modular task system
  • Uses classes and inheritance to enable extensible task management.
Subprocess automation
  • Runs other scripts automatically in response to file events.

Project Structure

                    ├── README.md
                    ├── csv_json_converter/
                    │   ├── csv_to_json_converter_tool.py
                    │   ├── example.csv
                    │   ├── example.json
                    │   └── README.md
                    ├── debug_demo/
                    │   ├── README.md
                    │   ├── scraper_bugfix_tool.py
                    │   └── scraper_buggy_tool.py
                    ├── executioner/
                    │   ├── executioner_tool.py
                    │   └── README.md
                    ├── package_toolkit/
                    │   ├── package_toolkit_tool.py
                    │   └── README.md
                    ├── readme_updater/
                    │   ├── readme_updater_tool.py
                    │   └── README.md
                    ├── scraper/
                    │   ├── README.md
                    │   └── simple_scraper_tool.py
                    ├── watch_automation/
                    │   ├── README.md
                    │   ├── watch_automation_tool.py
                    │   └── watch_automation.log