V1.2.0
DeepBase v1.2.0: The Modernization & Configuration Update
This is a landmark release for DeepBase, focusing on making the tool more robust, configurable, and aligned with modern Python development standards. We've introduced major enhancements to both the user experience and the underlying project structure.
📢 Major Announcement: Project Language Transition to English
To foster a more inclusive and broader community of users and contributors, the entire DeepBase project will be managed in English from this version forward. This includes all code (comments, docstrings), documentation, and future communications.
We believe this change will make the project more accessible and easier to contribute to for developers worldwide.
✨ New Features & Enhancements
1. Customizable Configuration via .deepbase.toml
You now have full control over the scanning process! DeepBase will automatically detect and load a .deepbase.toml file in the root directory of the project you are analyzing. This allows you to:
- Add custom directories to the
ignore_dirslist. - Include new file names or extensions in the
significant_extensionslist.
2. Enhanced CLI and User Experience
The command-line interface has been completely rebuilt using Typer and Rich. This brings several benefits:
- A more intuitive and powerful CLI with clearer help messages.
- Beautiful, colored output for better readability.
- A progress bar that provides real-time feedback when analyzing large projects.
3. Robust File Encoding Detection
To prevent errors with non-standard files, DeepBase now intelligently detects file encodings using the chardet library before reading them. This ensures that a much wider variety of files can be processed without issues.
🛠️ Under-the-Hood & Developer Experience
1. Complete Migration to pyproject.toml
We have fully embraced modern Python packaging standards (PEP 621) by migrating all project metadata and dependencies into pyproject.toml.
- The project's dependencies are now defined in the
[project.dependencies]section. - Development dependencies (like
pytest) are specified under[project.optional-dependencies]. - The
requirements.txtfile has been removed, aspyproject.tomlis now the single source of truth.
2. Introduction of Automated Testing with pytest
The project is now more reliable and maintainable with the introduction of a testing suite powered by pytest.
- A
tests/directory has been added with initial unit tests covering core functionality. - This ensures that new changes do not break existing features.
3. Standardized Project Structure and Imports
The project now correctly handles the standard src-layout for Python packages. The tests have been updated to import the deepbase package correctly, ensuring that our testing methodology mimics how the tool is used in the real world.
How to Upgrade
To get the latest version, simply run:
pip install --upgrade deepbaseThis release lays a solid foundation for future features. Thank you for using DeepBase, and we look forward to your feedback