Skip to main content

IPC Artsnoa Python SDK

Official Python SDK for ipc.artsnoa.com API - Get your IP address and location information.

Features

  • Simple and intuitive API
  • Type hints for better IDE support
  • Comprehensive error handling
  • Context manager support
  • Minimal dependencies

Installation

pip install ipc-artsnoa

Or with uv:

uv add ipc-artsnoa

Quick Start

from ipc_artsnoa import IPCClient

# Initialize client (API key is optional)
client = IPCClient(api_key='YOUR_API_KEY')

# Get basic IP information
data = client.get_ip()
print(f'Your IP: {data["ip"]}, Country: {data["country"]}')

# Get detailed IP information
details = client.get_ip_details()
print(f'IP: {details["ip"]}, ASN: {details["asn"]}, Currency: {details["currency"]}')

Usage Examples

Basic Usage

from ipc_artsnoa import IPCClient

# Create client with API key
client = IPCClient(api_key='YOUR_API_KEY')

# Get basic IP information
data = client.get_ip()
print(f"IP: {data['ip']}")
print(f"Country: {data['country']}")

# Without API key
client = IPCClient()
data = client.get_ip()
print(f"Your IP: {data['ip']}")

Detailed IP Information

from ipc_artsnoa import IPCClient

client = IPCClient(api_key='YOUR_API_KEY')

# Get detailed information including ASN, currency, languages
details = client.get_ip_details()
print(f"IP: {details['ip']}")
print(f"User Agent: {details['userAgent']}")
print(f"ASN: {details['asn']}")
print(f"Country: {details['country']}")
print(f"Currency: {details['currency']}")
print(f"Languages: {details['languages']}")
print(f"Timestamp: {details['timestamp']}")

SDK Version Information

from ipc_artsnoa import IPCClient

client = IPCClient()

# Get available SDK versions
versions = client.get_sdk_versions()
print(f"Python SDK: {versions['python']}")
print(f"JavaScript SDK: {versions['javascript']}")

Custom Configuration

from ipc_artsnoa import IPCClient

# Custom timeout
client = IPCClient(
    api_key='YOUR_API_KEY',
    timeout=15.0
)

data = client.get_ip()

Using Context Manager

from ipc_artsnoa import IPCClient

# Automatically closes session when done
with IPCClient(api_key='YOUR_API_KEY') as client:
    data = client.get_ip()
    print(f"IP: {data['ip']}")

Error Handling

The SDK provides specific exception types for different error scenarios:

from ipc_artsnoa import (
    IPCClient,
    IPCError,
    IPCAPIError,
    IPCConnectionError,
    IPCTimeoutError
)

client = IPCClient(api_key='YOUR_API_KEY')

try:
    data = client.get_ip()
    print(f"Your IP: {data['ip']}")
except IPCAPIError as e:
    print(f"API error: {e}")
    if hasattr(e, 'status_code'):
        print(f"Status code: {e.status_code}")
except IPCConnectionError as e:
    print(f"Connection error: {e}")
except IPCTimeoutError as e:
    print(f"Request timeout: {e}")
except IPCError as e:
    print(f"IPC error: {e}")

API Reference

IPCClient

Constructor

IPCClient(
    api_key: str | None = None,
    timeout: float = 10.0
)

Parameters:

  • api_key (str | None): API key for authentication. Optional.
  • timeout (float): Request timeout in seconds. Defaults to 10.0

Methods

get_ip() -> dict

Get basic IP address and location information.

Returns:

  • Dictionary containing basic IP information including:
    • ip: Your IP address
    • country: Country code

Raises:

  • IPCAPIError: When API returns an error response
  • IPCConnectionError: When connection fails
  • IPCTimeoutError: When request times out

Example:

data = client.get_ip()
print(f"IP: {data['ip']}, Country: {data['country']}")
get_ip_details() -> dict

Get detailed IP address information.

Returns:

  • Dictionary containing detailed IP information including:
    • ip: Your IP address
    • userAgent: Browser user agent string
    • asn: Autonomous System Number
    • country: Country code
    • currency: Country currency code
    • languages: Supported languages
    • timestamp: Request timestamp
    • version: API version

Raises:

  • IPCAPIError: When API returns an error response
  • IPCConnectionError: When connection fails
  • IPCTimeoutError: When request times out

Example:

details = client.get_ip_details()
print(f"IP: {details['ip']}, ASN: {details['asn']}")
get_sdk_versions() -> dict

Get available SDK versions.

Returns:

  • Dictionary containing SDK versions for different platforms:
    • python: Python SDK version
    • javascript: JavaScript SDK version

Raises:

  • IPCAPIError: When API returns an error response
  • IPCConnectionError: When connection fails
  • IPCTimeoutError: When request times out

Example:

versions = client.get_sdk_versions()
print(f"Python SDK: {versions['python']}")
close()

Close the underlying HTTP session.

Example:

client.close()

Context Manager Support

The client supports context manager protocol for automatic resource cleanup:

with IPCClient(api_key='YOUR_API_KEY') as client:
    data = client.get_ip()

Development

# Clone repository
git clone https://github.com/artsnoa/ipc-python-sdk.git
cd ipc-python-sdk

# Install dependencies with uv
uv sync

# Build package
uv build

Requirements

  • Python 3.10 or higher
  • requests >= 2.31.0

License

MIT License

Support

Metadata

Release files for ipc-artsnoa 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipc-artsnoa 1.0.1
File Size Uploaded
ipc_artsnoa-1.0.1.tar.gz 48.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ipc-artsnoa 1.0.1
File Interpreter ABI Platform
ipc_artsnoa-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 55.5 kB

Release files / ipc_artsnoa-1.0.1.tar.gz

Download URL ipc_artsnoa-1.0.1.tar.gz
Size 48.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4328f030e63fef0498e1c65d180c4e6cc8677382b3c50b046ab06b0f24cb5bc6
BLAKE2b-256 checksum
How to use checksums
e71c7d9b9cb4e7eee35cad4326314b50a8f164a7bae240fc25bd566197456447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release files / ipc_artsnoa-1.0.1-py3-none-any.whl

Download URL ipc_artsnoa-1.0.1-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b46d3cfb26e56e46d145b6370baf133bf1001f6c082b1498700de71970cd6d2
BLAKE2b-256 checksum
How to use checksums
34d0d047209a2bca7929c9cd1a8897c19c91bdc89eeef7a326fa7157715b0ecc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page