You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Lasse Server 74d2d700b4 Add async support for ArangoDB client and enhance connection handling 2 months ago
.gitignore Remove __pycache__ and compiled files from repo; update .gitignore 3 months ago
README.md Added terminal function for admin 3 months ago
__init__.py added db_name 3 months ago
_arango.py Add async support for ArangoDB client and enhance connection handling 2 months ago
async_client Add async support for ArangoDB client and enhance connection handling 2 months ago
requirements.txt Initial commit 3 months ago
setup.py Initial commit 3 months ago

README.md

arango

A simple Python wrapper for connecting to and interacting with ArangoDB.

Installation

Install dependencies:

pip install -r requirements.txt

You also need to install env_manager to help set up environment variables for ArangoDB:

pip install git+https://github.com/lasseedfast/env_manager.git

Usage

Environment variables:

  • ARANGO_HOST
  • ARANGO_DB
  • ARANGO_USERNAME
  • ARANGO_PWD

The package will use env_manager to set them automatically (first time you may need to provide a password).

Example:

from _arango import arango

results = arango.execute_aql("FOR doc IN my_collection RETURN doc")

AdminArango: Database and User Administration

The AdminArango class provides administrative functionality for ArangoDB, such as creating and deleting databases, managing users, and setting permissions. It connects to the _system database for these operations.

Example usage:

from _arango.arango import AdminArango

admin = AdminArango()
admin.create_database("mydb")
admin.create_user("username", password="secret")
admin.set_user_permission("username", "rw", "mydb")
admin.list_databases()
admin.delete_user("username")
admin.delete_database("mydb")

Features:

  • Create and delete databases
  • List all databases
  • Create and delete users
  • Set user permissions for databases and collections

Interactive Admin Terminal Guide

You can use the built-in terminal guide to perform common admin tasks interactively:

  • Create a database
  • Create a user and set permissions

To start the guide, you have two options:

Option 1: Run from Python code

from _arango import admin

admin()

Option 2: Run directly from the terminal

python -m _arango.arango admin

Or, if your Python path is set up, you can also run:

python -m _arango.arango

This will start the guide if you add logic to handle command-line arguments (see below).

Permission options are explained in the guide:

  • rw – read and write access
  • ro – read-only access
  • none – no access

For more details on permissions, see: ArangoDB User Permissions

Using as a Base for Your Own Project

If you want to use this package as a starting point for your own ArangoDB utilities, you can clone the repository:

git clone https://git.edfast.se/lasse/arango.git

You can then add your own methods and modify the code as needed. If you do not plan to sync changes back to the original repository, consider to remove or change the remote origin to avoid accidentally pushing changes to the original repo:

git remote remove origin