You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# Change log
2
2
3
+
### 0.3.5 - 2026-03-16
4
+
- Fixed filename-based schema selection to use exact dataset suffixes such as `.nodes.geojson`, `.edges.geojson`, and the legacy `.nodes.OSW.geojson` form instead of loose substring matching.
5
+
- Prevented false schema selection for filenames with misleading prefixes such as `gs_metaline_falls_uga.nodes.geojson` and `gs_yarrow_point.edges.geojson`.
6
+
- Updated extracted dataset filename validation to enforce the same suffix-based rules and reject glued names such as `roadEdges.geojson`.
7
+
- Added regression coverage for suffix-based filename matching and refreshed the README to document current ZIP input, validation output, and supported filename patterns.
8
+
3
9
### 0.3.4 - 2026-02-04
4
10
- Update leaf_cycle enums in 0.3 lines/points/polygons schemas and add coverage for the new allowed values.
5
11
- Add unit tests that validate acceptance/rejection of leaf_cycle values with the 0.3 schemas.
This package validates the OSW geojson file. Package requires a OSW zip file path
3
+
This package validates OSW GeoJSON datasets packaged as a ZIP file.
4
4
5
5
## System requirements
6
6
7
7
| Software | Version |
8
8
|----------|---------|
9
-
| Python | 3.10.x |
9
+
| Python |>= 3.10 |
10
10
11
11
## What this package does?
12
12
13
-
- It unzip the provided zip files
14
-
- Check for the required nodes and edges geojson files inside the unzipped folder
15
-
- Validate each file (edges, lines, nodes, points, polygons and zones) against the matching schema (0.3 defaults live in `src/python_osw_validation/schema`)
16
-
- Return true or false according to validation
17
-
- you can check the error if it returned false.
13
+
- Extracts the provided ZIP file
14
+
- Finds supported OSW dataset files inside the extracted directory
15
+
- Validates each file (`edges`, `lines`, `nodes`, `points`, `polygons`, and `zones`) against the matching schema
16
+
- Runs cross-file integrity checks such as duplicate `_id` detection and edge or zone references back to nodes
17
+
- Returns a `ValidationResult` object with `is_valid`, `errors`, and `issues`
18
+
19
+
Any subset of the six supported dataset files may be present. By default, no individual dataset file is required.
18
20
19
21
## Starting a new project with template
20
22
@@ -28,103 +30,105 @@ This package validates the OSW geojson file. Package requires a OSW zip file pat
After running coverage, open `htmlcov/index.html` to inspect the report in a browser.
111
+
112
+
## Use locally
112
113
To use the library locally, use the [example.py](./src/example.py) code
113
114
114
-
## Deployment:
115
+
## Deployment
116
+
117
+
- The library can be pushed to [TestPyPI](https://test.pypi.org/project/python-osw-validation/) or [PyPI](https://pypi.org/project/python-osw-validation/)
115
118
116
-
- The library can be pushed to [TestPy](https://test.pypi.org/project/python-osw-validation/) or [PYPI](https://pypi.org/project/python-osw-validation/)
117
-
### Deploy to TestPy
118
-
- On every push to `dev` branch, a workflow is triggered which publishes the updated version to TestPy
119
+
### Deploy to TestPyPI
120
+
121
+
- On every push to `dev` branch, a workflow is triggered which publishes the updated version to TestPyPI
119
122
120
123
### Deploy to PyPI
121
-
- This happens whenever a tag/release is created with `*.*.*` notation (eg. 0.0.8)
122
-
- To change the version, change the version at [version.py](./src/python_osw_validation/version.py)
124
+
125
+
- This happens whenever a tag or release is created with `*.*.*` notation, for example `0.0.8`
126
+
- To change the version, update [version.py](./src/python_osw_validation/version.py)
123
127
- To release a new version:
124
-
- Go to Github link of this repository
128
+
- Go to the GitHub repository
125
129
- Under [releases](https://github.com/TaskarCenterAtUW/TDEI-python-lib-osw-validation/releases), click on `Draft a new release`
126
-
- Under `choose a new tag`, add a new tag `v*.*.*` , Generate Release notes
130
+
- Under `choose a new tag`, add a new tag `v*.*.*`, then generate release notes
127
131
- Choose `main` branch for release
128
132
- Publish the release.
129
-
- This release triggers a workflow to generate the new version of the Package.
133
+
- This release triggers a workflow to generate the new package version.
130
134
- The new package will be available at https://pypi.org/project/python-osw-validation/
0 commit comments