shopvirge-client
A Python client library for the ShopVirge API, auto-generated from the OpenAPI specification using openapi-python-client.
Installation
pip install shopvirge-client
Quick Start
Unauthenticated requests
from shopvirge_client import Client
# Uses https://api.shopvirge.com by default
client = Client()
# Or point to a different environment
client = Client(base_url="https://staging-api.shopvirge.com")
Authentication
Most endpoints require authentication via an OAuth2 access token. First, obtain a token:
from shopvirge_client import Client, AuthenticatedClient
from shopvirge_client.api.login import login_access_token_login_access_token_post as login
from shopvirge_client.models import BodyLoginAccessTokenLoginAccessTokenPost
# Get an access token
client = Client()
credentials = BodyLoginAccessTokenLoginAccessTokenPost(
username="user@example.com",
password="your-password",
)
response = login.sync(client=client, body=credentials)
token = response["access_token"]
# Create an authenticated client
auth_client = AuthenticatedClient(token=token)
Making API calls
Every API endpoint has four functions:
sync()— make a synchronous request, return the parsed responsesync_detailed()— make a synchronous request, return aResponseobject with status code, headers, and parsed bodyasyncio()— async version ofsync()asyncio_detailed()— async version ofsync_detailed()
List shops
from shopvirge_client.api.shops import get_multi_shops_get
shops = get_multi_shops_get.sync(client=auth_client)
Get a specific shop
from shopvirge_client.api.shops import get_by_id_shops_id_get
shop = get_by_id_shops_id_get.sync(id="shop-uuid", client=auth_client)
Create an order
from shopvirge_client.api.orders import create_orders_post
from shopvirge_client.models import OrderCreate
order = OrderCreate(
shop_id="shop-uuid",
# ... other fields
)
result = create_orders_post.sync(client=auth_client, body=order)
List products for a shop
from shopvirge_client.api.shops import create_shops_shop_id_products_post
# Products, categories, tags, and attributes are all scoped under a shop
Async usage
import asyncio
from shopvirge_client import AuthenticatedClient
from shopvirge_client.api.shops import get_multi_shops_get
async def main():
async with AuthenticatedClient(token="your-token") as client:
shops = await get_multi_shops_get.asyncio(client=client)
print(shops)
asyncio.run(main())
Custom base URL
By default the client points to https://api.shopvirge.com. Override it for local development or staging:
from shopvirge_client import Client, AuthenticatedClient
# Local development
client = Client(base_url="http://localhost:8000")
# Staging
auth_client = AuthenticatedClient(
base_url="https://staging-api.shopvirge.com",
token="your-token",
)
Advanced configuration
import httpx
from shopvirge_client import Client
client = Client(
base_url="https://api.shopvirge.com",
timeout=httpx.Timeout(30.0),
follow_redirects=True,
headers={"X-Custom-Header": "value"},
cookies={"session": "abc123"},
raise_on_unexpected_status=True,
)
Available API modules
| Module | Description |
|---|---|
api.login |
Authentication (login, token test, password recovery) |
api.users |
User management |
api.shops |
Shop CRUD, configuration, products, categories, tags, attributes, prices |
api.orders |
Order management |
api.licenses |
License management |
api.downloads |
File downloads |
api.forms |
Form submissions |
api.faq |
FAQ management |
api.images |
Image uploads (signed URLs) |
api.stripe |
Stripe payment integration |
api.early_access |
Early access signups |
License
MIT
Metadata
Release files for shopvirge-client 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shopvirge_client-0.2.2.tar.gz | 61.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shopvirge_client-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 321.6 kB
Release files / shopvirge_client-0.2.2.tar.gz
| Download URL | shopvirge_client-0.2.2.tar.gz |
|---|---|
| Size | 61.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e60af15ec469466d0ea380221d462370f8a4edc1032590bd70e7bacf1d6dc89
|
|
BLAKE2b-256 checksum How to use checksums |
396e9a24c22904a9ea272b2dad4cc40389d9a7aeb5b1134d831575c46acc506f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency logRelease files / shopvirge_client-0.2.2-py3-none-any.whl
| Download URL | shopvirge_client-0.2.2-py3-none-any.whl |
|---|---|
| Size | 259.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ebc9098afb9145e5289d809e52757433d9427c7d2bd7d0a4ad3d93082a53aef
|
|
BLAKE2b-256 checksum How to use checksums |
432f56de9d6d7c37d31c46c22bed0a0edfb3e62e9612c2f562865ec36c2ba766
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency log