# arango A simple Python wrapper for connecting to and interacting with ArangoDB. ## Installation Install dependencies: ```bash pip install -r requirements.txt ``` You also need to install `env_manager` to help set up environment variables for ArangoDB: ```bash 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: ```python 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: ```python 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** ```python from _arango import admin admin() ``` **Option 2: Run directly from the terminal** ```bash python -m _arango.arango admin ``` Or, if your Python path is set up, you can also run: ```bash 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](https://docs.python-arango.com/en/main/specs.html#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: ```bash 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: ```bash git remote remove origin ```