Entity Recognition Parser for Swarmauri.
Project description
Swarmauri Parser Entityrecognition
Named-entity recognition (NER) parser for Swarmauri built on spaCy. Extracts entities (PERSON, ORG, GPE, etc.) from unstructured text and returns Document objects with entity metadata.
Features
- Uses spaCy's
en_core_web_smmodel by default (downloads automatically if missing). - Falls back to a blank English pipeline with minimal regex-based tagging when the full model is unavailable (best-effort mode).
- Emits
Documentinstances containing the entity text and metadata (entity_type,entity_id).
Prerequisites
- Python 3.10 or newer.
- spaCy and its English model. The parser attempts to download
en_core_web_smif missing; setSPACY_HOMEor pre-install the model in production deployments. - If running without internet access, install the model ahead of time:
python -m spacy download en_core_web_sm.
Installation
# pip
pip install swarmauri_parser_entityrecognition
# poetry
poetry add swarmauri_parser_entityrecognition
# uv (pyproject-based projects)
uv add swarmauri_parser_entityrecognition
Quickstart
from swarmauri_parser_entityrecognition import EntityRecognitionParser
text = "Barack Obama was born in Hawaii and served as President of the United States."
parser = EntityRecognitionParser()
entities = parser.parse(text)
for entity_doc in entities:
print(entity_doc.content, entity_doc.metadata["entity_type"])
Batch Processing
texts = [
"Apple Inc. unveiled new MacBooks in California.",
"Tim Cook met investors in New York City.",
]
parser = EntityRecognitionParser()
results = [parser.parse(t) for t in texts]
for doc_set in results:
for doc in doc_set:
print(doc.content, doc.metadata["entity_type"])
Handling Fallback Mode
When spaCy's English model is unavailable, the parser performs best-effort matching using a blank pipeline and simple regex patterns. Check for entity_type values and the entity_id metadata to understand which mode produced the result.
parser = EntityRecognitionParser()
entities = parser.parse("Tim Cook announced new products in New York City for Apple Inc.")
print([d.metadata for d in entities])
Install spaCy models before production use to avoid fallback accuracy losses.
Tips
- For languages beyond English, load a different spaCy model by changing the initialization logic (e.g., subclass the parser and load
es_core_news_sm). - Preprocess text to remove noise (HTML tags, markup) before parsing to improve NER accuracy.
- Combine with Swarmauri middleware or pipelines to fuse entity data with downstream tasks (e.g., knowledge graph enrichment, anonymization).
Want to help?
If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swarmauri_parser_entityrecognition-0.8.0.tar.gz.
File metadata
- Download URL: swarmauri_parser_entityrecognition-0.8.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f237d6b86a4b139404b5ce8c7ed9f140ce43a5c93a28f002f9f614c55fddfa2
|
|
| MD5 |
98e3f4bba583738e77831628a4531a00
|
|
| BLAKE2b-256 |
a2405038a0eee6b6f71a7594935331e970ea757c66d9483184bd5b0c2f566a60
|
File details
Details for the file swarmauri_parser_entityrecognition-0.8.0-py3-none-any.whl.
File metadata
- Download URL: swarmauri_parser_entityrecognition-0.8.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa760d169b5a3476e036a16033e156523af0406e5192b6634d209ff1dfd9a414
|
|
| MD5 |
44c25bd842f6a79785db8d46e0cad8ab
|
|
| BLAKE2b-256 |
d35151b98d30373df3a5cefc511a6f32ea8ad5a4dab2e939a31b90de92d05e00
|