雅典娜数据库的cli。具有自动完成和语法突出显示功能。

athenacli的Python项目详细描述


Build StatusPyPIimageimageJoin the chat at https://gitter.im/dbcli/athenacliimage

简介

athenacli是Athena服务的命令行界面(cli),它可以执行自动完成和语法突出显示,是dbcli社区的骄傲成员。

快速启动

安装

如果您已经知道如何安装python包,那么您只需执行以下操作:

$ pip install athenacli

如果您不知道如何安装python软件包,请查看Install页面以获取更多选项(例如brew、docker)

配置

第一次启动时,~/.athenacli/athenaclirc会自动创建配置文件(运行athenacli)。有关所有可用选项的说明,请参见文件本身。

以下4个变量是必需的。如果您是aws cli的用户,则可以参考awsconfig文件来了解如何重用aws cli的凭据配置。

# AWS credentials
aws_access_key_id = ''
aws_secret_access_key = ''
region = '' # e.g us-west-2, us-east-1

# Amazon S3 staging directory where query results are stored.
# NOTE: S3 should in the same region as specified above.
# The format is 's3://<your s3 directory path>'
s3_staging_dir = ''

或者也可以使用环境变量:

$ exportAWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID
$ exportAWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
$ exportAWS_DEFAULT_REGION=us-west-2
$ exportAWS_ATHENA_S3_STAGING_DIR=s3://YOUR_S3_BUCKET/path/to/

创建表格

$ athenacli -e examples/create_table.sql

你可以找到examples/create_table.sqlhere

运行查询

$ athenacli -e 'select elb_name, request_ip from elb_logs LIMIT 10'

回复

$ athenacli [<database_name>]

功能

  • 键入SQL关键字以及数据库中的表和列时自动完成。
  • 语法突出显示。
  • 智能完成将建议上下文相关的完成。
    • SELECT * FROM <tab>只显示表名。
    • SELECT * FROM users WHERE <tab>只显示列名。
  • pretty打印表格数据和各种表格格式。
  • 一些特殊的命令。例如,最喜欢的查询。
  • 别名支持。即使表名有别名,列的完整性也会起作用。

以上功能的截图请参考Features页面。

用法

$ athenacli --help
Usage: main.py [OPTIONS][DATABASE]

A Athena terminal client with auto-completion and syntax highlighting.

Examples:
    - athenacli
    - athenacli my_database

Options:
-e, --execute TEXT            Execute a command(or a file) and quit.
-r, --region TEXT             AWS region.
--aws-access-key-id TEXT      AWS access key id.
--aws-secret-access-key TEXT  AWS secretaccess key.
--s3-staging-dir TEXT         Amazon S3 staging directory where query
                                results are stored.
--athenaclirc PATH            Location of athenaclirc file.
--help                        Show this message and exit.

有关如何使用athenacli的详细信息,请转到Usages

贡献

如果你有兴趣为这个项目做贡献,首先我要表示衷心的感谢。我已经写了一个小的doc来描述如何在开发设置中运行它。

如果你需要帮助,请随时联系我。我的邮箱:gmail com上的zhuzhaolong0

常见问题

请参阅FAQs了解其他信息,例如“如何获得对Athenacli的支持?”.

学分

特别感谢Amjith Ramanujam创建了pgcli和mycli,这启发了我创建这个athenacli,而athenacli是基于mycli的克隆创建的。

感谢Jonathan Slenders创建了Python Prompt Toolkit,这使我找到了pgcli和mycli。玩这个图书馆很有趣。

感谢PyAthena为Athena数据库提供了纯Python适配器。

最后但并非最不重要的是,感谢我的团队和经理鼓励我从事这个爱好项目。

类似项目

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在MySql中创建类似序列的东西   intellij idea Java错误在命令窗口中运行简单程序时发生JNI错误   使用JavaBrains中的代码时出现java异常   java如何调用父重写方法   java JavaFx:使用加法/乘法双向绑定数字/   java如何使用文件以特定的方式打印目录树。newDirectoryStream和递归?   java图形未显示在JFrame上   扫描仪上的java NoTouchElementException。下一行()   java中jenkins中显示的api访问Fitnesse结果   JavaGMF以编程方式创建连接,而不使用命令   java什么从unity3d发送json   在Java中模仿PHP http_build_查询函数   安卓中的java转储内存   在java中解析如何从字符串中读取第二行   java OutputLength Rijndael实现中的异常   Java右移输出负值   java多选项,选择最佳?   JavaSwingGUI在Java1.8更新后不刷新或冻结   java使用jpa查询将datetime字段与日期进行比较