Skip to main content

Annotator based on entity-fishing

Project description

pyannotators-entityfishing

Annotator based on entity-fishing for named entity recognition and disambiguation against Wikidata.

Installation

pip install pyannotators-entityfishing

For noun-form filtering (optional):

pip install pyannotators-entityfishing[spacy]
python -m spacy download en_core_web_sm  # or other language models

Usage

from pymultirole_plugins.v1.schema import Document
from pyannotators_entityfishing.entityfishing import EntityFishingAnnotator, EntityFishingParameters

annotator = EntityFishingAnnotator()
parameters = EntityFishingParameters(
    default_label="ENTITY",
    minSelectorScore=0.3,
)

docs = annotator.annotate(
    [Document(text="Albert Einstein was born in Ulm.", metadata={"language": "en"})],
    parameters,
)

for ann in docs[0].annotations:
    print(f"{ann.start}:{ann.end} {ann.labelName} {ann.terms[0].identifier}")

Development

Install test dependencies:

uv pip install -e ".[test]"

Linting

uv run ruff check src/ tests/
uv run ruff format --check src/ tests/

Testing

uv run pytest

Coverage

uv run pytest --cov=src --cov-report=term-missing

SBOM & vulnerability check

Install the SBOM dependencies:

uv sync --extra sbom

Generate a CycloneDX SBOM from the current environment:

uv run cyclonedx-py environment -o sbom.cdx.json --output-format json

Audit dependencies for known vulnerabilities:

uv run pip-audit --format json --output audit-report.json

To fail on any known vulnerability (useful in CI):

uv run pip-audit --strict

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyannotators_entityfishing-1.6.30.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyannotators_entityfishing-1.6.30-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pyannotators_entityfishing-1.6.30.tar.gz.

File metadata

  • Download URL: pyannotators_entityfishing-1.6.30.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyannotators_entityfishing-1.6.30.tar.gz
Algorithm Hash digest
SHA256 0d063ff19361b52295fa7260483e5d12b7481e02457e423be5bb1e03b5d46dd1
MD5 9bb1c45729072865a37d533a1a9f795f
BLAKE2b-256 431caa2c968749599d66dcae89f96d76753e98d0b3b6c5af7cba50254d3c8ccb

See more details on using hashes here.

File details

Details for the file pyannotators_entityfishing-1.6.30-py3-none-any.whl.

File metadata

  • Download URL: pyannotators_entityfishing-1.6.30-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyannotators_entityfishing-1.6.30-py3-none-any.whl
Algorithm Hash digest
SHA256 5c627d4e19be260144e8b76fb5516dbf044ed19ab8e41cb9bac3b9ed064db7ae
MD5 caa6b46dc5cfe1be154b12ba7c387fa2
BLAKE2b-256 aa69e9ae33c2effd16e8f1248bc89441310cc9e4bedf59794abf79f97de826ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page