semvec/pypi-packages huggingface dataset:
nanonetsclient 1.0.4
Nanonets API SDK for Python
Requires Python: >=3.7

# nanonetsclient

> **Python SDK for the Nanonets API**

> **Minimum Python version required:** 3.7

---

**Nanonets** is an AI-powered Intelligent Document Processing platform that helps you:
- Extract structured data from invoices, receipts, forms, and more documents 
- Supports pdf, images (jpg, png, tiff), excel files, scanned documents and photos
- Automate data entry and document workflows
- Convert unstructured documents into machine-readable formats
- Integrate advanced OCR and table extraction into your apps

**Keywords:** OCR, document extraction, invoice processing, receipt OCR, table extraction, data capture, workflow automation, AI document processing, unstructured to structured data, Python SDK, Nanonets API

---

## Get your API Key

Sign up and get your API key from your [Nanonets dashboard](https://app.nanonets.com/#/keys).

---

## Installation

```bash
pip install nanonetsclient
```

## Authentication

Set your API key as an environment variable:

```bash
export NANONETS_API_KEY='your_api_key'
```

Or pass it directly when initializing the client:

```python
from nanonets import NanonetsClient
client = NanonetsClient(api_key='your_api_key')
```

## Quick Start

```python
from nanonets import NanonetsClient

client = NanonetsClient(api_key='your_api_key')

# 1. Create a workflow
workflow = client.workflows.create(
    description="SDK Example Workflow",
    workflow_type=""  # Instant learning
)
workflow_id = workflow.get("workflow_id") or workflow.get("id")

# 2. Configure fields and table headers
fields = [
    {"name": "invoice_number"},
    {"name": "total_amount"},
    {"name": "invoice_date"}
]
table_headers = [
    {"name": "item_description"},
    {"name": "quantity"},
    {"name": "unit_price"},
    {"name": "total"}
]
client.workflows.set_fields(
    workflow_id=workflow_id,
    fields=fields,
    table_headers=table_headers
)

# 3. Upload a document to process
result = client.workflows.upload_document(
    workflow_id=workflow_id,
    file_path="invoice.pdf",
    async_mode=False,
    metadata={"test": "true"}
)
print("Upload result:", result)
```

## Features
- Workflow Management
- Fields and Tables Configuration
- Document Processing
- Document Moderation

## Available Methods

**Workflow Management**
- `create_workflow`
- `get_workflow`
- `list_workflows`
- `set_fields`
- `update_field`
- `delete_field`
- `update_metadata`
- `update_settings`

**Document Processing**
- `upload_document`
- `get_document`
- `list_documents`
- `delete_document`

**Document Moderation**
- `update_field_value`
- `add_field_value`
- `delete_field_value`
- `add_table`
- `delete_table`
- `update_table_cell`
- `add_table_cell`
- `delete_table_cell`
- `verify_field`
- `verify_table_cell`
- `verify_table`
- `verify_document`

## Complete Documentation

For full documentation and advanced usage, visit:  
[https://apidocs.nanonets.com/docs/sdk/python-sdk/](https://apidocs.nanonets.com/docs/sdk/python-sdk/)

## License

MIT
soumabkar-films-sdk 0.0.3
SDK Python pour accéder à l’API MovieLens (Data Analysts/Data Scientists friendly)
Requires Python: >=3.7

# MovieLens SDK - `soumabkar_film_sdk`

Un SDK Python simple pour interagir avec l’API REST MovieLens. Il est conçu pour les **Data Analysts** et **Data Scientists**, avec une prise en charge native de **Pydantic**, **dictionnaires** et **DataFrames Pandas**.

[![PyPI version](https://badge.fury.io/py/moviesdk.svg)](https://badge.fury.io/py/moviesdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

---

## Installation

```bash
pip install soumabkar_film_sdk
```

---

## Configuration

```python
from soumabkar_film_sdk import MovieClient, MovieConfig

# Configuration avec l’URL de votre API (Render ou locale)
config = MovieConfig(movie_base_url="https://movie-backend-cm2v.onrender.com")
client = MovieClient(config=config)
```

---

## Tester le SDK

### 1. Health check

```python
client.health_check()
# Retourne : {"status": "ok"}
```

### 2. Récupérer un film

```python
movie = client.get_movie(1)
print(movie.title)
```

### 3. Liste de films au format DataFrame

```python
df = client.list_movies(limit=5, output_format="pandas")
print(df.head())
```

---

## Modes de sortie disponibles

Toutes les méthodes de liste (`list_movies`, `list_ratings`, etc.) peuvent retourner :

- des objets **Pydantic** (défaut)
- des **dictionnaires**
- des **DataFrames Pandas**

Exemple :

```python
client.list_movies(limit=10, output_format="dict")
client.list_ratings(limit=10, output_format="pandas")
```

---

## Tester en local

Vous pouvez aussi utiliser une API locale :

```python
config = MovieConfig(movie_base_url="http://localhost:88")
client = MovieClient(config=config)
```

---

## Public cible

- Data Analysts
- Data Scientists
- Étudiants et curieux en Data
- Développeurs Python

---

## Licence

MIT License

---

## Liens utiles

- API Render : [https://movie-backend-cm2v.onrender.com](https://movie-backend-cm2v.onrender.com)
- PyPI : [https://pypi.org/project/soumabkar_film_sdk](https://pypi.org/project/soumabkar_film_sdk)
cs-ndjson 20250528
utilities for working with newline delimited JSON (NDJSON) files
Keywords: python2, python3

Utilities for working with newline delimited JSON (NDJSON) files, aka JSON Lines.

*Latest release 20250528*:
New dump_ndjson and dumps_ndjson for transcribing obj as NDJSON (includes the trailing newline).

Short summary:
* `append_ndjson`: Append an iterable of objects to a file as newline delimited JSON.
* `dump_ndjson`: Write `obj` as a single line of JSON, including the trailing newline.
* `dumps_ndjson`: Return `obj` as a single line of JSON, including the trailing newline.
* `scan_ndjson`: Read a newline delimited JSON file, yield instances of `dictclass` (default `dict`, otherwise a class which can be instantiated by `dictclass(a_dict)`).
* `UUIDNDJSONMapping`: A subclass of `IndexedSetMixin` which maintains records from a newline delimited JSON file.
* `write_ndjson`: Transcribe an iterable of objects to a file as newline delimited JSON.

Module contents:
- <a name="append_ndjson"></a>`append_ndjson(f, objs)`: Append an iterable of objects to a file as newline delimited JSON.
- <a name="dump_ndjson"></a>`dump_ndjson(obj, f)`: Write `obj` as a single line of JSON, including the trailing newline.
- <a name="dumps_ndjson"></a>`dumps_ndjson(obj)`: Return `obj` as a single line of JSON, including the trailing newline.
- <a name="scan_ndjson"></a>`scan_ndjson(f, dictclass=<class 'dict'>, error_list=None)`: Read a newline delimited JSON file, yield instances of `dictclass`
  (default `dict`, otherwise a class which can be instantiated
  by `dictclass(a_dict)`).

  `error_list` is an optional list to accrue `(lineno,exception)` tuples
  for errors encountered during the scan.
- <a name="UUIDNDJSONMapping"></a>`Class `UUIDNDJSONMapping(cs.obj.SingletonMixin, cs.mappings.IndexedSetMixin)``: A subclass of `IndexedSetMixin` which maintains records
  from a newline delimited JSON file.

*`UUIDNDJSONMapping.__init__(self, filename, dictclass=<class 'cs.mappings.UUIDedDict'>, create=False)`*:
Initialise the mapping.

Parameters:
* `filename`: the file containing the newline delimited JSON data;
  this need not yet exist
* `dictclass`: a optional `dict` subclass to hold each record,
  default `UUIDedDict`
* `create`: if true, ensure the file exists
  by transiently opening it for append if it is missing;
  default `False`

*`UUIDNDJSONMapping.add_backend(self, record)`*:
Append `record` to the backing file.

*`UUIDNDJSONMapping.rewrite_backend(self)`*:
Rewrite the backing file.

Because the record updates are normally written in append mode,
a rewrite will be required every so often.

*`UUIDNDJSONMapping.scan(self)`*:
Scan the backing file, yield records.
- <a name="write_ndjson"></a>`write_ndjson(f, objs)`: Transcribe an iterable of objects to a file as newline delimited JSON.

# Release Log



*Release 20250528*:
New dump_ndjson and dumps_ndjson for transcribing obj as NDJSON (includes the trailing newline).

*Release 20211208*:
Initial PyPI release.