# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['lingpatlab',
 'lingpatlab.analyze',
 'lingpatlab.analyze.bp',
 'lingpatlab.analyze.dmo',
 'lingpatlab.analyze.dto',
 'lingpatlab.analyze.svc',
 'lingpatlab.baseblock',
 'lingpatlab.parser',
 'lingpatlab.parser.dmo',
 'lingpatlab.parser.dto',
 'lingpatlab.parser.svc',
 'lingpatlab.segmenter',
 'lingpatlab.segmenter.bp',
 'lingpatlab.segmenter.dmo',
 'lingpatlab.segmenter.svc',
 'lingpatlab.tokenizer',
 'lingpatlab.tokenizer.bp',
 'lingpatlab.tokenizer.dmo',
 'lingpatlab.tokenizer.dto',
 'lingpatlab.tokenizer.svc',
 'lingpatlab.utils']

package_data = \
{'': ['*']}

install_requires = \
['spacy==3.8.2', 'unicodedata2', 'wordnet-lookup']

setup_kwargs = {
    'name': 'lingpatlab',
    'version': '1.1.1',
    'description': 'Linguistic Pattern Lab using spaCy',
    'long_description': '# LingPatLab\n\n[![PyPI version](https://badge.fury.io/py/lingpatlab.svg)](https://badge.fury.io/py/lingpatlab)\n[![Downloads](https://static.pepy.tech/badge/lingpatlab)](https://pepy.tech/project/lingpatlab)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: autopep8](https://img.shields.io/badge/code%20style-autopep8-blue.svg)](https://github.com/hhatto/autopep8)\n[![spaCy](https://img.shields.io/badge/built%20with-spaCy-09a3d5.svg)](https://spacy.io)\n\n> Linguistic Pattern Laboratory: Advanced NLP pipeline for text analysis, entity extraction, and pattern recognition.\n\n## Features\n\n- **Tokenization**: Custom Graffl tokenizer with intelligent handling of contractions, abbreviations, and punctuation\n- **Parsing**: Deep linguistic analysis with POS tagging, dependency parsing, and WordNet integration\n- **Entity Extraction**: Pattern-based extraction of people and topics with anaphora resolution\n- **Segmentation**: Paragraph and sentence boundary detection\n- **Rich Annotations**: Sentiment, lemmatization, stemming, and morphological features\n\n## Installation\n\n```bash\npip install lingpatlab\n```\n\n## Quick Start\n\n```python\nfrom lingpatlab import LingPatLab\n\napi = LingPatLab()\n\n# Parse text into structured tokens\nsentence = api.parse_input_text("Admiral Nimitz commanded the Pacific Fleet.")\nprint(sentence.to_string())\n\n# Extract people with anaphora resolution\ntext = "Admiral William Halsey led the fleet. Halsey was known for his aggressive tactics."\nsentence = api.parse_input_text(text)\npeople = api.extract_people(sentence)\n# Returns: {\'Halsey\': [\'Admiral William Halsey\', \'Halsey\']}\n\n# Extract topics and named entities\ntopics = api.extract_topics(sentence)\n```\n\n## Usage Examples\n\n### Parse Multiple Lines\n\n```python\nlines = [\n    "The Battle of Midway was a turning point.",\n    "Admiral Nimitz made crucial decisions."\n]\nsentences = api.parse_input_lines(lines)\n\nfor sentence in sentences:\n    print(sentence.to_string())\n```\n\n### Segmentation\n\n```python\nfrom lingpatlab import segment_input_text\n\ntext = "First sentence. Second sentence. Third sentence."\nsegments = segment_input_text(text)\n# Returns: [\'First sentence.\', \'Second sentence.\', \'Third sentence.\']\n```\n\n### Access Token Details\n\n```python\nsentence = api.parse_input_text("The quick brown fox jumps.")\n\nfor token in sentence:\n    print(f"Text: {token.text}")\n    print(f"POS: {token.pos}")\n    print(f"Lemma: {token.normal}")\n    print(f"Is WordNet: {token.is_wordnet}")\n    print(f"Dependency: {token.dep}")\n```\n\n## Data Classes\n\n- **`Sentence`**: Single sentence with token list\n- **`Sentences`**: Collection of sentences\n- **`SpacyResult`**: Individual token with full linguistic annotation\n- **`OtherInfo`**: Additional morphological and dependency metadata\n\n## Architecture\n\n```\nLingPatLab\n├── tokenizer/     # Custom tokenization with Graffl\n├── parser/        # spaCy integration + enhancements\n├── analyzer/      # Entity extraction with pattern matching\n├── segmenter/     # Sentence and paragraph segmentation\n└── utils/         # WordNet, Porter stemmer, utilities\n```\n\n## Requirements\n\n- Python 3.10+\n- spaCy 3.8.2\n- spaCy model: `en_core_web_sm`\n\n## Development\n\n```bash\n# Install with dev dependencies\npip install -e ".[linting,testing]"\n\n# Run tests\npytest\n\n# Run regression suite\npython regression/regression_runner.py\n```\n\n## Links\n\n- [PyPI Package](https://pypi.org/project/lingpatlab/)\n- [GitHub Repository](https://github.com/craigtrim/lingpatlab)\n- [Issue Tracker](https://github.com/craigtrim/lingpatlab/issues)\n\n## License\n\nMIT License - see [LICENSE](https://github.com/craigtrim/lingpatlab/blob/master/LICENSE) for details.\n\n## Author\n\n**Craig Trim** - [craigtrim@gmail.com](mailto:craigtrim@gmail.com)\n\nMore NLP articles and demos at [craigtrim.com](http://craigtrim.com/)\n',
    'author': 'Craig Trim',
    'author_email': 'craigtrim@gmail.com',
    'maintainer': 'Craig Trim',
    'maintainer_email': 'craigtrim@gmail.com',
    'url': 'https://github.com/craigtrim/lingpatlab',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'python_requires': '>=3.10,<4.0',
}


setup(**setup_kwargs)
