Conversation
Expand clevertools into a more structured utility package with a configurable public API for masking, plain text file IO, and logger setup. Add global runtime configuration support, including shared error handling modes and logger default overrides, to make package behavior easier to customize across projects. Introduce dedicated modules for configuration, logger bootstrapping, logger retrieval, plain text read/write helpers, static defaults, and centralized error handling policy. Refine the masking implementation with stronger input validation, customizable visible prefix and suffix lengths, and support for custom mask characters. Rework the package exports so the main API exposes configure, configure_logger, get_logger, read, write, and mask from clear top-level entry points. Restructure the documentation into dedicated getting-started and reference sections, add concept pages for logging and error handling, and update the root README to reflect the expanded toolset. Refresh the test suite layout and add coverage for logger configuration, default file IO helpers, and mask behavior. Also clean up repository metadata and supporting files, including .gitignore, requirements, and legacy modules replaced by the new structure.
Signed-off-by: b7binw13 <b7binw13@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce the initial
clevertoolsutility toolkit with configuration, logging, file I/O, masking, and documentationSummary
This pull request introduces the initial functional version of the
clevertoolspackage on top ofmain. It establishes the project as a small Python utility library and adds the first public tools for plain-text file handling, sensitive value masking, logger setup, and global runtime configuration.The branch also adds the package metadata and build configuration required for distribution, a structured documentation set for onboarding and reference usage, and an initial automated test suite covering the newly introduced tools. In addition, repository housekeeping files such as
CODEOWNERS,CONTRIBUTORS,NOTICE, license adjustments, and ignore rules were added or updated to support maintainability and packaging.Motivation
This change is needed to move the repository from an almost empty initial state into a usable and documented Python package. Before this branch,
mainonly contained the initial commit and did not provide a reusable toolkit, packaging setup, or developer-facing documentation.The change solves several foundational problems at once:
requirements.txt, keeping the dependency footprint intentionally small.Testing
I reviewed the branch contents against
mainand verified that the following areas are covered by tests in the repository:I also attempted to run the test suite locally using:
Both commands failed in the current environment because pytest is not installed there (pytest: command not found / No module named pytest). Because of that, I cannot honestly claim a successful local test execution from this environment.
Screenshots
No screenshots are included because this change does not introduce a UI. The work is limited to Python package functionality, documentation, and tests.
Checklist