diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8d498abc..9d86f9ba 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,6 +4,6 @@ ## Checklist - + - [ ] I've added this contribution to the `changelog.md`. - [ ] I've added my name to the `AUTHORS` file (or it's already there). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cac4f04e..05303b52 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,13 +19,12 @@ You'll always get credit for your work. $ git remote add upstream git@github.com:dbcli/mycli.git ``` -4. Set up a [virtual environment](http://docs.python-guide.org/en/latest/dev/virtualenvs) +4. Set up [uv](https://docs.astral.sh/uv/getting-started/installation/) for development: ```bash $ cd mycli - $ pip install virtualenv - $ virtualenv mycli_dev + $ uv venv ``` We've just created a virtual environment that we'll use to install all the dependencies @@ -33,20 +32,14 @@ You'll always get credit for your work. need to activate the virtual environment: ```bash - $ source mycli_dev/bin/activate - ``` - - When you're done working, you can deactivate the virtual environment: - - ```bash - $ deactivate + $ source .venv/bin/activate ``` 5. Install the dependencies and development tools: ```bash - $ pip install -r requirements-dev.txt - $ pip install --editable . + $ uv pip install -r requirements-dev.txt + $ uv pip install --editable . ``` 6. Create a branch for your bugfix or feature based off the `main` branch: @@ -76,18 +69,10 @@ You'll always get credit for your work. While you work on mycli, it's important to run the tests to make sure your code hasn't broken any existing functionality. To run the tests, just type in: -```bash -$ ./setup.py test -``` - -Mycli supports Python 2.7 and 3.4+. You can test against multiple versions of -Python by running tox: - ```bash $ tox ``` - ### Test Database Credentials The tests require a database connection to work. You can tell the tests which @@ -126,42 +111,6 @@ $ readlink -f $(which ex) ``` -## Coding Style - -Mycli requires code submissions to adhere to -[PEP 8](https://www.python.org/dev/peps/pep-0008/). -It's easy to check the style of your code, just run: - -```bash -$ ./setup.py lint -``` - -If you see any PEP 8 style issues, you can automatically fix them by running: - -```bash -$ ./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`. +Create a new [release](https://github.com/dbcli/mycli/releases) in Github. This will trigger a Github action which will run all the tests, build the wheel and upload it to PyPI. diff --git a/README.md b/README.md index 0a431437..769c52db 100644 --- a/README.md +++ b/README.md @@ -147,13 +147,10 @@ get this running in a development setup. https://github.com/dbcli/mycli/blob/main/CONTRIBUTING.md -Please feel free to reach out to me if you need help. -My email: amjith.r@gmail.com +## Additional Install Instructions: -Twitter: [@amjithr](http://twitter.com/amjithr) - -## Detailed Install Instructions: +These are some alternative ways to install mycli that are not managed by our team but provided by OS package maintainers. These packages could be slightly out of date and take time to release the latest version. ### Arch, Manjaro @@ -202,7 +199,7 @@ Thanks to [PyMysql](https://github.com/PyMySQL/PyMySQL) for a pure python adapte ### Compatibility -Mycli is tested on macOS and Linux, and requires Python 3.7 or better. +Mycli is tested on macOS and Linux, and requires Python 3.9 or better. **Mycli is not tested on Windows**, but the libraries used in this app are Windows-compatible. This means it should work without any modifications. If you're unable to run it diff --git a/changelog.md b/changelog.md index 4a3730a5..3dfb209c 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,7 @@ Features Internal -------- +* New Project Lead: [Roland Walker](https://github.com/rolandwalker) * Update sqlparse to <=0.6.0 * Typing/lint fixes. diff --git a/mycli/AUTHORS b/mycli/AUTHORS index 8de51691..5394b842 100644 --- a/mycli/AUTHORS +++ b/mycli/AUTHORS @@ -1,3 +1,8 @@ +Project Lead: +------------- + + * Roland Walker + Core Developers: ---------------- diff --git a/pyproject.toml b/pyproject.toml index a8af0b15..702f18be 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "mycli" dynamic = ["version"] description = "CLI for MySQL Database. With auto-completion and syntax highlighting." readme = "README.md" -requires-python = ">=3.7" +requires-python = ">=3.9" license = { text = "BSD" } authors = [{ name = "Mycli Core Team", email = "mycli-dev@googlegroups.com" }] urls = { homepage = "http://mycli.net" }