The following is a list of the dependencies and their respective versions that are required and compatible with the `dojo-beam-transforms` package version 1.0.0:
Apache Beam SDK Version
- `apache-beam[dataframe,gcp,interactive] == 2.58.1`
Other Dependencies
- `pandas == 2.0.3`
- `pandas-datareader == 0.10.0`
- `PyMuPDF == 1.23.22`
- `pypinyin == 0.51.0`
- `unidecode == 1.3.8`
- `openpyxl == 3.0.10`
- `fsspec == 2024.6.1`
- `gcsfs == 2024.6.1`
Compatible Python Versions
The following Python versions have been tested and are confirmed to be compatible with this release:
- Python 3.8
- Python 3.9
- Python 3.10
Please ensure that your environment meets these requirements for optimal performance and compatibility.
Current Best Practices and Considerations
1. **Commit and Branch Naming Conventions**:
- We are currently following the **[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)** specification for our commit messages, which helps in maintaining a clear and consistent commit history. This practice will be vital as we scale our project, making it easier to understand the context of changes and automate release notes.
- For branch names, we are using a convention similar to our commit messages, such as `fix/method`, `feature/method`, and `refactor/method`. This naming strategy enhances clarity on the purpose and scope of the branch, aligning with our goal of organized and understandable branch structures.
2. **Versioning with Semantic Versioning (SemVer)**:
- We have adopted Semantic Versioning (SemVer) for our project, which provides a clear framework for managing versions based on the nature of changes—whether they are major, minor, or patches. This practice is already integrated into our `setup.py` and will guide our release process moving forward.
3. **Merge Practices**:
- Merges are currently handled exclusively through Pull Requests (PRs), which must pass our automated workflows. These workflows include unit tests, Docker image builds, and deployments to the Artifact Registry. Additionally, each PR requires approval from another team member, ensuring that only thoroughly reviewed and tested code is merged into the main branch.
- This practice not only maintains code quality but also ensures that our CI/CD pipeline remains robust, with each merge being a reliable integration point.
**Full Changelog**: https://github.com/DOJO-Smart-Ways/DOJO-Beam-Transforms/compare/v0.1.0...v1.0.0