DEPS: Upgrade Deps for Python 3.10
State: closed

- [ ] xref #43715
- [ ] closes #40307
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [ ] whatsnew entry


Labels:
name: Compat
description: pandas objects compatability with Numpy or Python functions
name: Dependencies
description: Required and optional dependencies
name: Python 3.10

Comments:
i think we have an issue about this but

https://github.com/scipy/oldest-supported-numpy

is there a reason we don't just use this?

> is there a reason we don't just use this?

There is an open drift #43146
can you add a note about the cython change in 1.4 whatsnew
docs error should be fixed on master if you can rebase
https://github.com/pandas-dev/pandas/pull/43729/checks?check_run_id=3809383668 :-<
Note that this will fail right now until we can pick up the newly uploaded Python 3.10 uploaded by conda-forge. I expect this to pass in the next few days. Just have to merge master every once in a while
ok fair enough

pls rebase when it's ready then 
There was a suggestion to replicate this test from #43146:

```yaml
    - name: Force oldest supported NumPy
      run: |
        case "${{matrix.python-version}}" in
        3.8)
          pip install numpy==1.17.3 ;;
        3.9)
          pip install numpy==1.19.3 ;;
        esac
```

That's just before the testing, to make sure it really does work with the older NumPy's. (I'd add 3.10 to that list; this was from August)
doesn't this need to target 1.3.4?
@lithomas1 lgtm. happy to merge (its a draft), small question. and do you want to try to merge directly to 1.3.4? (and can fix the backport)?
Thanks for the ping. Its draft because I'm still working on integrating the test from #43146. 1.3.4 would be fine for this.
Okay, this looks working and the test from #43146 has been added. 
@henryiii Can you take one last look? Thanks for all the help so far.
Looks good to me.

I'd still recommend (not a blocker, even if I had the ability to block things :P ) using `numpy>=1.21.0; python_version>='3.10'`; given this is completely optional segment anyway, and could just as easily be written in a single line `numpy>=1.18.5`; there is no reason to make it intentionally harder to test on Python 3.11 alphas by not requiring numpy at all - why add something else that could be forgotten? The first Python 3.11 alpha became available via actions/setup-python today, by the way.

Edit: new version looks great. :)
Thanks @lithomas1 
Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

1. Checkout backport branch and update it.

```
$ git checkout 1.3.x
$ git pull
```

2. Cherry pick the first parent branch of the this PR on top of the older branch:
```
$ git cherry-pick -m1 e7efd02c71c48c7968b2f8fdb845a0b0bf61a3fa
```

3. You will likely have some merge/cherry-pick conflict here, fix them and commit:

```
$ git commit -am 'Backport PR #43729: DEPS: Upgrade Deps for Python 3.10'
```

4. Push to a named branch :

```
git push YOURFORK 1.3.x:auto-backport-of-pr-43729-on-1.3.x
```

5. Create a PR against branch 1.3.x, I would have named this PR:

> "Backport PR #43729 on branch 1.3.x (DEPS: Upgrade Deps for Python 3.10)"

And apply the correct labels and milestones.

Congratulation you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove `Still Needs Manual Backport` label once the PR gets merged.

If these instruction are inaccurate, feel free to [suggest an improvement](https://github.com/MeeseeksBox/MeeseeksDev).
                
@lithomas1 needs manual backport when you can
@lithomas1 does this now close #43715?
I think asv_bench/asv.conf.json needs to be updated too? (Are the benchmarks running?) Any why is environment.yml and requirements-dev.txt not updated?