feat!: modularize stemmer models and release infrastructure

Move bundled stemmer dictionaries from the core artifact into independently
versioned model modules. Add model discovery and explicit model-loading APIs,
a standard model aggregate, a model BOM, and dedicated model and catalog
release workflows.

Add full PoliMorf integration, model provenance and licensing validation,
streaming model-input verification, strict dependency verification, consumer
resolution tests, Configuration Cache compatibility, and expanded JMH,
quality, documentation, and release checks.

Upgrade the CycloneDX and JMH Gradle plugins and remove Gradle 10 and Java
compiler deprecations.

BREAKING CHANGE: The core Radixor artifact no longer contains bundled stemmer
dictionaries. Applications must add the required model artifacts, the standard
model aggregate, or model dependencies managed through the Radixor model BOM.
This commit is contained in:
2026-07-22 23:33:28 +02:00
parent 9c5b9e331b
commit e7800b29c9
250 changed files with 7297 additions and 905 deletions

101
models/bom/build.gradle Normal file
View File

@@ -0,0 +1,101 @@
import groovy.xml.XmlParser
plugins {
id 'java-platform'
id 'maven-publish'
id 'signing'
}
group = 'org.egothor'
version = providers.fileContents(rootProject.layout.projectDirectory.file('models/catalog-version.txt'))
.asText.map(String::trim).get()
Properties modelTopology = new Properties()
rootProject.file('models/model-projects.properties').withInputStream { InputStream input ->
modelTopology.load(input)
}
List<String> modelIds = modelTopology.stringPropertyNames().toList().sort()
dependencies {
constraints {
modelIds.each { String modelId ->
api project(":models:${modelId}")
}
}
}
publishing {
publications {
bom(MavenPublication) {
from components.javaPlatform
artifactId = 'radixor-models-bom'
pom {
name = 'Radixor Stemmer Models BOM'
description = 'Maven dependency-management BOM containing recommended versions for published Radixor models.'
packaging = 'pom'
url = 'https://github.com/leogalambos/Radixor'
licenses {
license {
name = 'BSD-3-Clause'
url = 'https://spdx.org/licenses/BSD-3-Clause.html'
distribution = 'repo'
}
}
developers {
developer {
id = 'egothor'
name = 'Leo Galambos'
email = 'egothor@gmail.com'
}
}
scm {
url = 'https://github.com/leogalambos/Radixor'
connection = 'scm:git:https://github.com/leogalambos/Radixor.git'
developerConnection = 'scm:git:ssh://git@github.com/leogalambos/Radixor.git'
}
}
}
}
repositories {
maven {
name = 'catalogStaging'
url = rootProject.layout.buildDirectory.dir('model-catalog-staging-repository').get().asFile.toURI()
}
}
}
String signingKey = providers.environmentVariable('SIGNING_KEY').orNull
String signingPassword = providers.environmentVariable('SIGNING_PASSWORD').orNull
signing {
required = { providers.environmentVariable('GITHUB_REF_TYPE').orNull == 'tag' }
if (signingKey != null && !signingKey.isBlank()) {
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.bom
}
}
tasks.register('verifyPomOnlyPlatform') {
group = 'verification'
description = 'Verifies the POM-only model dependency-management platform.'
dependsOn(tasks.named('generatePomFileForBomPublication'))
doLast {
File pomFile = layout.buildDirectory.file('publications/bom/pom-default.xml').get().asFile
Node pom = new XmlParser().parse(pomFile)
List<Node> constraints = pom.dependencyManagement.dependencies.dependency as List<Node>
List<String> artifactIds = constraints.collect { Node dependency -> dependency.artifactId.text() }
List<String> expected = modelIds.collect { String modelId -> "radixor-model-${modelId}" }
if (pom.packaging.text() != 'pom' || artifactIds != expected) {
throw new GradleException('radixor-models-bom must publish exactly the ordered model constraints as Maven packaging pom.')
}
if (!pom.dependencies.isEmpty()) {
throw new GradleException('radixor-models-bom must not introduce runtime model dependencies.')
}
if (!tasks.withType(Jar).isEmpty()) {
throw new GradleException('radixor-models-bom must not create binary, sources, or Javadoc JARs.')
}
}
}
tasks.named('check') {
dependsOn(tasks.named('verifyPomOnlyPlatform'))
}

View File

@@ -0,0 +1 @@
2026.1

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'cs-cz-default'
language = 'CS_CZ'
displayName = 'Czech default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/ces'
sourceDataset = 'UniMorph Czech morphological dataset (`ces`); repository also documents non-distributed MorfFlex-CZ data'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph; Witold Kieraś is credited for the separate MorfFlex-CZ conversion'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: cs-cz-default
Radixor language: CS_CZ
Source project: UniMorph
Official repository: https://github.com/unimorph/ces
Upstream dataset: UniMorph Czech morphological dataset (`ces`); repository also documents non-distributed MorfFlex-CZ data
Upstream lexical source: Wiktionary; the CC BY-NC-SA MorfFlex-CZ dataset is excluded
Attribution: UniMorph; Witold Kieraś is credited for the separate MorfFlex-CZ conversion
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'da-dk-default'
language = 'DA_DK'
displayName = 'Danish default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/dan'
sourceDataset = 'UniMorph Danish morphological dataset (`dan`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: da-dk-default
Radixor language: DA_DK
Source project: UniMorph
Official repository: https://github.com/unimorph/dan
Upstream dataset: UniMorph Danish morphological dataset (`dan`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'de-de-default'
language = 'DE_DE'
displayName = 'German default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/deu'
sourceDataset = 'UniMorph German morphological dataset (`deu`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and English Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: de-de-default
Radixor language: DE_DE
Source project: UniMorph
Official repository: https://github.com/unimorph/deu
Upstream dataset: UniMorph German morphological dataset (`deu`)
Upstream lexical source: English Wiktionary
Attribution: UniMorph and English Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'es-es-default'
language = 'ES_ES'
displayName = 'Spanish default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/spa'
sourceDataset = 'UniMorph Spanish morphological dataset (`spa`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and English Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: es-es-default
Radixor language: ES_ES
Source project: UniMorph
Official repository: https://github.com/unimorph/spa
Upstream dataset: UniMorph Spanish morphological dataset (`spa`)
Upstream lexical source: English Wiktionary
Attribution: UniMorph and English Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'fa-ir-default'
language = 'FA_IR'
displayName = 'Persian default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/fas'
sourceDataset = 'UniMorph Persian morphological dataset (`fas`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: fa-ir-default
Radixor language: FA_IR
Source project: UniMorph
Official repository: https://github.com/unimorph/fas
Upstream dataset: UniMorph Persian morphological dataset (`fas`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'fi-fi-default'
language = 'FI_FI'
displayName = 'Finnish default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/fin'
sourceDataset = 'UniMorph Finnish morphological dataset (`fin`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: fi-fi-default
Radixor language: FI_FI
Source project: UniMorph
Official repository: https://github.com/unimorph/fin
Upstream dataset: UniMorph Finnish morphological dataset (`fin`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'fr-fr-default'
language = 'FR_FR'
displayName = 'French default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/fra'
sourceDataset = 'UniMorph French morphological dataset (`fra`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: fr-fr-default
Radixor language: FR_FR
Source project: UniMorph
Official repository: https://github.com/unimorph/fra
Upstream dataset: UniMorph French morphological dataset (`fra`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'he-il-default'
language = 'HE_IL'
displayName = 'Hebrew default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/heb'
sourceDataset = 'UniMorph Hebrew morphological dataset (`heb`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph; Omer Goldman (annotator); Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: he-il-default
Radixor language: HE_IL
Source project: UniMorph
Official repository: https://github.com/unimorph/heb
Upstream dataset: UniMorph Hebrew morphological dataset (`heb`)
Upstream lexical source: Wiktionary
Attribution: UniMorph; Omer Goldman (annotator); Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'hu-hu-default'
language = 'HU_HU'
displayName = 'Hungarian default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/hun'
sourceDataset = 'UniMorph Hungarian morphological dataset (`hun`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph; Christo Kirov, Ryan Cotterell, and Khuyagbaatar Batsuren (conversion); Judit Ács and Gábor Bella (validation); English Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: hu-hu-default
Radixor language: HU_HU
Source project: UniMorph
Official repository: https://github.com/unimorph/hun
Upstream dataset: UniMorph Hungarian morphological dataset (`hun`)
Upstream lexical source: English Wiktionary
Attribution: UniMorph; Christo Kirov, Ryan Cotterell, and Khuyagbaatar Batsuren (conversion); Judit Ács and Gábor Bella (validation); English Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'it-it-default'
language = 'IT_IT'
displayName = 'Italian default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/ita'
sourceDataset = 'UniMorph Italian morphological dataset (`ita`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: it-it-default
Radixor language: IT_IT
Source project: UniMorph
Official repository: https://github.com/unimorph/ita
Upstream dataset: UniMorph Italian morphological dataset (`ita`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,22 @@
# Build-topology membership only. Per-model metadata remains authoritative.
cs-cz-default=default
da-dk-default=default
de-de-default=default
es-es-default=default
fa-ir-default=default
fi-fi-default=default
fr-fr-default=default
he-il-default=default
hu-hu-default=default
it-it-default=default
nb-no-default=default
nl-nl-default=default
nn-no-default=default
pl-pl-polimorf=optional
pl-pl-unimorph=default
pt-pt-default=default
ru-ru-default=default
sv-se-default=default
uk-ua-default=default
us-uk-default=default
yi-default=default

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'nb-no-default'
language = 'NB_NO'
displayName = 'Norwegian Bokmål default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/nob'
sourceDataset = 'UniMorph Norwegian Bokmål morphological dataset (`nob`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: nb-no-default
Radixor language: NB_NO
Source project: UniMorph
Official repository: https://github.com/unimorph/nob
Upstream dataset: UniMorph Norwegian Bokmål morphological dataset (`nob`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'nl-nl-default'
language = 'NL_NL'
displayName = 'Dutch default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/nld'
sourceDataset = 'UniMorph Dutch morphological dataset (`nld`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: nl-nl-default
Radixor language: NL_NL
Source project: UniMorph
Official repository: https://github.com/unimorph/nld
Upstream dataset: UniMorph Dutch morphological dataset (`nld`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'nn-no-default'
language = 'NN_NO'
displayName = 'Norwegian Nynorsk default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/nno'
sourceDataset = 'UniMorph Norwegian Nynorsk morphological dataset (`nno`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: nn-no-default
Radixor language: NN_NO
Source project: UniMorph
Official repository: https://github.com/unimorph/nno
Upstream dataset: UniMorph Norwegian Nynorsk morphological dataset (`nno`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,27 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'pl-pl-polimorf'
language = 'PL_PL'
displayName = 'Polish — PoliMorf 2.1'
defaultModel = false
sourceName = 'PoliMorf 2.1'
sourceVersion = '2.1'
sourceRevision = '6e63b53'
sourceProject = 'Morfologik'
sourceRepository = 'https://github.com/morfologik/morfologik-stemming'
sourceDataset = 'PoliMorf 2.1 from org.carrot2:morfologik-polish:2.1.9'
sourceRevisionStatus = 'recorded'
sourceLicense = 'BSD-2-Clause'
sourceLicenseUri = 'https://spdx.org/licenses/BSD-2-Clause.html'
sourceAttribution = 'Copyright (c) 2016, Marcin Miłkowski'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Decoding the compiled FSA dictionary, grouping inflected forms by lemma, removing morphosyntactic tags, exact duplicate removal, deterministic sorting, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
licenseFileName = 'LICENSE-BSD-2-Clause.txt'
}
tasks.named('validateModelRelease') {
dependsOn(rootProject.tasks.named('runtimeModelIntegrationTest'))
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Upstream artifact: org.carrot2:morfologik-polish:2.1.9
Dictionary: PoliMorf 2.1
Upstream build date: 2016-02-13
Upstream dictionary revision: 6e63b53
Changes in this version: decoding of the compiled FSA dictionary,
grouping of inflected forms by lemma, removal of morphosyntactic tags,
exact duplicate removal, deterministic sorting, and conversion to the
Radixor tab-separated dictionary format.
Modifications copyright (c) 2026 Leo Galambos.
SPDX-License-Identifier: BSD-2-Clause
Copyright (c) 2016, Marcin Miłkowski
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'pl-pl-unimorph'
language = 'PL_PL'
displayName = 'Polish — UniMorph'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/pol'
sourceDataset = 'UniMorph Polish morphological dataset (`pol`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph; SGJP authors Marcin Woliński, Zygmunt Saloni, Robert Wołosz, Włodzimierz Gruszczyński, Danuta Skowrońska, and Zbigniew Bronk; Witold Kieraś (conversion); Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: pl-pl-unimorph
Radixor language: PL_PL
Source project: UniMorph
Official repository: https://github.com/unimorph/pol
Upstream dataset: UniMorph Polish morphological dataset (`pol`)
Upstream lexical source: Wiktionary and Słownik gramatyczny języka polskiego (SGJP), as documented by the repository
Attribution: UniMorph; SGJP authors Marcin Woliński, Zygmunt Saloni, Robert Wołosz, Włodzimierz Gruszczyński, Danuta Skowrońska, and Zbigniew Bronk; Witold Kieraś (conversion); Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'pt-pt-default'
language = 'PT_PT'
displayName = 'Portuguese default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/por'
sourceDataset = 'UniMorph Portuguese morphological dataset (`por`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: pt-pt-default
Radixor language: PT_PT
Source project: UniMorph
Official repository: https://github.com/unimorph/por
Upstream dataset: UniMorph Portuguese morphological dataset (`por`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'ru-ru-default'
language = 'RU_RU'
displayName = 'Russian default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/rus'
sourceDataset = 'UniMorph Russian morphological dataset (`rus`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: ru-ru-default
Radixor language: RU_RU
Source project: UniMorph
Official repository: https://github.com/unimorph/rus
Upstream dataset: UniMorph Russian morphological dataset (`rus`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,117 @@
import groovy.xml.XmlParser
plugins {
id 'base'
id 'maven-publish'
id 'signing'
}
group = 'org.egothor'
version = providers.fileContents(rootProject.layout.projectDirectory.file('models/catalog-version.txt'))
.asText.map(String::trim).get()
Properties modelTopology = new Properties()
rootProject.file('models/model-projects.properties').withInputStream { InputStream input ->
modelTopology.load(input)
}
List<String> defaultModelIds = modelTopology.stringPropertyNames().findAll { String modelId ->
modelTopology.getProperty(modelId) == 'default'
}.sort()
Map<String, String> defaultModelVersions = defaultModelIds.collectEntries { String modelId ->
final Project modelProject = project(":models:${modelId}")
final String modelVersion = providers.gradleProperty('modelReleaseVersion')
.orElse(providers.fileContents(modelProject.layout.projectDirectory.file('model-version.txt'))
.asText.map(String::trim))
.get()
[(modelId): modelVersion]
}
publishing {
publications {
standard(MavenPublication) {
artifactId = 'radixor-models-standard'
pom {
name = 'Radixor Standard Stemmer Models'
description = 'POM-only runtime aggregate containing one default model for every supported language.'
packaging = 'pom'
url = 'https://github.com/leogalambos/Radixor'
licenses {
license {
name = 'BSD-3-Clause'
url = 'https://spdx.org/licenses/BSD-3-Clause.html'
distribution = 'repo'
}
}
developers {
developer {
id = 'egothor'
name = 'Leo Galambos'
email = 'egothor@gmail.com'
}
}
scm {
url = 'https://github.com/leogalambos/Radixor'
connection = 'scm:git:https://github.com/leogalambos/Radixor.git'
developerConnection = 'scm:git:ssh://git@github.com/leogalambos/Radixor.git'
}
}
pom.withXml {
Node dependenciesNode = asNode().appendNode('dependencies')
defaultModelIds.each { String modelId ->
Node dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', 'org.egothor')
dependencyNode.appendNode('artifactId', "radixor-model-${modelId}")
dependencyNode.appendNode('version', defaultModelVersions.get(modelId))
dependencyNode.appendNode('scope', 'runtime')
}
}
}
}
repositories {
maven {
name = 'catalogStaging'
url = rootProject.layout.buildDirectory.dir('model-catalog-staging-repository').get().asFile.toURI()
}
}
}
String signingKey = providers.environmentVariable('SIGNING_KEY').orNull
String signingPassword = providers.environmentVariable('SIGNING_PASSWORD').orNull
signing {
required = { providers.environmentVariable('GITHUB_REF_TYPE').orNull == 'tag' }
if (signingKey != null && !signingKey.isBlank()) {
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.standard
}
}
tasks.register('verifyPomOnlyAggregate') {
group = 'verification'
description = 'Verifies the standard POM-only aggregate and its runtime model dependencies.'
dependsOn(tasks.named('generatePomFileForStandardPublication'))
doLast {
File pomFile = layout.buildDirectory.file('publications/standard/pom-default.xml').get().asFile
Node pom = new XmlParser().parse(pomFile)
List<Node> dependencies = pom.dependencies.dependency as List<Node>
List<String> artifactIds = dependencies.collect { Node dependency ->
dependency.artifactId.text()
}
List<String> expected = defaultModelIds.collect { String modelId -> "radixor-model-${modelId}" }
if (pom.packaging.text() != 'pom') {
throw new GradleException('radixor-models-standard must publish Maven packaging pom.')
}
if (artifactIds != expected || dependencies.any { Node dependency -> dependency.scope.text() != 'runtime' }) {
throw new GradleException('radixor-models-standard must contain exactly the ordered default model runtime dependencies.')
}
if (artifactIds.contains('radixor-model-pl-pl-polimorf')) {
throw new GradleException('radixor-models-standard must exclude the optional PoliMorf model.')
}
if (!tasks.withType(Jar).isEmpty()) {
throw new GradleException('radixor-models-standard must not create binary, sources, or Javadoc JARs.')
}
}
}
tasks.named('check') {
dependsOn(tasks.named('verifyPomOnlyAggregate'))
}

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'sv-se-default'
language = 'SV_SE'
displayName = 'Swedish default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/swe'
sourceDataset = 'UniMorph Swedish morphological dataset (`swe`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and English Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: sv-se-default
Radixor language: SV_SE
Source project: UniMorph
Official repository: https://github.com/unimorph/swe
Upstream dataset: UniMorph Swedish morphological dataset (`swe`)
Upstream lexical source: English Wiktionary
Attribution: UniMorph and English Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'uk-ua-default'
language = 'UK_UA'
displayName = 'Ukrainian default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/ukr'
sourceDataset = 'UniMorph Ukrainian morphological dataset (`ukr`); repository also documents non-distributed VESUM data'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph; Witold Kieraś and Maria Shvedova are credited for the separate VESUM conversion; Wiktionary contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: uk-ua-default
Radixor language: UK_UA
Source project: UniMorph
Official repository: https://github.com/unimorph/ukr
Upstream dataset: UniMorph Ukrainian morphological dataset (`ukr`); repository also documents non-distributed VESUM data
Upstream lexical source: Wiktionary; the CC BY-NC-SA VESUM dataset is excluded
Attribution: UniMorph; Witold Kieraś and Maria Shvedova are credited for the separate VESUM conversion; Wiktionary contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'us-uk-default'
language = 'US_UK'
displayName = 'English default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/eng'
sourceDataset = 'UniMorph English morphological dataset (`eng`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph and Wikipedia contributors'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: us-uk-default
Radixor language: US_UK
Source project: UniMorph
Official repository: https://github.com/unimorph/eng
Upstream dataset: UniMorph English morphological dataset (`eng`)
Upstream lexical source: Wikipedia
Attribution: UniMorph and Wikipedia contributors
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.

View File

@@ -0,0 +1,23 @@
plugins {
id 'org.egothor.radixor.model'
}
radixorModel {
modelId = 'yi-default'
language = 'YI'
displayName = 'Yiddish default model'
defaultModel = true
sourceName = 'UniMorph'
sourceVersion = 'not-recorded-in-legacy-import'
sourceRevision = 'not-recorded-in-legacy-import'
sourceProject = 'UniMorph'
sourceRepository = 'https://github.com/unimorph/yid'
sourceDataset = 'UniMorph Yiddish morphological dataset (`yid`)'
sourceRevisionStatus = 'not-recorded-in-legacy-import'
sourceLicense = 'CC-BY-SA-3.0'
sourceLicenseUri = 'https://creativecommons.org/licenses/by-sa/3.0/'
sourceAttribution = 'UniMorph'
sourceVerificationDate = '2026-07-22'
transformationsSummary = 'Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata'
noticeFileName = 'NOTICE-model-data.txt'
}

View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -0,0 +1,38 @@
Radixor model-data notice
Radixor-derived model data
Copyright (C) 2026, Leo Galambos.
Copyright and, where applicable, database rights are claimed in the
Radixor-specific selection, verification, cleaning, normalization,
grouping, deduplication, filtering, reformatting, metadata preparation,
and packaging of this model, to the extent protected by applicable law.
The underlying morphological data remains attributed to UniMorph and
the upstream contributors identified in this notice.
This derived model data, including Radixor's protectable contributions,
is distributed under Creative Commons Attribution-ShareAlike 3.0
Unported.
Model ID: yi-default
Radixor language: YI
Source project: UniMorph
Official repository: https://github.com/unimorph/yid
Upstream dataset: UniMorph Yiddish morphological dataset (`yid`)
Upstream lexical source: The official repository and catalog do not name a separate lexical source
Attribution: UniMorph
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
Canonical license URI: https://creativecommons.org/licenses/by-sa/3.0/
Source revision: not-recorded-in-legacy-import
Revision status: not-recorded-in-legacy-import
The exact UniMorph commit used for the original Radixor import was not recorded. The model remains attributed to the official UniMorph language repository and is distributed under the repository's stated data license.
Radixor modifications: Cleaning, normalization, grouping inflected forms by lemma, deduplication, filtering invalid rows, reformatting into Radixor dictionary groups, GZip packaging, and generation of runtime descriptor and checksum metadata.
The derived model data is distributed under CC BY-SA 3.0. UniMorph supplies morphological data; Radixor constructs its own patch-command trie at runtime. Neither UniMorph nor any upstream contributor endorses Radixor.
Upstream information verified: 2026-07-22

Binary file not shown.