semvec/pypi-packages huggingface dataset:
jikanpy-v4-alpha 0.0.1
A client library for accessing Jikan API
Requires Python: >=3.7,<4.0

# jikan-api-client

NOTE: Docs are partly autogenerated -- this is all placeholder for now

A client library for accessing Jikan API

## Usage

First, create a client:

```python
from jikan_api_client import Client

client = Client(base_url="https://api.example.com")
```

Now call your endpoint and use your models:

```python
from jikan_api_client.models import MyDataModel
from jikan_api_client.api.my_tag import get_my_data_model
from jikan_api_client.types import Response

my_data: MyDataModel = get_my_data_model.sync(client=client)
# or if you need more info (e.g. status_code)
response: Response[MyDataModel] = get_my_data_model.sync_detailed(client=client)
```

Or do the same thing with an async version:

```python
from jikan_api_client.models import MyDataModel
from jikan_api_client.api.my_tag import get_my_data_model
from jikan_api_client.types import Response

my_data: MyDataModel = await get_my_data_model.asyncio(client=client)
response: Response[MyDataModel] = await get_my_data_model.asyncio_detailed(client=client)
```

Things to know:

1. Every path/method combo becomes a Python module with four functions:

   1. `sync`: Blocking request that returns parsed data (if successful) or `None`
   1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful.
   1. `asyncio`: Like `sync` but the async instead of blocking
   1. `asyncio_detailed`: Like `sync_detailed` by async instead of blocking

1. All path/query params, and bodies become method arguments.
1. Any endpoint which did not have a tag will be in `jikan_api_client.api.default`

## Building / publishing this Client

This project uses [Poetry](https://python-poetry.org/) to manage dependencies and packaging. Here are the basics:

1. Update the metadata in pyproject.toml (e.g. authors, version)
1. If you're using a private repository, configure it with Poetry
   1. `poetry config repositories.<your-repository-name> <url-to-your-repository>`
   1. `poetry config http-basic.<your-repository-name> <username> <password>`
1. Publish the client with `poetry publish --build -r <your-repository-name>` or, if for public PyPI, just `poetry publish --build`

If you want to install this client into another project without publishing it (e.g. for development) then:

1. If that project **is using Poetry**, you can simply do `poetry add <path-to-this-client>` from that project
1. If that project is not using Poetry:
   1. Build a wheel with `poetry build -f wheel`
   1. Install that wheel from the other project `pip install <path-to-wheel>`