Skip to content

Conversation

ki4070ma
Copy link
Collaborator

@ki4070ma ki4070ma commented Dec 22, 2019

For #468

[Notes]

  • Merge after April 2020
  • Need check branch strategy
    • master branch is for v1.0?
    • Or create v1.0 branch as feature branch?
    • create v0(need better naming) as maintenance branch

@ki4070ma ki4070ma changed the title [WIP] Drop py2 support [DO NOT MERGE] Drop py2 support Dec 22, 2019
@ki4070ma ki4070ma changed the title [DO NOT MERGE] Drop py2 support Drop py2 support Dec 31, 2019
@ki4070ma
Copy link
Collaborator Author

ki4070ma commented Dec 31, 2019

@mykola-mokhnach @KazuCocoa
How will we handle branches for future?

e.g.

  • master branch is for v1.0?
  • create such like v0 (need better naming) as maintenance branch?

@ki4070ma ki4070ma closed this Dec 31, 2019
@ki4070ma
Copy link
Collaborator Author

Reopened since it's my mistake.

@ki4070ma ki4070ma reopened this Dec 31, 2019
@KazuCocoa
Copy link
Member

We should wait for https://www.python.org/psf/press-release/pr20191220/, I believe.

Then, master can be v1 and we can also cut v0 for Python 2.7 to Python 3.6.
We will develop/maintain only master (v1). But if someone is interested in porting master's changes to v0 branch, they can create PRs.
What do you think?

@ki4070ma
Copy link
Collaborator Author

ki4070ma commented Jan 5, 2020

@KazuCocoa

Thanks for your comments.

We should wait for https://www.python.org/psf/press-release/pr20191220/, I believe.

Thanks, I didn't know that.
We can wait April 2020, but it's not mandatory to wait in my opinion.
However let's wait April 2020 since there is no strong reason to rush it.

  • 1st Jan 2020: Stop support py27
  • April 2020: The final release for py27

We will develop/maintain only master (v1).
ok, I agree.

But if someone is interested in porting master's changes to v0 branch, they can create PRs.
Good idea.

@ki4070ma ki4070ma changed the title Drop py2 support [DO NOT MERGE] Drop py2 support Jan 5, 2020
@mykola-mokhnach
Copy link
Contributor

First, lets create python3 branch and work on basic py3 compatibility features. Then we merge this branch into master when python 2 is finally EOLed. Before the python3 branch is merged to master we rebase it and create python2 branch, where we keep the most recent master state before completely dropping Python 2 support. At the end we still only maintain master branch with Python 3 support, publish the new major driver version and cherry pick minor fixes to python2 branch if needed. The python2 branch will be the base for the previous major driver version and could be used to provide critical patches to it.

@mykola-mokhnach
Copy link
Contributor

Action sequence in more readable representation:

  1. Create python3 branch where we drop Py2 support
  2. Rebase python3 branch with master before it is merged
  3. Create python2 branch from master before pytnon3 is merged
  4. Merge pytnon3 branch to master
  5. Publish new major client version
  6. Cherry pick minor fixes to python2 branch if necessary

@ki4070ma ki4070ma mentioned this pull request Jan 11, 2020
@ki4070ma ki4070ma changed the base branch from master to python3 January 11, 2020 03:39
@ki4070ma ki4070ma changed the title [DO NOT MERGE] Drop py2 support Drop py2 support Jan 11, 2020
@ki4070ma
Copy link
Collaborator Author

@mykola-mokhnach
Thanks for your detailed explanation.
As your suggestion, it's reasonable to start python3 adaptation in early.

Now I've changed this PR target to python3 branch.

@ki4070ma ki4070ma merged commit e821a31 into appium:python3 Jan 11, 2020
@ki4070ma ki4070ma deleted the drop-py2 branch January 11, 2020 07:24
ki4070ma added a commit that referenced this pull request Apr 30, 2020
* Drop py2 support (#478)

* Drop py2 support

* Support 3.7+

* Add explicit type declarations (#482)

* Fixed mypy warning: touch_action.py

* Fixed mypy warning: multi_action.py

* Fixed mypy warning: extensions/android

* Fixed mypy warning: extensions/search_context

* Updated

* Revert some changes to run unit test

* Review comments

* Updates

* Updates

* Add mypy check to ci.sh

* Add mypy to Pipfile

* Updates

* Update README

* Revert unexpected changes

* Updates Dict

* Revert unexpected changes

* Updates

* Review comments

* Review comments

* tweak

* Restore and modify changes

* Fix wrong return type

* Add comments

* Revert unexpected changes

* Fix mypy error

* updates

* Add mypy to pre-commit (#485)

* chore: Applied some py3 formats (#486)

* Removed unused import

* Removed unnecessary codes

* Applied f'' format instead ''.format()

* Fixes

* tweak

* chore: Fix mypy errors under test folder (#487)

* Fix mypy errors under test folder

* Add mypy check for test folder to pre-commit

* Add mypy check to ci

* chore: Remove unittest dependency (#488)

* Removed unnecessary codes from calling super

* Removed unittest dependency

* Upgrade the dependencies to the latest

* Removed unused args

* Review comments

* Update mock requirement from ~=3.0 to ~=4.0 (#502)

Updates the requirements on [mock](https://github.com/testing-cabal/mock) to permit the latest version.
- [Release notes](https://github.com/testing-cabal/mock/releases)
- [Changelog](https://github.com/testing-cabal/mock/blob/master/CHANGELOG.rst)
- [Commits](testing-cabal/mock@3.0.0...4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Add 'from' to except (#503)

* Update pre-commit requirement from ~=1.21 to ~=2.1 (#506)

Updates the requirements on [pre-commit](https://github.com/pre-commit/pre-commit) to permit the latest version.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v1.21.0...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* doc: Add script to generate sphinx doc  (#508)

* Add quickstart template files

* Update conf file

* Update

* Update settings

* Change project name

* Add script to generate docs

* Changed header title

* Add new line to usage section

* Add py.typed file(PEP561)

* Replace \n with new line

* tweak

* Use sphinx format for tables

* Rebase python3 branch with master (#522)

* Update pytest-cov requirement from ~=2.6 to ~=2.8 (#489)

Updates the requirements on [pytest-cov](https://github.com/pytest-dev/pytest-cov) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases)
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v2.6.0...v2.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update autopep8 requirement from ~=1.4 to ~=1.5 (#490)

Updates the requirements on [autopep8](https://github.com/hhatto/autopep8) to permit the latest version.
- [Release notes](https://github.com/hhatto/autopep8/releases)
- [Commits](hhatto/autopep8@v1.4...v1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update tox-travis requirement from ~=0.11 to ~=0.12 (#491)

Updates the requirements on [tox-travis](https://github.com/tox-dev/tox-travis) to permit the latest version.
- [Release notes](https://github.com/tox-dev/tox-travis/releases)
- [Changelog](https://github.com/tox-dev/tox-travis/blob/master/HISTORY.rst)
- [Commits](tox-dev/tox-travis@0.11...0.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update tox requirement from ~=3.6 to ~=3.14 (#494)

Updates the requirements on [tox](https://github.com/tox-dev/tox) to permit the latest version.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst)
- [Commits](tox-dev/tox@3.6.0...3.14.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* chore: Fix find_by_images_tests.py (#495)

* chore: Fix find_by_images_tests.py

* Add installation opencv4nodejs

* Fix typo

* Add taking screen record to find_by_image_test

* Fix errors on the emulator

* Remove unused imports

* feat: Add viewmatcher (#480)

* Add android view matcher as strategy locator

* Add docstring

* Add functional test

* Remove find_elements_by_android_data_matcher

* Fix docstring

* tweak docstring

* Bump 0.50

* Update changelog for 0.50

* Fix flaky functional tests (#473)

* Run all tests

* Fix apk file path

* Skip find_element_by_image test cases

* Skip context switching test

* Skip multi tap test on CI

* Change strategy for waiting element

* Add functions for same steps

* Restore unexpected changes

* Fix touch_action_tests

* Fix

* Fix
Fix test_driver_swipe

* fix

* Create _move_to_[target_view]

* [test_driver_swipe] Add wait

* feat: Add idempotency key header to create session requests (#514)

* feat: Override send_keys without file upload function (#515)

* add send_keys_direct

* override send_keys

* tune

* add unittest instead of functional test

* tweak syntax

* Bump 0.51

* Update changelog for 0.51

* test: Fix test_clear flaky functional test (#519)

* test: Add unit test for set_value (setImmediateValue) (#518)

* chore: Fix int - str comparison error in ios desired capabilities (#517)

if number >= PytestXdistWorker.COUNT:

TypeError: '>=' not supported between instances of 'int' and 'str'

2. Updated test case path and iPhone model in Readme file

* fix: Handling of dictionary-values in WebElement.get_attribute() (#521)

* Bump 0.52

* Update changelog for 0.52

* Fix mypy error

* tweak

* Add wait to test

* Skip tap_twice test

* review comments

* Remove unnecessary import

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
Co-authored-by: Nrupesh Patel <nrupesh.patel2912@gmail.com>
Co-authored-by: Venkatesh <venkatesh@poshmark.com>
Co-authored-by: Hannes Hauer <hanneshauer@beeware.at>

* chore: Update readme and gitchangelog section role (#524) (#525)

* chore: tweak changelog filter

* address stoping Python 2 support

* 2 instead of 2.0...

* tweak readme

* Revert some unexpected changes

* review comments

* Changed bound for TypeVar

* Fix crashing ci

* Remove beta

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
Co-authored-by: Nrupesh Patel <nrupesh.patel2912@gmail.com>
Co-authored-by: Venkatesh <venkatesh@poshmark.com>
Co-authored-by: Hannes Hauer <hanneshauer@beeware.at>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants