diff options
Diffstat (limited to '')
-rw-r--r-- | CONTRIBUTING.md | 28 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | changelog.md | 8 | ||||
-rw-r--r-- | mycli/__init__.py | 2 | ||||
-rwxr-xr-x | mycli/main.py | 3 | ||||
-rw-r--r-- | mycli/myclirc | 3 | ||||
-rwxr-xr-x | release.py | 5 | ||||
-rw-r--r-- | requirements-dev.txt | 14 | ||||
-rwxr-xr-x | setup.py | 4 |
9 files changed, 53 insertions, 16 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 124b19a..3075600 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,16 +49,16 @@ You'll always get credit for your work. $ pip install --editable . ``` -6. Create a branch for your bugfix or feature based off the `master` branch: +6. Create a branch for your bugfix or feature based off the `main` branch: ```bash - $ git checkout -b <name-of-bugfix-or-feature> master + $ git checkout -b <name-of-bugfix-or-feature> main ``` 7. While you work on your bugfix or feature, be sure to pull the latest changes from `upstream`. This ensures that your local codebase is up-to-date: ```bash - $ git pull upstream master + $ git pull upstream main ``` 8. When your work is ready for the mycli team to review it, push your branch to your fork: @@ -135,3 +135,25 @@ $ ./setup.py lint --fix ``` Be sure to commit and push any PEP 8 fixes. + +## Releasing a new version of mycli + +You have been made the maintainer of `mycli`? Congratulations! We have a release script to help you: + +```sh +> python release.py --help +Usage: release.py [options] + +Options: + -h, --help show this help message and exit + -c, --confirm-steps Confirm every step. If the step is not confirmed, it + will be skipped. + -d, --dry-run Print out, but not actually run any steps. +``` + +To release a new version of the package: + +* Create and merge a PR to bump the version in the changelog ([example PR](https://github.com/dbcli/mycli/pull/1043)). +* Pull `main` and bump the version number inside `mycli/__init__.py`. Do not check in - the release script will do that. +* Make sure you have the dev requirements installed: `pip install -r requirements-dev.txt -U --upgrade-strategy only-if-needed`. +* Finally, run the release script: `python release.py`. @@ -141,7 +141,7 @@ 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 to describe how to get this running in a development setup. -https://github.com/dbcli/mycli/blob/master/CONTRIBUTING.md +https://github.com/dbcli/mycli/blob/main/CONTRIBUTING.md Please feel free to reach out to me if you need help. diff --git a/changelog.md b/changelog.md index b5522d2..01040ae 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,11 @@ +1.25.0 (2022/04/02) +=================== + +Features: +--------- +* Add `beep_after_seconds` option to `~/.myclirc`, to ring the terminal bell after long queries. + + 1.24.4 (2022/03/30) =================== diff --git a/mycli/__init__.py b/mycli/__init__.py index e10d6ee..8de33c0 100644 --- a/mycli/__init__.py +++ b/mycli/__init__.py @@ -1 +1 @@ -__version__ = '1.24.4' +__version__ = '1.25.0' diff --git a/mycli/main.py b/mycli/main.py index c13ed78..08f0755 100755 --- a/mycli/main.py +++ b/mycli/main.py @@ -138,6 +138,7 @@ class MyCli(object): self.multi_line = c['main'].as_bool('multi_line') self.key_bindings = c['main']['key_bindings'] special.set_timing_enabled(c['main'].as_bool('timing')) + self.beep_after_seconds = float(c['main']['beep_after_seconds'] or 0) FavoriteQueries.instance = FavoriteQueries.from_config(self.config) @@ -721,6 +722,8 @@ class MyCli(object): self.output(formatted, status) except KeyboardInterrupt: pass + if self.beep_after_seconds > 0 and t >= self.beep_after_seconds: + self.echo('\a', err=True, nl=False) if special.is_timing_enabled(): self.echo('Time: %0.03fs' % t) except KeyboardInterrupt: diff --git a/mycli/myclirc b/mycli/myclirc index c89caa0..2418342 100644 --- a/mycli/myclirc +++ b/mycli/myclirc @@ -30,6 +30,9 @@ log_level = INFO # Timing of sql statments and table rendering. timing = True +# Beep after long-running queries are completed; 0 to disable. +beep_after_seconds = 0 + # Table format. Possible values: ascii, double, github, # psql, plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, # latex, latex_booktabs, textile, moinmoin, jira, vertical, tsv, csv. @@ -72,7 +72,7 @@ def upload_distribution_files(): def push_to_github(): - run_step('git', 'push', 'origin', 'master') + run_step('git', 'push', 'origin', 'main') def push_tags_to_github(): @@ -90,7 +90,6 @@ if __name__ == '__main__': subprocess.check_output = lambda x: x ver = version('mycli/__init__.py') - print('Releasing Version:', ver) parser = OptionParser() parser.add_option( @@ -107,6 +106,8 @@ if __name__ == '__main__': CONFIRM_STEPS = popts.confirm_steps DRY_RUN = popts.dry_run + print('Releasing Version:', ver) + if not click.confirm('Are you sure?', default=False): sys.exit(1) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9c40316..107106d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,13 +1,13 @@ -pytest!=3.3.0 -pytest-cov==2.4.0 +pytest>=3.3.0 +pytest-cov>=2.4.0 tox -twine==1.12.1 +twine>=1.12.1 behave>=1.2.4 -pexpect==3.3 -coverage==5.0.4 -codecov==2.0.9 +pexpect>=3.3 +coverage>=5.0.4 +codecov>=2.0.9 autopep8==1.3.3 -colorama==0.4.1 +colorama>=0.4.1 git+https://github.com/hayd/pep8radius.git # --error-status option not released click>=7.0 paramiko==2.7.1 @@ -38,14 +38,14 @@ class lint(Command): description = 'check code against PEP 8 (and fix violations)' user_options = [ - ('branch=', 'b', 'branch/revision to compare against (e.g. master)'), + ('branch=', 'b', 'branch/revision to compare against (e.g. main)'), ('fix', 'f', 'fix the violations in place'), ('error-status', 'e', 'return an error code on failed PEP check'), ] def initialize_options(self): """Set the default options.""" - self.branch = 'master' + self.branch = 'main' self.fix = False self.error_status = True |