Skip to main content

Unofficial Python SDK for Neva Object Storage (S3-compatible).

Project description

ate-neva-obst

PyPI Python License

Unofficial Python SDK for Neva Object Storage (S3-compatible).


Installation

pip install ate-neva-obst

Usage

from neva_obst import ObjectsClient
from neva_obst.client import ObjectsConfig

config = ObjectsConfig(
    access_key="YOUR_ACCESS_KEY",
    secret_key="YOUR_SECRET_KEY",
    bucket="my-bucket",
)

with ObjectsClient(config) as client:

    # Upload file
    key = client.upload("./photo.jpg")
    print(f"Uploaded: {key}")

    # Upload with custom object key
    client.upload("./document.pdf", object_key="reports/2024/document.pdf")

    # Check if object exists
    if client.object_exists("photo.jpg"):
        print("Object exists!")

    # List all objects
    for obj in client.list():
        print(f"{obj.key}  {obj.size} bytes  {obj.last_modified}")

    # Get only object keys
    keys = client.list_keys(prefix="reports/")

    # Download object
    client.download(object_key="photo.jpg", local_path="./photo.jpg")

    # Generate download URL (default expiry)
    url = client.get_download_url("photo.jpg")

    # Generate download URL with custom expiry (1 hour)
    url = client.get_download_url("photo.jpg", expires_in=3600)

    # Delete object
    client.delete("photo.jpg")

Error Handling

from neva_obst import (
    ObjectsClient,
    UploadError,
    ListError,
    DownloadError,
    ObjectsError
)

try:
    client.upload("./file.txt")

except FileNotFoundError as e:
    print(f"File not found: {e}")

except UploadError as e:
    print(f"Upload failed [{e.code}]: {e}")

except ObjectsError as e:
    print(f"General error: {e}")

Full Configuration

config = ObjectsConfig(
    access_key="YOUR_ACCESS_KEY",
    secret_key="YOUR_SECRET_KEY",
    bucket="my-bucket",
    endpoint="https://s3.nevaobjects.id",  # default endpoint
    default_expiry=3600,                   # default URL expiry (seconds)
)

Changelog

2026-02-28
Initial release of ate-neva-obst SDK.

2026-03-07
Project renamed from ate-dme-obstate-neva-obst.

2026-03-09

  • Improved error handling (better 404 detection)
  • Added automatic Content-Type detection during upload

Disclaimer

  • This package is not officially affiliated with Neva Cloud or Domainesia.
  • The SDK is stateless and does not transmit user data to third-party servers (except the target storage endpoint).
  • The official project website is currently under development and will include guides and full documentation.

About

ate-neva-obst is an open-source project built by AzzTE.

Made with passion for developers who want a simple and clean Python SDK for Neva Object Storage.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ate_neva_obst-2.0.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ate_neva_obst-2.0.1-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file ate_neva_obst-2.0.1.tar.gz.

File metadata

  • Download URL: ate_neva_obst-2.0.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ate_neva_obst-2.0.1.tar.gz
Algorithm Hash digest
SHA256 7d09fb4d776541e689b00d14686e2ae55ea40baa3d22b8115c549b03e67510d7
MD5 529bf3f177eb2dd84551649760ae5b0e
BLAKE2b-256 a5d41bda70a6cce9dd98d536f43ec00eb26ec6d52235b422d8ce452c54573dee

See more details on using hashes here.

File details

Details for the file ate_neva_obst-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: ate_neva_obst-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ate_neva_obst-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d6b143179fbc91966364804919c4b2f6924b28caf692d3eb242cc7d63b017646
MD5 d1c4c4611095210ae82b8362644edcf0
BLAKE2b-256 f0c05c7bfb64cff595f2450eb093c7f2aa5a676e178eef86c67bd6b243905395

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page