Skip to content

Refactor project into a reusable Python library with CLI, docs, and release workflows#1

Open
DanielArndt0 wants to merge 1 commit intodaviarndt:mainfrom
DanielArndt0:main
Open

Refactor project into a reusable Python library with CLI, docs, and release workflows#1
DanielArndt0 wants to merge 1 commit intodaviarndt:mainfrom
DanielArndt0:main

Conversation

@DanielArndt0
Copy link
Copy Markdown

Summary

This pull request restructures the original project into a more reusable and maintainable Python library while preserving its core behavior.

The project now supports both programmatic usage as a library and command-line usage through a dedicated CLI, with improved documentation, examples, and GitHub workflows for CI and release artifact generation.

What changed

Library structure

  • Reorganized the project into a reusable Python package
  • Separated concerns into clearer modules
  • Preserved the original processing flow while making it easier to integrate into other projects

CLI

  • Added a dedicated command-line interface
  • Improved argument organization and usability
  • Added examples and clearer help output

Documentation

  • Added and expanded project documentation
  • Kept the main README.md in PT-BR
  • Added bilingual supporting documentation
  • Documented environment setup, Python version requirements, virtual environment usage, CLI usage, API/library usage, architecture, and CI/CD flow

Examples

  • Added practical examples for:
    • basic usage
    • recursive processing
    • custom regex usage
    • optional MySQL persistence

CI/CD

  • Added CI workflow to run tests and build validation on push and pull requests
  • Added release workflow to generate distribution artifacts and attach them to stable GitHub releases
  • Kept release generation separate from regular commit validation

Why this change

The main goal of this refactor is to make the project easier to use, extend, and review without changing its original purpose.

This update improves:

  • reusability
  • maintainability
  • developer onboarding
  • installation and execution clarity
  • repository readiness for public collaboration

Notes

  • Recommended Python version: 3.10+
  • The CLI can be installed directly from GitHub using pip install "git+https://github.com/DanielArndt0/pydf.git"
  • GitHub Release artifacts are generated for stable releases
  • This PR does not introduce automatic package publishing on every commit

Testing

Validated with:

  • local test execution
  • package build
  • CLI help output
  • example execution flows

@DanielArndt0 DanielArndt0 marked this pull request as draft March 23, 2026 20:13
@DanielArndt0 DanielArndt0 reopened this Mar 25, 2026
@DanielArndt0 DanielArndt0 marked this pull request as ready for review March 25, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant