Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug Report
about: Report a bug to help improve Glazing
title: ""
labels: bug
assignees: ""
---

## Description

<!-- A clear description of the bug -->

## Steps to reproduce

1.
2.
3.

## Expected behavior

<!-- What you expected to happen -->

## Actual behavior

<!-- What actually happened. Include full error messages or tracebacks if applicable -->

## Environment

- Glazing version: <!-- e.g. 0.2.2 -->
- Python version: <!-- e.g. 3.13.1 -->
- OS: <!-- e.g. macOS 15.2, Ubuntu 24.04 -->
- Installation method: <!-- pip, source, docker -->

## Additional context

<!-- Any other relevant information, screenshots, or logs -->
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Feature Request
about: Suggest a new feature or improvement
title: ""
labels: enhancement
assignees: ""
---

## Description

<!-- A clear description of the feature you'd like -->

## Motivation

<!-- Why is this feature needed? What problem does it solve? -->

## Proposed solution

<!-- How you think this could be implemented -->

## Alternatives considered

<!-- Any alternative approaches you've considered -->

## Additional context

<!-- Any other relevant information, mockups, or examples -->
30 changes: 30 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Description

<!-- Brief description of what this PR does -->

## Type of Change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update

## Key Changes

<!-- Bullet list of key changes -->

-

## Impact

<!-- What effect does this change have? Link to related issue(s) if applicable -->

Closes #

## Testing

- [ ] All tests pass (`pytest`)
- [ ] New tests added (if applicable)
- [ ] Type checking passes (`mypy --strict src/`)
- [ ] Linting passes (`ruff check`)
- [ ] Formatting passes (`ruff format`)
52 changes: 52 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Publish to PyPI

on:
push:
tags:
- "v*"

env:
PYTHON_VERSION: "3.13"

jobs:
build:
name: Build Distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build

- name: Build distribution
run: python -m build

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/

publish:
name: Publish to PyPI
needs: build
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
38 changes: 27 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.2.2] - 2026-02-06

### Added

- **PyPI publish workflow** triggered on tag creation using trusted publishers (OIDC)
- **Converter-to-loader round-trip integration tests** for all four resources
- **FrameNet frame relation, LU enrichment, semantic type, and fulltext parsing** in converter and loader
- **Supplementary data conversion** for WordNet senses/exceptions and FrameNet semantic types/fulltext in `initialize.py`

### Changed

- **Rewrote WordNet converter and loader** to use enriched single-file JSONL output with supplementary sense and exception files
- **Relaxed lemma validation** to allow uppercase letters, digits at the start, and dots (supporting proper nouns, abbreviations, and numeric prefixes)
- **Moved repository** from `aaronstevenwhite/glazing` to `factslab/glazing`

### Fixed

- **VerbNet converter** now populates `framenet_mappings` and `propbank_mappings` from member attributes
- **PropBank converter** now handles AMR-UMR-91 roleset conversion and XML edge cases

## [0.2.1] - 2025-10-28

### Fixed

- **FrameNet lexical units now properly loaded during conversion**
- Lexical units are now parsed from `luIndex.xml` during frame conversion
- All frames now include their associated lexical units with complete metadata
- Fixes critical data completeness issue where `frame.lexical_units` was always empty
- Enables querying frames by lexical unit name via the frame index
- Approximately 13,500 lexical units now correctly associated with their frames
- **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)

## [0.2.0] - 2025-09-30

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

[Unreleased]: https://github.com/aaronstevenwhite/glazing/compare/v0.2.1...HEAD
[0.2.1]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.2.1
[0.2.0]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.2.0
[0.1.1]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.1.1
[0.1.0]: https://github.com/aaronstevenwhite/glazing/releases/tag/v0.1.0
[Unreleased]: https://github.com/factslab/glazing/compare/v0.2.2...HEAD
[0.2.2]: https://github.com/factslab/glazing/releases/tag/v0.2.2
[0.2.1]: https://github.com/factslab/glazing/releases/tag/v0.2.1
[0.2.0]: https://github.com/factslab/glazing/releases/tag/v0.2.0
[0.1.1]: https://github.com/factslab/glazing/releases/tag/v0.1.1
[0.1.0]: https://github.com/factslab/glazing/releases/tag/v0.1.0
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@

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

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

## Features

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

## Installation

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

```bash
# Build the image
git clone https://github.com/aaronstevenwhite/glazing.git
git clone https://github.com/factslab/glazing.git
cd glazing
docker build -t glazing:latest .

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

## Contributing

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

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

## License

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

## Links

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

## Acknowledgments

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.
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.
2 changes: 1 addition & 1 deletion docs/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ except ValidationError as e:

## Version Compatibility

This documentation covers Glazing version 0.2.1. Check your installed version:
This documentation covers Glazing version 0.2.2. Check your installed version:

```python
import glazing
Expand Down
12 changes: 6 additions & 6 deletions docs/citation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@ If you use Glazing in your research, please cite our work.
author = {White, Aaron Steven},
title = {Glazing: Unified Data Models and Interfaces for Syntactic and Semantic Frame Ontologies},
year = {2025},
url = {https://github.com/aaronstevenwhite/glazing},
version = {0.2.1},
url = {https://github.com/factslab/glazing},
version = {0.2.2},
doi = {10.5281/zenodo.17467082}
}
```

### APA

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
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

### Chicago

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.
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.

### MLA

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.
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.

## Citing Datasets

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

For questions about citing Glazing, contact:
- Aaron Steven White: aaron.white@rochester.edu
- GitHub Issues: https://github.com/aaronstevenwhite/glazing/issues
- GitHub Issues: https://github.com/factslab/glazing/issues
4 changes: 2 additions & 2 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ cd glazing
3. Add the upstream repository:

```bash
git remote add upstream https://github.com/aaronstevenwhite/glazing.git
git remote add upstream https://github.com/factslab/glazing.git
```

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

Contributors are recognized in:

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

Expand Down
16 changes: 8 additions & 8 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

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

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

## Links

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

## License

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

## Citation

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