Skip to content

Commit 8d3786b

Browse files
Merge pull request #6 from FACTSlab/fix/loaders
fix: Fix converters/loaders, bump to v0.2.2, migrate to factslab org
2 parents 34ec727 + 32819d5 commit 8d3786b

37 files changed

Lines changed: 2460 additions & 707 deletions
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help improve Glazing
4+
title: ""
5+
labels: bug
6+
assignees: ""
7+
---
8+
9+
## Description
10+
11+
<!-- A clear description of the bug -->
12+
13+
## Steps to reproduce
14+
15+
1.
16+
2.
17+
3.
18+
19+
## Expected behavior
20+
21+
<!-- What you expected to happen -->
22+
23+
## Actual behavior
24+
25+
<!-- What actually happened. Include full error messages or tracebacks if applicable -->
26+
27+
## Environment
28+
29+
- Glazing version: <!-- e.g. 0.2.2 -->
30+
- Python version: <!-- e.g. 3.13.1 -->
31+
- OS: <!-- e.g. macOS 15.2, Ubuntu 24.04 -->
32+
- Installation method: <!-- pip, source, docker -->
33+
34+
## Additional context
35+
36+
<!-- Any other relevant information, screenshots, or logs -->
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature or improvement
4+
title: ""
5+
labels: enhancement
6+
assignees: ""
7+
---
8+
9+
## Description
10+
11+
<!-- A clear description of the feature you'd like -->
12+
13+
## Motivation
14+
15+
<!-- Why is this feature needed? What problem does it solve? -->
16+
17+
## Proposed solution
18+
19+
<!-- How you think this could be implemented -->
20+
21+
## Alternatives considered
22+
23+
<!-- Any alternative approaches you've considered -->
24+
25+
## Additional context
26+
27+
<!-- Any other relevant information, mockups, or examples -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Description
2+
3+
<!-- Brief description of what this PR does -->
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix (non-breaking change which fixes an issue)
8+
- [ ] New feature (non-breaking change which adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] Documentation update
11+
12+
## Key Changes
13+
14+
<!-- Bullet list of key changes -->
15+
16+
-
17+
18+
## Impact
19+
20+
<!-- What effect does this change have? Link to related issue(s) if applicable -->
21+
22+
Closes #
23+
24+
## Testing
25+
26+
- [ ] All tests pass (`pytest`)
27+
- [ ] New tests added (if applicable)
28+
- [ ] Type checking passes (`mypy --strict src/`)
29+
- [ ] Linting passes (`ruff check`)
30+
- [ ] Formatting passes (`ruff format`)

.github/workflows/publish.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Publish to PyPI
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
env:
9+
PYTHON_VERSION: "3.13"
10+
11+
jobs:
12+
build:
13+
name: Build Distribution
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: ${{ env.PYTHON_VERSION }}
22+
23+
- name: Install build dependencies
24+
run: |
25+
python -m pip install --upgrade pip
26+
pip install build
27+
28+
- name: Build distribution
29+
run: python -m build
30+
31+
- name: Upload artifacts
32+
uses: actions/upload-artifact@v4
33+
with:
34+
name: dist
35+
path: dist/
36+
37+
publish:
38+
name: Publish to PyPI
39+
needs: build
40+
runs-on: ubuntu-latest
41+
environment: pypi
42+
permissions:
43+
id-token: write
44+
steps:
45+
- name: Download artifacts
46+
uses: actions/download-artifact@v4
47+
with:
48+
name: dist
49+
path: dist/
50+
51+
- name: Publish to PyPI
52+
uses: pypa/gh-action-pypi-publish@release/v1

CHANGELOG.md

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.2] - 2026-02-06
11+
12+
### Added
13+
14+
- **PyPI publish workflow** triggered on tag creation using trusted publishers (OIDC)
15+
- **Converter-to-loader round-trip integration tests** for all four resources
16+
- **FrameNet frame relation, LU enrichment, semantic type, and fulltext parsing** in converter and loader
17+
- **Supplementary data conversion** for WordNet senses/exceptions and FrameNet semantic types/fulltext in `initialize.py`
18+
19+
### Changed
20+
21+
- **Rewrote WordNet converter and loader** to use enriched single-file JSONL output with supplementary sense and exception files
22+
- **Relaxed lemma validation** to allow uppercase letters, digits at the start, and dots (supporting proper nouns, abbreviations, and numeric prefixes)
23+
- **Moved repository** from `aaronstevenwhite/glazing` to `factslab/glazing`
24+
25+
### Fixed
26+
27+
- **VerbNet converter** now populates `framenet_mappings` and `propbank_mappings` from member attributes
28+
- **PropBank converter** now handles AMR-UMR-91 roleset conversion and XML edge cases
29+
1030
## [0.2.1] - 2025-10-28
1131

1232
### Fixed
1333

14-
- **FrameNet lexical units now properly loaded during conversion**
15-
- Lexical units are now parsed from `luIndex.xml` during frame conversion
16-
- All frames now include their associated lexical units with complete metadata
17-
- Fixes critical data completeness issue where `frame.lexical_units` was always empty
18-
- Enables querying frames by lexical unit name via the frame index
19-
- Approximately 13,500 lexical units now correctly associated with their frames
34+
- **FrameNet converter** now properly loads lexical units from `luIndex.xml` during frame conversion, fixing a critical issue where `frame.lexical_units` was always empty (~13,500 LUs now correctly associated)
2035

2136
## [0.2.0] - 2025-09-30
2237

@@ -197,8 +212,9 @@ Initial release of `glazing`, a package containing unified data models and inter
197212
- `tqdm >= 4.60.0` (progress bars)
198213
- `rich >= 13.0.0` (CLI formatting)
199214

200-
[Unreleased]: https://github.com/aaronstevenwhite/glazing/compare/v0.2.1...HEAD
201-
[0.2.1]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.2.1
202-
[0.2.0]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.2.0
203-
[0.1.1]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.1.1
204-
[0.1.0]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.1.0
215+
[Unreleased]: https://github.com/factslab/glazing/compare/v0.2.2...HEAD
216+
[0.2.2]: https://github.com/factslab/glazing/releases/tag/v0.2.2
217+
[0.2.1]: https://github.com/factslab/glazing/releases/tag/v0.2.1
218+
[0.2.0]: https://github.com/factslab/glazing/releases/tag/v0.2.0
219+
[0.1.1]: https://github.com/factslab/glazing/releases/tag/v0.1.1
220+
[0.1.0]: https://github.com/factslab/glazing/releases/tag/v0.1.0

README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22

33
[![PyPI version](https://img.shields.io/pypi/v/glazing)](https://pypi.org/project/glazing/)
44
[![Python versions](https://img.shields.io/pypi/pyversions/glazing)](https://pypi.org/project/glazing/)
5-
[![CI](https://github.com/aaronstevenwhite/glazing/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/aaronstevenwhite/glazing/actions/workflows/ci.yml)
5+
[![CI](https://github.com/factslab/glazing/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/factslab/glazing/actions/workflows/ci.yml)
66
[![Documentation](https://readthedocs.org/projects/glazing/badge/?version=latest)](https://glazing.readthedocs.io/en/latest/?badge=latest)
7-
[![License](https://img.shields.io/pypi/l/glazing)](https://github.com/aaronstevenwhite/glazing/blob/main/LICENSE)
7+
[![License](https://img.shields.io/pypi/l/glazing)](https://github.com/factslab/glazing/blob/main/LICENSE)
88
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17467082.svg)](https://doi.org/10.5281/zenodo.17467082)
99

1010
Unified data models and interfaces for syntactic and semantic frame ontologies.
1111

1212
## Features
1313

14-
- 🚀 **One-command setup**: `glazing init` downloads and prepares all datasets
15-
- 📦 **Type-safe models**: Pydantic v2 validation for all data structures
16-
- 🔍 **Unified search**: Query across all datasets with consistent API
17-
- 🔗 **Cross-references**: Automatic mapping between resources with confidence scores
18-
- 🎯 **Fuzzy search**: Find data with typos, spelling variants, and inconsistencies
19-
- 🐳 **Docker support**: Use via Docker without local installation
20-
- 💾 **Efficient storage**: JSON Lines format with streaming support
21-
- 🐍 **Modern Python**: Full type hints, Python 3.13+ support
14+
- **One-command setup**: `glazing init` downloads and prepares all datasets
15+
- **Type-safe models**: Pydantic v2 validation for all data structures
16+
- **Unified search**: Query across all datasets with consistent API
17+
- **Cross-references**: Automatic mapping between resources with confidence scores
18+
- **Fuzzy search**: Find data with typos, spelling variants, and inconsistencies
19+
- **Docker support**: Use via Docker without local installation
20+
- **Efficient storage**: JSON Lines format with streaming support
21+
- **Modern Python**: Full type hints, Python 3.13+ support
2222

2323
## Installation
2424

@@ -34,7 +34,7 @@ Build and run Glazing in a containerized environment:
3434

3535
```bash
3636
# Build the image
37-
git clone https://github.com/aaronstevenwhite/glazing.git
37+
git clone https://github.com/factslab/glazing.git
3838
cd glazing
3939
docker build -t glazing:latest .
4040

@@ -167,11 +167,11 @@ Full documentation available at [https://glazing.readthedocs.io](https://glazing
167167

168168
## Contributing
169169

170-
We welcome contributions! See [CONTRIBUTING.md](https://github.com/aaronstevenwhite/glazing/blob/main/CONTRIBUTING.md) for guidelines.
170+
We welcome contributions! See [CONTRIBUTING.md](https://github.com/factslab/glazing/blob/main/CONTRIBUTING.md) for guidelines.
171171

172172
```bash
173173
# Development setup
174-
git clone https://github.com/aaronstevenwhite/glazing
174+
git clone https://github.com/factslab/glazing
175175
cd glazing
176176
pip install -e ".[dev]"
177177
```
@@ -185,22 +185,22 @@ If you use Glazing in your research, please cite:
185185
author = {White, Aaron Steven},
186186
title = {Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies},
187187
year = {2025},
188-
url = {https://github.com/aaronstevenwhite/glazing},
188+
url = {https://github.com/factslab/glazing},
189189
doi = {10.5281/zenodo.17467082}
190190
}
191191
```
192192

193193
## License
194194

195-
This package is licensed under an MIT License. See [LICENSE](https://github.com/aaronstevenwhite/glazing/blob/main/LICENSE) file for details.
195+
This package is licensed under an MIT License. See [LICENSE](https://github.com/factslab/glazing/blob/main/LICENSE) file for details.
196196

197197
## Links
198198

199-
- [GitHub Repository](https://github.com/aaronstevenwhite/glazing)
199+
- [GitHub Repository](https://github.com/factslab/glazing)
200200
- [PyPI Package](https://pypi.org/project/glazing/)
201201
- [Documentation](https://glazing.readthedocs.io)
202-
- [Issue Tracker](https://github.com/aaronstevenwhite/glazing/issues)
202+
- [Issue Tracker](https://github.com/factslab/glazing/issues)
203203

204204
## Acknowledgments
205205

206-
This project was funded by a [National Science Foundation](https://www.nsf.gov/) ([BCS-2040831](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2040831)) and builds upon the foundational work of the FrameNet, PropBank, VerbNet, and WordNet teams.
206+
This project was funded by a [National Science Foundation](https://www.nsf.gov/) ([BCS-2040831](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2040831)) and builds upon the foundational work of the FrameNet, PropBank, VerbNet, and WordNet teams. It was architected and implemented with the help of Claude Code.

docs/api/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ except ValidationError as e:
118118

119119
## Version Compatibility
120120

121-
This documentation covers Glazing version 0.2.1. Check your installed version:
121+
This documentation covers Glazing version 0.2.2. Check your installed version:
122122

123123
```python
124124
import glazing

docs/citation.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@ If you use Glazing in your research, please cite our work.
1111
author = {White, Aaron Steven},
1212
title = {Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies},
1313
year = {2025},
14-
url = {https://github.com/aaronstevenwhite/glazing},
15-
version = {0.2.1},
14+
url = {https://github.com/factslab/glazing},
15+
version = {0.2.2},
1616
doi = {10.5281/zenodo.17467082}
1717
}
1818
```
1919

2020
### APA
2121

22-
White, A. S. (2025). *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies* (Version 0.2.1) [Computer software]. https://github.com/aaronstevenwhite/glazing
22+
White, A. S. (2025). *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies* (Version 0.2.2) [Computer software]. https://github.com/factslab/glazing
2323

2424
### Chicago
2525

26-
White, Aaron Steven. 2025. *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies*. Version 0.2.1. https://github.com/aaronstevenwhite/glazing.
26+
White, Aaron Steven. 2025. *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies*. Version 0.2.2. https://github.com/factslab/glazing.
2727

2828
### MLA
2929

30-
White, Aaron Steven. *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies*. Version 0.2.1, 2025, https://github.com/aaronstevenwhite/glazing.
30+
White, Aaron Steven. *Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies*. Version 0.2.2, 2025, https://github.com/factslab/glazing.
3131

3232
## Citing Datasets
3333

@@ -65,4 +65,4 @@ This project was funded by a [National Science Foundation](https://www.nsf.gov/)
6565

6666
For questions about citing Glazing, contact:
6767
- Aaron Steven White: aaron.white@rochester.edu
68-
- GitHub Issues: https://github.com/aaronstevenwhite/glazing/issues
68+
- GitHub Issues: https://github.com/factslab/glazing/issues

docs/contributing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ cd glazing
2323
3. Add the upstream repository:
2424

2525
```bash
26-
git remote add upstream https://github.com/aaronstevenwhite/glazing.git
26+
git remote add upstream https://github.com/factslab/glazing.git
2727
```
2828

2929
### Development Setup
@@ -245,7 +245,7 @@ Check the issue tracker for `enhancement` labels. Feel free to discuss implement
245245

246246
Contributors are recognized in:
247247

248-
- The project's [CHANGELOG.md](https://github.com/aaronstevenwhite/glazing/blob/main/CHANGELOG.md)
248+
- The project's [CHANGELOG.md](https://github.com/factslab/glazing/blob/main/CHANGELOG.md)
249249
- GitHub's contributor graph
250250
- Special mentions for significant contributions
251251

docs/index.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
[![PyPI version](https://img.shields.io/pypi/v/glazing)](https://pypi.org/project/glazing/)
44
[![Python versions](https://img.shields.io/pypi/pyversions/glazing)](https://pypi.org/project/glazing/)
5-
[![License](https://img.shields.io/pypi/l/glazing)](https://github.com/aaronstevenwhite/glazing/blob/main/LICENSE)
6-
[![CI](https://github.com/aaronstevenwhite/glazing/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/aaronstevenwhite/glazing/actions/workflows/ci.yml)
5+
[![License](https://img.shields.io/pypi/l/glazing)](https://github.com/factslab/glazing/blob/main/LICENSE)
6+
[![CI](https://github.com/factslab/glazing/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/factslab/glazing/actions/workflows/ci.yml)
77
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17467082.svg)](https://doi.org/10.5281/zenodo.17467082)
88

99
Unified data models and interfaces for syntactic and semantic frame ontologies.
@@ -74,14 +74,14 @@ Glazing is actively maintained and welcomes contributions. The project follows s
7474

7575
## Links
7676

77-
- [GitHub Repository](https://github.com/aaronstevenwhite/glazing)
77+
- [GitHub Repository](https://github.com/factslab/glazing)
7878
- [PyPI Package](https://pypi.org/project/glazing/)
79-
- [Issue Tracker](https://github.com/aaronstevenwhite/glazing/issues)
80-
- [Changelog](https://github.com/aaronstevenwhite/glazing/blob/main/CHANGELOG.md)
79+
- [Issue Tracker](https://github.com/factslab/glazing/issues)
80+
- [Changelog](https://github.com/factslab/glazing/blob/main/CHANGELOG.md)
8181

8282
## License
8383

84-
This package is licensed under an MIT License. See [LICENSE](https://github.com/aaronstevenwhite/glazing/blob/main/LICENSE) file for details.
84+
This package is licensed under an MIT License. See [LICENSE](https://github.com/factslab/glazing/blob/main/LICENSE) file for details.
8585

8686
## Citation
8787

@@ -92,8 +92,8 @@ If you use Glazing in your research, please cite:
9292
author = {White, Aaron Steven},
9393
title = {Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies},
9494
year = {2025},
95-
url = {https://github.com/aaronstevenwhite/glazing},
96-
version = {0.2.1},
95+
url = {https://github.com/factslab/glazing},
96+
version = {0.2.2},
9797
doi = {10.5281/zenodo.17467082}
9898
}
9999
```

0 commit comments

Comments
 (0)