Catalog PyPI
Back to packageRELEASE DETAILS

0.4.2

PyPI

acrud

<p align="center"> <img src="./resources/logo.png" alt="Logo" width="100"> </p> # aCRUD This python package provides a CRUD interfaces for a number of storage providers. Currently supported providers: - [x] Local - [x] AWS S3 - [x] Google Drive aCRUD handles the loading and saving of multiple file types, including: - [x] JSON - [x] CSV - [x] PDF - [x] PKL - [x] TXT ## Installation ```bash pip install acrud --extras s3, gdrive, ... ``` ```bash poetry add acrud --extras s3, gdrive, ... ``` ## Usage ```python from acrud import create_storage, get_storage_from_string, S3StorageConfig # Create a storage config object # Directly: config = S3StorageConfig( bucket="my-bucket", ) # Or from a string a

Published25 Feb 2025
Direct dependencies13
Transitive dependenciesNot calculated

README

Version 0.4.2 documentation

Logo

aCRUD

This python package provides a CRUD interfaces for a number of storage providers. Currently supported providers:

  • Local
  • AWS S3
  • Google Drive

aCRUD handles the loading and saving of multiple file types, including:

  • JSON
  • CSV
  • PDF
  • PKL
  • TXT

Installation

pip install acrud --extras s3, gdrive, ...
poetry add acrud --extras s3, gdrive, ...

Usage

from acrud import create_storage, get_storage_from_string, S3StorageConfig

# Create a storage config object
# Directly:
config = S3StorageConfig(
    bucket="my-bucket",
)

# Or from a string and a dictionary
config = get_storage_from_string("s3", {"bucket": "my-bucket"})

# Create a storage object
storage = create_storage("s3", config)

# Create a file
storage.create_file("my-file.txt", "Hello, World!")

# Read a file
content = storage.read_file("my-file.txt")

# Update a file
storage.update_file("my-file.txt", "Hello, World! Updated")

# Delete a file
storage.delete_file("my-file.txt")
Note

Original version of this package can be found on the branch v0.1.0.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 13

Native requirements
13 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
dill
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
dill<0.4.0,>=0.3.8runtime
pytest
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest<9.0.0,>=8.2.2runtime
typeguard
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
typeguard>=2.13.3runtime
boto3
Environment
{
  "extras": "",
  "marker": "extra == \"s3\"",
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
boto3<2.0.0,>=1.34.143; extra == "s3"runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic<3.0.0,>=2.9.2runtime
multimethod
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
multimethod<2.0,>=1.12runtime
pypdf2
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pypdf2<4.0.0,>=3.0.1runtime
google-auth-oauthlib
Environment
{
  "extras": "",
  "marker": "extra == \"gdrive\"",
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
google-auth-oauthlib<2.0.0,>=1.2.1; extra == "gdrive"runtime
google-auth-httplib2
Environment
{
  "extras": "",
  "marker": "extra == \"gdrive\"",
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
google-auth-httplib2<0.3.0,>=0.2.0; extra == "gdrive"runtime
google-api-python-client
Environment
{
  "extras": "",
  "marker": "extra == \"gdrive\"",
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
google-api-python-client<3.0.0,>=2.154.0; extra == "gdrive"runtime
stringcase
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
stringcase<2.0.0,>=1.2.0runtime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
python-dotenv<2.0.0,>=1.0.1runtime
mypy-boto3-s3
Environment
{
  "extras": "",
  "marker": "extra == \"s3\"",
  "requires_python": "<3.13,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
mypy-boto3-s3<2.0.0,>=1.37.0; extra == "s3"runtime

Distribution files

2 collected
acrud-0.4.2-py3-none-any.whl

bdist_wheel · 12.32 KB · Python py3

Source file
acrud-0.4.2.tar.gz

sdist · 7.41 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:26 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:5fc80bf43cb6e6039bccbe83b6945ff8aab984d605f22c5263e04e76daa239df

Other collected versions

View all collected versions →