diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 08:05:12 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 08:05:12 +0000 |
commit | 5198de07cc6e675e81cb3874fa4f6cc4ba49266d (patch) | |
tree | 1c068e5673f80127fea89da9a402af2044220ad1 | |
parent | 02caf0b12cfe622e393dd837601975bc33eade41 (diff) |
automatic import of python-athenacli
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-athenacli.spec | 534 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 536 insertions, 0 deletions
@@ -0,0 +1 @@ +/athenacli-1.6.8.tar.gz diff --git a/python-athenacli.spec b/python-athenacli.spec new file mode 100644 index 0000000..b86696e --- /dev/null +++ b/python-athenacli.spec @@ -0,0 +1,534 @@ +%global _empty_manifest_terminate_build 0 +Name: python-athenacli +Version: 1.6.8 +Release: 1 +Summary: CLI for Athena Database. With auto-completion and syntax highlighting. +License: BSD License +URL: https://github.com/dbcli/athenacli +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/38/1a/d9cd6c68a4a1cd2ce779b163f8cec390ae82c684caa920d0360094886b1f/athenacli-1.6.8.tar.gz +BuildArch: noarch + +Requires: python3-click +Requires: python3-Pygments +Requires: python3-prompt-toolkit +Requires: python3-sqlparse +Requires: python3-configobj +Requires: python3-cli-helpers[styles] +Requires: python3-botocore +Requires: python3-boto3 +Requires: python3-PyAthena + +%description +[](https://travis-ci.org/dbcli/athenacli) +[](https://pypi.python.org/pypi/athenacli) +[](https://pepy.tech/project/athenacli) +[](https://pypi.org/project/athenacli/) +[](https://pypi.org/project/athenacli/) +[](https://gitter.im/dbcli/athenacli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# Introduction + +AthenaCLI is a command line interface (CLI) for the [Athena](https://aws.amazon.com/athena/) service that can do auto-completion and syntax highlighting, and is a proud member of the dbcli community. + + + +# Quick Start + +## Install + +### Install via `pip` + +If you already know how to install python packages, then you can simply do: + +``` bash +$ pip install athenacli +``` + +### Install via `brew` + +[Homebrew](https://brew.sh/) users can install by: + +```sh +$ brew install athenacli +``` + +If you don't know how to install python packages, please check the [Install](./docs/install.rst) page for more options (e.g docker) + +## Config + +A config file is automatically created at `~/.athenacli/athenaclirc` at first launch (run athenacli). See the file itself for a description of all available options. + +Below 4 variables are required. If you are a user of aws cli, you can refer to [awsconfig](./docs/awsconfig.rst) file to see how to reuse credentials configuration of aws cli. + +``` text +# 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 = '' + +# Name of athena workgroup that you want to use +work_group = '' # e.g. primary +``` + +or you can also use environment variables: + +``` bash +$ export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID +$ export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY +$ export AWS_DEFAULT_REGION=us-west-2 +$ export AWS_ATHENA_S3_STAGING_DIR=s3://YOUR_S3_BUCKET/path/to/ +$ export AWS_ATHENA_WORK_GROUP=YOUR_ATHENA_WORK_GROUP +``` + +## Create a table + +``` bash +$ athenacli -e examples/create_table.sql +``` + +You can find `examples/create_table.sql` [here](./examples/create_table.sql). + +## Run a query + +``` bash +$ athenacli -e 'select elb_name, request_ip from elb_logs LIMIT 10' +``` + +## REPL + +``` bash +$ athenacli [<database_name>] +``` + +# Features + +- Auto-completes as you type for SQL keywords as well as tables and columns in the database. +- Syntax highlighting. +- Smart-completion will suggest context-sensitive completion. + - `SELECT * FROM <tab>` will only show table names. + - `SELECT * FROM users WHERE <tab>` will only show column names. +- Pretty prints tabular data and various table formats. +- Some special commands. e.g. Favorite queries. +- Alias support. Column completions will work even when table names are aliased. + +Please refer to the [Features](./docs/features.rst) page for the screenshots of above features. + +# Usages + +```bash +$ 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. +--work-group TEXT Amazon Athena workgroup in which query is run, default is primary +--athenaclirc PATH Location of athenaclirc file. +--help Show this message and exit. +``` + +Please go to the [Usages](https://athenacli.readthedocs.io/en/latest/usage.html) for detailed information on how to use AthenaCLI. + +# Contributions + +If you're interested in contributing to this project, first of all I would like to extend my heartfelt gratitude. I've written a small [doc](https://athenacli.readthedocs.io/en/latest/develop.html) to describe how to get this running in a development setup. + +Please feel free to reach out to me if you need help. My email: zhuzhaolong0 AT gmail com + +# FAQs + +Please refer to the [FAQs](https://athenacli.readthedocs.io/en/latest/faq.html) for other information, e.g. "How can I get support for athenacli?". + +# Credits + +A special thanks to [Amjith Ramanujam](https://github.com/amjith) for creating pgcli and mycli, which inspired me to create this AthenaCLI, and AthenaCLI is created based on a clone of mycli. + +Thanks to [Jonathan Slenders](https://github.com/jonathanslenders) for creating the [Python Prompt Toolkit](https://github.com/jonathanslenders/python-prompt-toolkit), which leads me to pgcli and mycli. It's a lot of fun playing with this library. + +Thanks to [PyAthena](https://github.com/laughingman7743/PyAthena) for a pure python adapter to Athena database. + +Last but not least, thanks my team and manager encourage me to work on this hobby project. + +# Similar projects + +- [satterly/athena-cli](https://github.com/satterly/athena-cli): Presto-like CLI tool for AWS Athena. +- [pengwynn/athena-cli](https://github.com/pengwynn/athena-cli): CLI for Amazon Athena, powered by JRuby. + + + + +%package -n python3-athenacli +Summary: CLI for Athena Database. With auto-completion and syntax highlighting. +Provides: python-athenacli +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-athenacli +[](https://travis-ci.org/dbcli/athenacli) +[](https://pypi.python.org/pypi/athenacli) +[](https://pepy.tech/project/athenacli) +[](https://pypi.org/project/athenacli/) +[](https://pypi.org/project/athenacli/) +[](https://gitter.im/dbcli/athenacli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# Introduction + +AthenaCLI is a command line interface (CLI) for the [Athena](https://aws.amazon.com/athena/) service that can do auto-completion and syntax highlighting, and is a proud member of the dbcli community. + + + +# Quick Start + +## Install + +### Install via `pip` + +If you already know how to install python packages, then you can simply do: + +``` bash +$ pip install athenacli +``` + +### Install via `brew` + +[Homebrew](https://brew.sh/) users can install by: + +```sh +$ brew install athenacli +``` + +If you don't know how to install python packages, please check the [Install](./docs/install.rst) page for more options (e.g docker) + +## Config + +A config file is automatically created at `~/.athenacli/athenaclirc` at first launch (run athenacli). See the file itself for a description of all available options. + +Below 4 variables are required. If you are a user of aws cli, you can refer to [awsconfig](./docs/awsconfig.rst) file to see how to reuse credentials configuration of aws cli. + +``` text +# 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 = '' + +# Name of athena workgroup that you want to use +work_group = '' # e.g. primary +``` + +or you can also use environment variables: + +``` bash +$ export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID +$ export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY +$ export AWS_DEFAULT_REGION=us-west-2 +$ export AWS_ATHENA_S3_STAGING_DIR=s3://YOUR_S3_BUCKET/path/to/ +$ export AWS_ATHENA_WORK_GROUP=YOUR_ATHENA_WORK_GROUP +``` + +## Create a table + +``` bash +$ athenacli -e examples/create_table.sql +``` + +You can find `examples/create_table.sql` [here](./examples/create_table.sql). + +## Run a query + +``` bash +$ athenacli -e 'select elb_name, request_ip from elb_logs LIMIT 10' +``` + +## REPL + +``` bash +$ athenacli [<database_name>] +``` + +# Features + +- Auto-completes as you type for SQL keywords as well as tables and columns in the database. +- Syntax highlighting. +- Smart-completion will suggest context-sensitive completion. + - `SELECT * FROM <tab>` will only show table names. + - `SELECT * FROM users WHERE <tab>` will only show column names. +- Pretty prints tabular data and various table formats. +- Some special commands. e.g. Favorite queries. +- Alias support. Column completions will work even when table names are aliased. + +Please refer to the [Features](./docs/features.rst) page for the screenshots of above features. + +# Usages + +```bash +$ 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. +--work-group TEXT Amazon Athena workgroup in which query is run, default is primary +--athenaclirc PATH Location of athenaclirc file. +--help Show this message and exit. +``` + +Please go to the [Usages](https://athenacli.readthedocs.io/en/latest/usage.html) for detailed information on how to use AthenaCLI. + +# Contributions + +If you're interested in contributing to this project, first of all I would like to extend my heartfelt gratitude. I've written a small [doc](https://athenacli.readthedocs.io/en/latest/develop.html) to describe how to get this running in a development setup. + +Please feel free to reach out to me if you need help. My email: zhuzhaolong0 AT gmail com + +# FAQs + +Please refer to the [FAQs](https://athenacli.readthedocs.io/en/latest/faq.html) for other information, e.g. "How can I get support for athenacli?". + +# Credits + +A special thanks to [Amjith Ramanujam](https://github.com/amjith) for creating pgcli and mycli, which inspired me to create this AthenaCLI, and AthenaCLI is created based on a clone of mycli. + +Thanks to [Jonathan Slenders](https://github.com/jonathanslenders) for creating the [Python Prompt Toolkit](https://github.com/jonathanslenders/python-prompt-toolkit), which leads me to pgcli and mycli. It's a lot of fun playing with this library. + +Thanks to [PyAthena](https://github.com/laughingman7743/PyAthena) for a pure python adapter to Athena database. + +Last but not least, thanks my team and manager encourage me to work on this hobby project. + +# Similar projects + +- [satterly/athena-cli](https://github.com/satterly/athena-cli): Presto-like CLI tool for AWS Athena. +- [pengwynn/athena-cli](https://github.com/pengwynn/athena-cli): CLI for Amazon Athena, powered by JRuby. + + + + +%package help +Summary: Development documents and examples for athenacli +Provides: python3-athenacli-doc +%description help +[](https://travis-ci.org/dbcli/athenacli) +[](https://pypi.python.org/pypi/athenacli) +[](https://pepy.tech/project/athenacli) +[](https://pypi.org/project/athenacli/) +[](https://pypi.org/project/athenacli/) +[](https://gitter.im/dbcli/athenacli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# Introduction + +AthenaCLI is a command line interface (CLI) for the [Athena](https://aws.amazon.com/athena/) service that can do auto-completion and syntax highlighting, and is a proud member of the dbcli community. + + + +# Quick Start + +## Install + +### Install via `pip` + +If you already know how to install python packages, then you can simply do: + +``` bash +$ pip install athenacli +``` + +### Install via `brew` + +[Homebrew](https://brew.sh/) users can install by: + +```sh +$ brew install athenacli +``` + +If you don't know how to install python packages, please check the [Install](./docs/install.rst) page for more options (e.g docker) + +## Config + +A config file is automatically created at `~/.athenacli/athenaclirc` at first launch (run athenacli). See the file itself for a description of all available options. + +Below 4 variables are required. If you are a user of aws cli, you can refer to [awsconfig](./docs/awsconfig.rst) file to see how to reuse credentials configuration of aws cli. + +``` text +# 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 = '' + +# Name of athena workgroup that you want to use +work_group = '' # e.g. primary +``` + +or you can also use environment variables: + +``` bash +$ export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID +$ export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY +$ export AWS_DEFAULT_REGION=us-west-2 +$ export AWS_ATHENA_S3_STAGING_DIR=s3://YOUR_S3_BUCKET/path/to/ +$ export AWS_ATHENA_WORK_GROUP=YOUR_ATHENA_WORK_GROUP +``` + +## Create a table + +``` bash +$ athenacli -e examples/create_table.sql +``` + +You can find `examples/create_table.sql` [here](./examples/create_table.sql). + +## Run a query + +``` bash +$ athenacli -e 'select elb_name, request_ip from elb_logs LIMIT 10' +``` + +## REPL + +``` bash +$ athenacli [<database_name>] +``` + +# Features + +- Auto-completes as you type for SQL keywords as well as tables and columns in the database. +- Syntax highlighting. +- Smart-completion will suggest context-sensitive completion. + - `SELECT * FROM <tab>` will only show table names. + - `SELECT * FROM users WHERE <tab>` will only show column names. +- Pretty prints tabular data and various table formats. +- Some special commands. e.g. Favorite queries. +- Alias support. Column completions will work even when table names are aliased. + +Please refer to the [Features](./docs/features.rst) page for the screenshots of above features. + +# Usages + +```bash +$ 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. +--work-group TEXT Amazon Athena workgroup in which query is run, default is primary +--athenaclirc PATH Location of athenaclirc file. +--help Show this message and exit. +``` + +Please go to the [Usages](https://athenacli.readthedocs.io/en/latest/usage.html) for detailed information on how to use AthenaCLI. + +# Contributions + +If you're interested in contributing to this project, first of all I would like to extend my heartfelt gratitude. I've written a small [doc](https://athenacli.readthedocs.io/en/latest/develop.html) to describe how to get this running in a development setup. + +Please feel free to reach out to me if you need help. My email: zhuzhaolong0 AT gmail com + +# FAQs + +Please refer to the [FAQs](https://athenacli.readthedocs.io/en/latest/faq.html) for other information, e.g. "How can I get support for athenacli?". + +# Credits + +A special thanks to [Amjith Ramanujam](https://github.com/amjith) for creating pgcli and mycli, which inspired me to create this AthenaCLI, and AthenaCLI is created based on a clone of mycli. + +Thanks to [Jonathan Slenders](https://github.com/jonathanslenders) for creating the [Python Prompt Toolkit](https://github.com/jonathanslenders/python-prompt-toolkit), which leads me to pgcli and mycli. It's a lot of fun playing with this library. + +Thanks to [PyAthena](https://github.com/laughingman7743/PyAthena) for a pure python adapter to Athena database. + +Last but not least, thanks my team and manager encourage me to work on this hobby project. + +# Similar projects + +- [satterly/athena-cli](https://github.com/satterly/athena-cli): Presto-like CLI tool for AWS Athena. +- [pengwynn/athena-cli](https://github.com/pengwynn/athena-cli): CLI for Amazon Athena, powered by JRuby. + + + + +%prep +%autosetup -n athenacli-1.6.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-athenacli -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.8-1 +- Package Spec generated @@ -0,0 +1 @@ +4fcf17e60762f378be5b8624be4b971e athenacli-1.6.8.tar.gz |