|
1 | 1 | ## 🎯 DataFrameExpectations |
2 | 2 |
|
| 3 | + |
| 4 | + |
| 5 | +[](https://badge.fury.io/py/dataframe-expectations) |
| 6 | +[](https://www.python.org/downloads/) |
| 7 | + |
3 | 8 | **DataFrameExpectations** is a Python library designed to validate **Pandas** and **PySpark** DataFrames using customizable, reusable expectations. It simplifies testing in data pipelines and end-to-end workflows by providing a standardized framework for DataFrame validation. |
4 | 9 |
|
5 | 10 | Instead of using different validation approaches for DataFrames, this library provides a |
6 | 11 | standardized solution for this use case. As a result, any contributions made here—such as adding new expectations—can be leveraged by all users of the library. |
7 | | -You can find the complete list of expectations [here](docs/build/html/expectations.html). |
| 12 | + |
| 13 | +📚 **[View Documentation](https://code.getyourguide.com/dataframe-expectations/)** | 📋 **[List of Expectations](https://code.getyourguide.com/dataframe-expectations/expectations.html)** |
8 | 14 |
|
9 | 15 |
|
10 | 16 | ### Installation: |
@@ -106,35 +112,26 @@ Contributions are welcome! You can enhance the library by adding new expectation |
106 | 112 |
|
107 | 113 | ### Versioning |
108 | 114 |
|
109 | | -This project follows [Semantic Versioning](https://semver.org/) (SemVer): |
110 | | -- **MAJOR** version for incompatible API changes |
111 | | -- **MINOR** version for backward-compatible functionality additions |
112 | | -- **PATCH** version for backward-compatible bug fixes |
| 115 | +This project follows [Semantic Versioning](https://semver.org/) (SemVer) and uses [Release Please](https://github.com/googleapis/release-please) for automated version management. |
113 | 116 |
|
114 | | -To update the version, manually edit the version field in `pyproject.toml`: |
115 | | - |
116 | | -```toml |
117 | | -[project] |
118 | | -version = "0.2.0" # Update this line |
119 | | -``` |
| 117 | +Versions are automatically determined based on [Conventional Commits](https://www.conventionalcommits.org/): |
120 | 118 |
|
121 | | -Alternatively, you can use uv to bump version number: |
| 119 | +- `feat:` - New feature → **MINOR** version bump (0.1.0 → 0.2.0) |
| 120 | +- `fix:` - Bug fix → **PATCH** version bump (0.1.0 → 0.1.1) |
| 121 | +- `feat!:` or `BREAKING CHANGE:` - Breaking change → **MAJOR** version bump (0.1.0 → 1.0.0) |
122 | 122 |
|
| 123 | +**Example commits:** |
123 | 124 | ```bash |
124 | | -# Bump patch version (0.1.0 -> 0.1.1) |
125 | | -uv version --bump patch |
126 | | - |
127 | | -# Bump minor version (0.1.0 -> 0.2.0) |
128 | | -uv version --bump minor |
129 | | - |
130 | | -# Bump major version (0.1.0 -> 1.0.0) |
131 | | -uv version --bump major |
132 | | - |
133 | | -# Set specific version |
134 | | -uv version 0.2.0 |
| 125 | +git commit -m "feat: add new expectation for null values" |
| 126 | +git commit -m "fix: correct validation logic in expect_value_greater_than" |
| 127 | +git commit -m "feat!: remove deprecated API methods" |
135 | 128 | ``` |
136 | 129 |
|
137 | | -Don't forget to update the [CHANGELOG.md](CHANGELOG.md) file with a detailed description of the changes you've introduced. |
| 130 | +When changes are pushed to the main branch, Release Please automatically: |
| 131 | +1. Creates or updates a Release PR with version bump and changelog |
| 132 | +2. When merged, creates a GitHub Release and publishes to PyPI |
| 133 | + |
| 134 | +No manual version updates needed - just use conventional commit messages! |
138 | 135 |
|
139 | 136 | ### Security |
140 | 137 | For security issues please contact [email protected]. |
|
0 commit comments