Skip to content

Feature/first tools#2

Merged
b7binw13 merged 4 commits intomainfrom
feature/first_tools
Mar 15, 2026
Merged

Feature/first tools#2
b7binw13 merged 4 commits intomainfrom
feature/first_tools

Conversation

@b7binw13
Copy link
Copy Markdown
Collaborator

Introduce the initial clevertools utility toolkit with configuration, logging, file I/O, masking, and documentation

Summary

This pull request introduces the initial functional version of the clevertools package on top of main. 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, main only 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:

  • It provides a first set of practical utilities that can be reused across projects without introducing a larger framework.
  • It standardizes common helper behavior, especially around logging and error handling.
  • It introduces a central configuration mechanism so default behavior can be controlled consistently across helpers.
  • It makes the project installable and distributable through standard Python packaging metadata.
  • It adds documentation so users can understand the available tools and their intended usage.
  • It adds tests so the first public features have a basic validation baseline.
  • It removes unused dependencies from requirements.txt, keeping the dependency footprint intentionally small.

Testing

I reviewed the branch contents against main and verified that the following areas are covered by tests in the repository:

  • plain-text file write and read helpers
  • logger configuration using global default overrides
  • masking behavior with default and custom visibility settings

I also attempted to run the test suite locally using:

pytest -q
python -m pytest -q

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

  • The change is scoped and focused
  • Tests were added or updated when needed
  • Documentation was updated when needed
  • No secrets or sensitive data were introduced
  • I reviewed the diff for accidental changes

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.
@b7binw13 b7binw13 self-assigned this Mar 15, 2026
@b7binw13 b7binw13 added documentation Improvements or additions to documentation enhancement Improvement or new request (non-breaking) api API surface / public interface breaking change Backwards-incompatible change chore Maintenance, tooling, refactoring, housekeeping chore finished Chore completed / verified done refactor Internal restructure; no intended behavior change labels Mar 15, 2026
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Comment thread tests/tools/mask_handler_test.py Dismissed
Signed-off-by: b7binw13 <b7binw13@proton.me>
@b7binw13 b7binw13 merged commit 586b921 into main Mar 15, 2026
1 of 2 checks passed
@b7binw13 b7binw13 deleted the feature/first_tools branch March 15, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api API surface / public interface breaking change Backwards-incompatible change chore finished Chore completed / verified done chore Maintenance, tooling, refactoring, housekeeping documentation Improvements or additions to documentation enhancement Improvement or new request (non-breaking) refactor Internal restructure; no intended behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants