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.0.tar.gz (5.6 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.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ate_neva_obst-2.0.0.tar.gz
  • Upload date:
  • Size: 5.6 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.0.tar.gz
Algorithm Hash digest
SHA256 5677f7dbed9de6dbb16350133a9192d8b6394e315c82dcf45f9288c0896d616b
MD5 7ea3edac49aba4fcaed67d845b582b1a
BLAKE2b-256 a950cb5a41a63d6a4a736cf28d196e6364cd0850d6c137a2fc40e557b1c7a8f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ate_neva_obst-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbde77b5c7fa5986d750a578ad8033a0e62a208d4c7c32fbf691c0e540e62bb8
MD5 8e978244aceb5823730c4d14b62ce82a
BLAKE2b-256 5ebf2a8ec09537abb2380a38c6a023576edc3005c6e75c86c955aca23f6afeb2

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