File size: 2,343 Bytes
9c2cf4c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "juurio"
version = "0.1.0"
description = "Open-vocabulary Finnish morphology: a neural parser, an exception lexicon and tiny neural realizers for OOV/loan word forms"
readme = "README.md"
requires-python = ">=3.12"
license = { text = "MIT" }
license-files = ["LICENSE"]
authors = [{ name = "samuli" }]
keywords = ["finnish", "morphology", "nlp", "inflection", "dependency-parsing", "fst", "uralic"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Natural Language :: Finnish",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.12",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Text Processing :: Linguistic",
]
# Version floors track the tested versions and MUST NOT exceed what's installed/tested (guarded by
# tests/test_runtime_dep_floors.py) — a floor above the tested version makes a clean `pip install` pull
# an untested-newer dep. Inference needs only torch / numpy / transformers (the analysis path is the
# torch-only neural parser; generation uses the neural realizers + lexicon). huggingface-hub: it
# fetches the model/data artifacts from a HuggingFace repo via bootstrap.artifact_path.
dependencies = [
    "transformers>=5.7",
    "torch>=2.4",
    "numpy>=1.26",
    "huggingface-hub>=0.34",
]

[project.urls]
Homepage = "https://huggingface.co/samuli/juurio"

[project.optional-dependencies]
dev = ["pytest>=8", "packaging>=23"]

[project.scripts]
juurio = "juurio.cli:main"

# ─── Wheel ship-list ─────────────────────────────────────────────────────────────────────────────
# Ships the `juurio` package (top-level modules + the genlex override JSONs, juurio.analyze,
# and juurio.parser). The bulk serving artifacts (model checkpoints, wordlist, compressed tag table)
# are NOT bundled — they are fetched at runtime from the HuggingFace repo by `juurio setup`
# (bootstrap.py), sha256-verified. Guarded by tests/test_serving_wheel_contents.py.
[tool.hatch.build.targets.wheel]
only-include = ["juurio"]