Metadata-Version: 2.4
Name: nukat
Version: 1.0.0
Summary: Python client for searching the NUKAT library catalog
Author-email: kupolak <jakub.polak.vz@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/kupolak/nukat
Project-URL: Documentation, https://github.com/kupolak/nukat#readme
Project-URL: Repository, https://github.com/kupolak/nukat
Project-URL: Issues, https://github.com/kupolak/nukat/issues
Keywords: nukat,library,catalog,search,bibliographic
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup :: HTML
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: lxml>=4.9.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: pytest-mock>=3.10; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: types-requests>=2.31.0; extra == "dev"
Requires-Dist: types-beautifulsoup4>=4.12.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "docs"
Dynamic: license-file

# Nukat

<p align="center">
  <img src="nukat-logo.png" alt="NUKAT Logo" width="400">
</p>

[![CI](https://github.com/kupolak/nukat/actions/workflows/ci.yml/badge.svg)](https://github.com/kupolak/nukat/actions/workflows/ci.yml)
[![Python Version](https://img.shields.io/pypi/pyversions/nukat.svg)](https://pypi.org/project/nukat/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Python client for the NUKAT library catalog.

## Installation

```bash
pip install nukat
```

## Usage

### Command line

```bash
nukat "Python programming"
nukat "Ireneusz Kania" --all
nukat 48685 --id
```

### Python

```python
from nukat import Nukat

client = Nukat()
results = client.search("Python programming")

for result in results:
    print(result['title'], result.get('author'))
```

## Search options

```python
# Basic search
client.search("Python", limit=50)

# Search all pages
client.search_all("Ireneusz Kania")

# Filters
client.search("AI", year_from=2020, year_to=2024, language="eng")

# Convenience methods
client.search_by_author("Kowalski Jan")
client.search_by_title("Python in practice")
client.search_by_isbn("978-83-246-1234-5")

# Get full record
client.get_record_details("48685")
```

## Development

```bash
git clone https://github.com/kupolak/nukat.git
cd nukat
pip install -e ".[dev]"
pytest
```

## License

MIT
