656 Commits

Author SHA1 Message Date
Erni
e2a2a6856d
Changed .keys() to get_keys() in batch class (#1105)
Solves the inconsistency that iter(Batch) is not the same as Batch.keys() by "deprecating" the implicit .keys() method

Closes: #922
2024-04-12 12:15:37 +02:00
Michael Panchenko
03e9af04b7
Update README.md (removed instability warning) [skip ci] 2024-04-05 12:05:20 +02:00
Michael Panchenko
bab5c634e7
Missing link in README.md [skip ci] 2024-04-05 12:04:27 +02:00
Daniel Plop
8a0629ded6
Fix mypy issues in tests and examples (#1077)
Closes #952 

- `SamplingConfig` supports `batch_size=None`. #1077
- tests and examples are covered by `mypy`. #1077
- `NetBase` is more used, stricter typing by making it generic. #1077
- `utils.net.common.Recurrent` now receives and returns a
`RecurrentStateBatch` instead of a dict. #1077

---------

Co-authored-by: Michael Panchenko <m.panchenko@appliedai.de>
2024-04-03 18:07:51 +02:00
Michael Panchenko
55fa6f7f35
Don't raise error on len of empty Batch (#1084) 2024-04-03 13:37:18 +02:00
Erni
bf0d632108
Naming and typing improvements in Actor/Critic/Policy forwards (#1032)
Closes #917 

### Internal Improvements
- Better variable names related to model outputs (logits, dist input
etc.). #1032
- Improved typing for actors and critics, using Tianshou classes like
`Actor`, `ActorProb`, etc.,
instead of just `nn.Module`. #1032
- Added interfaces for most `Actor` and `Critic` classes to enforce the
presence of `forward` methods. #1032
- Simplified `PGPolicy` forward by unifying the `dist_fn` interface (see
associated breaking change). #1032
- Use `.mode` of distribution instead of relying on knowledge of the
distribution type. #1032

### Breaking Changes

- Changed interface of `dist_fn` in `PGPolicy` and all subclasses to
take a single argument in both
continuous and discrete cases. #1032

---------

Co-authored-by: Arnau Jimenez <arnau.jimenez@zeiss.com>
Co-authored-by: Michael Panchenko <m.panchenko@appliedai.de>
2024-04-01 17:14:17 +02:00
Michael Panchenko
5bf923c9bd Removed more references to Chinese docs [skip ci] 2024-03-28 18:17:25 +01:00
Michael Panchenko
23a33a9aa3 Removed link to Chinese docs [skip ci] 2024-03-28 18:13:15 +01:00
Michael Panchenko
ecb272c61b
Update CHANGELOG.md [skip ci] 2024-03-28 18:06:00 +01:00
bordeauxred
4f65b131aa
Feat/refactor collector (#1063)
Closes: #1058 

### Api Extensions
- Batch received two new methods: `to_dict` and `to_list_of_dicts`.
#1063
- `Collector`s can now be closed, and their reset is more granular.
#1063
- Trainers can control whether collectors should be reset prior to
training. #1063
- Convenience constructor for `CollectStats` called
`with_autogenerated_stats`. #1063

### Internal Improvements
- `Collector`s rely less on state, the few stateful things are stored
explicitly instead of through a `.data` attribute. #1063
- Introduced a first iteration of a naming convention for vars in
`Collector`s. #1063
- Generally improved readability of Collector code and associated tests
(still quite some way to go). #1063
- Improved typing for `exploration_noise` and within Collector. #1063

### Breaking Changes

- Removed `.data` attribute from `Collector` and its child classes.
#1063
- Collectors no longer reset the environment on initialization. Instead,
the user might have to call `reset`
expicitly or pass `reset_before_collect=True` . #1063
- VectorEnvs now return an array of info-dicts on reset instead of a
list. #1063
- Fixed `iter(Batch(...)` which now behaves the same way as
`Batch(...).__iter__()`. Can be considered a bugfix. #1063

---------

Co-authored-by: Michael Panchenko <m.panchenko@appliedai.de>
2024-03-28 18:02:31 +01:00
maxhuettenrauch
edae9e4403
fixed env seeding in test_sac_with_il.py (#1081) 2024-03-28 12:52:35 +01:00
Michael Panchenko
61bf9adaff
Update CHANGELOG.md [skip ci] 2024-03-20 23:09:26 +01:00
Michael Panchenko
5f96a57bbb
Add CHANGELOG.md 2024-03-20 23:08:34 +01:00
Michael Panchenko
1a4d7deca6
Update publish.yaml, typo [skip ci[ v1.0.0 2024-03-20 00:41:46 +01:00
Michael Panchenko
72df9a580d
Update publish.yaml [skip ci] 2024-03-20 00:41:17 +01:00
Michael Panchenko
55e9bee373
Update publish.yaml [skip ci] 2024-03-20 00:39:54 +01:00
Michael Panchenko
e3661c11e3
Update publish.yaml, missing / [skip ci] 2024-03-20 00:26:11 +01:00
maxhuettenrauch
e82379c47f
Allow explicit setting of multiprocessing context for SubprocEnvWorker (#1072)
Running multiple training runs in parallel (with, for example, joblib)
fails on macOS due to a change in the standard context for
multiprocessing (see
[here](https://stackoverflow.com/questions/65098398/why-using-fork-works-but-using-spawn-fails-in-python3-8-multiprocessing)
or
[here](https://www.reddit.com/r/learnpython/comments/g5372v/multiprocessing_with_fork_on_macos/)).
This PR adds the ability to explicitly set a multiprocessing context for
the SubProcEnvWorker (similar to gymnasium's
[AsyncVecEnv](https://github.com/Farama-Foundation/Gymnasium/blob/main/gymnasium/vector/async_vector_env.py)).
---------

Co-authored-by: Maximilian Huettenrauch <m.huettenrauch@appliedai.de>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2024-03-14 11:07:56 +01:00
Dominik Jain
1714c7f2c7
High-level API: Fix number of test episodes being incorrectly scaled by number of envs (#1071) 2024-03-07 08:57:11 -08:00
Michael Panchenko
6746a80f6d
Add publish workflow, first preparation for next release (#1067) 2024-03-04 12:21:49 +01:00
Michael Panchenko
fdb69f1273
Improve README, minor changes in procedural example (#1068) 2024-03-03 15:07:07 +01:00
Dominik Jain
b6b2c95ac7 Improve README, minor changes in procedural example 2024-03-03 15:06:40 +01:00
Erni
1aee41fa9c
Using dist.mode instead of logits.argmax (#1066)
changed all the occurrences where an action is selected deterministically

- **from**: using the outputs of the actor network.
- **to**: using the mode of the PyTorch distribution.

---------

Co-authored-by: Arnau Jimenez <arnau.jimenez@zeiss.com>
2024-03-03 00:09:39 +01:00
maxhuettenrauch
7c970df53f
Fix/add watch env with obs rms (#1061)
Supports deciding whether to watch the agent performing on the env using high-level interfaces
2024-02-29 15:59:11 +01:00
Dominik Jain
49781e715e
Fix high-level examples (#1060)
The high-level examples were all broken by changes made to make mypy
pass.
This PR fixes them, making a type change in logging.run_cli instead to
make mypy happy.
2024-02-23 23:17:14 +01:00
Ashok Arora
0b61bf8caf
Fix the link to the contributing guide. (#1062) 2024-02-23 23:15:41 +01:00
Carlo Cagnetta
ce371ae736
remove old python versions from poetry classifier (#1059) 2024-02-21 15:27:53 +01:00
Michael Panchenko
9b6cb6903e
Improvements in High-Level API and Poe Tasks (#1055)
* Add an option to SamplingConfig which allows to configure number of
test episodes
* Make OptimizerFactory more flexible, adding method
`create_optimizer_for_params`
* Fix AutoAlphaFactoryDefault using hard-coded Adam optimizer
* Fix mypy issues that were platform/installation-dependent
* Limit scope of nbqa, resolving issues with files generated by old
versions of the build

Fixes #1054
2024-02-15 12:02:16 +01:00
Dominik Jain
26e210a6ae Apply nbqa only to the docs/ folder and exclude the (old) jupyter_execute folder 2024-02-15 11:39:45 +01:00
Dominik Jain
08728ad35e Resolve platform-specific/installation-specific mypy issues
by adding ignores and ignoring unused ignores locally
2024-02-15 11:26:54 +01:00
Dominik Jain
f2e0fd165d Fix gitignore applying to tianshou/env on platfoms with case-insensitive file system 2024-02-15 11:26:39 +01:00
Dominik Jain
eeb2081ca6 Fix AutoAlphaFactoryDefault using hard-coded Adam optimizer instead of passed factory 2024-02-14 20:43:38 +01:00
Dominik Jain
76cbd7efc2 Make OptimizerFactory more flexible by adding a second method which
allows the creation of an optimizer given arbitrary parameters
(rather than a module)
2024-02-14 20:42:06 +01:00
Dominik Jain
bf391853dc Allow to configure number of test episodes in high-level API 2024-02-14 19:14:28 +01:00
Michael Panchenko
8742e3645c
Docs, js - typo in path 2024-02-14 10:50:06 +01:00
Michael Panchenko
5cc51145da
Docs/hotfix (#1052) 2024-02-12 18:54:38 +01:00
Michael Panchenko
7a30b842b6
Add vega scripts explictly to config (#1051) 2024-02-12 18:49:32 +01:00
Michael Panchenko
d3fe87b70d
Docs: added symlinks for paths resolution, removed jquery loading (#1050) 2024-02-12 17:38:25 +01:00
Michael Panchenko
e3c610d37c
Docs: Added jquery, better handling of js files through sphinx config… (#1049)
Closes #1005 #1045
2024-02-12 15:43:32 +01:00
Michael Panchenko
33d241a29b
Docs/html doc issues (#1048)
Closes #1005 

## Main changes

2. Load vega-embed things using jupyter-book config 
3. Add vega-embed dependencies as part of local code for offline
development
4. Reduced duplication in benchmark.js
5. Update sphinx, docutils, and jupyter-book

Co-authored-by: carlocagnetta <c.cagnetta@appliedai.de>
2024-02-09 19:43:10 +01:00
Carlo Cagnetta
5fc314bd4b
Docs/use nbqa on notebooks (#1041)
- Added nbqa to pyproject.toml
- Resolved mypy issues on notebooks and related files
- Conducting ruff checks on notebooks
- Add DataclassPPrintMixin for better stats representation
- Improved Notebooks wording and explanations

Resolve: #1004
Related to #974
2024-02-07 17:28:16 +01:00
maxhuettenrauch
5fe9aea798
Update and fix dependencies related to mac install (#1044)
Addresses part of #1015 

### Dependencies

- move jsonargparse and docstring-parser to dependencies to run hl
examples without dev
- create mujoco-py extra for legacy mujoco envs
- updated atari extra
    - removed atari-py and gym dependencies
    - added ALE-py, autorom, and shimmy
- created robotics extra for HER-DDPG

### Mac specific

- only install envpool when not on mac
- mujoco-py not working on macOS newer than Monterey
(https://github.com/openai/mujoco-py/issues/777)
- D4RL also fails due to dependency on mujoco-py
(https://github.com/Farama-Foundation/D4RL/issues/232)

### Other

- reduced training-num/test-num in example files to a number ≤ 20
(examples with 100 led to too many open files)
- rendering for Mujoco envs needs to be fixed on gymnasium side
(https://github.com/Farama-Foundation/Gymnasium/issues/749)

---------

Co-authored-by: Maximilian Huettenrauch <m.huettenrauch@appliedai.de>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2024-02-06 17:06:38 +01:00
Daniel Plop
eb0215cf76
Refactoring/mypy issues test (#1017)
Improves typing in examples and tests, towards mypy passing there.

Introduces the SpaceInfo utility
2024-02-06 14:24:30 +01:00
Michael Panchenko
4756ee80ff
Fixed links and added poetry install info in README [skip ci] 2024-01-24 18:07:02 +01:00
Michael Panchenko
a0e0824c64
Typo in README.md [skip ci] 2024-01-24 17:50:15 +01:00
dependabot[bot]
69a0e6bbd7
Bump notebook from 7.0.6 to 7.0.7 (#1027)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [notebook](https://github.com/jupyter/notebook) from 7.0.6 to
7.0.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/notebook/releases">notebook's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.7</h2>
<h2>7.0.7</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.0.6...089c78c48fd00b2b0d2f33e4463eb42018e86803">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Update to JupyterLab 4.0.11 <a
href="https://redirect.github.com/jupyter/notebook/pull/7215">#7215</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Update ruff config and typing <a
href="https://redirect.github.com/jupyter/notebook/pull/7145">#7145</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Clean up lint handling <a
href="https://redirect.github.com/jupyter/notebook/pull/7142">#7142</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Adopt ruff format <a
href="https://redirect.github.com/jupyter/notebook/pull/7132">#7132</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>[7.0.x] Install stable JupyterLab 4.0 in the releaser hook <a
href="https://redirect.github.com/jupyter/notebook/pull/7183">#7183</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update publish-release workflow for PyPI trusted publisher <a
href="https://redirect.github.com/jupyter/notebook/pull/7176">#7176</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-17&amp;to=2024-01-19&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​brichet</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ad5423197+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​d5423197</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ameeseeksmachine+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​meeseeksmachine</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/notebook/blob/@jupyter-notebook/tree@7.0.7/CHANGELOG.md">notebook's
changelog</a>.</em></p>
<blockquote>
<h2>7.0.7</h2>
<p>(<a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.0.6...089c78c48fd00b2b0d2f33e4463eb42018e86803">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Update to JupyterLab 4.0.11 <a
href="https://redirect.github.com/jupyter/notebook/pull/7215">#7215</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Update ruff config and typing <a
href="https://redirect.github.com/jupyter/notebook/pull/7145">#7145</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Clean up lint handling <a
href="https://redirect.github.com/jupyter/notebook/pull/7142">#7142</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>Adopt ruff format <a
href="https://redirect.github.com/jupyter/notebook/pull/7132">#7132</a>
(<a
href="https://github.com/blink1073"><code>@​blink1073</code></a>)</li>
<li>[7.0.x] Install stable JupyterLab 4.0 in the releaser hook <a
href="https://redirect.github.com/jupyter/notebook/pull/7183">#7183</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
<li>Update publish-release workflow for PyPI trusted publisher <a
href="https://redirect.github.com/jupyter/notebook/pull/7176">#7176</a>
(<a href="https://github.com/jtpio"><code>@​jtpio</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-17&amp;to=2024-01-19&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​brichet</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ad5423197+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​d5423197</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ameeseeksmachine+updated%3A2023-10-17..2024-01-19&amp;type=Issues"><code>@​meeseeksmachine</code></a></p>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="80e992e9f4"><code>80e992e</code></a>
Publish 7.0.7</li>
<li><a
href="089c78c48f"><code>089c78c</code></a>
Update to JupyterLab 4.0.11 (<a
href="https://redirect.github.com/jupyter/notebook/issues/7215">#7215</a>)</li>
<li><a
href="109ba75788"><code>109ba75</code></a>
Backport PR <a
href="https://redirect.github.com/jupyter/notebook/issues/7176">#7176</a>:
Update publish-release workflow for PyPI trusted publisher...</li>
<li><a
href="d252423198"><code>d252423</code></a>
Update ruff config and typing (<a
href="https://redirect.github.com/jupyter/notebook/issues/7145">#7145</a>)
(<a
href="https://redirect.github.com/jupyter/notebook/issues/7186">#7186</a>)</li>
<li><a
href="d2ef92f0b3"><code>d2ef92f</code></a>
Backport PR <a
href="https://redirect.github.com/jupyter/notebook/issues/7142">#7142</a>:
Clean up lint handling (<a
href="https://redirect.github.com/jupyter/notebook/issues/7185">#7185</a>)</li>
<li><a
href="8e9390d9af"><code>8e9390d</code></a>
Backport PR <a
href="https://redirect.github.com/jupyter/notebook/issues/7132">#7132</a>:
Adopt ruff format (<a
href="https://redirect.github.com/jupyter/notebook/issues/7184">#7184</a>)</li>
<li><a
href="4d07f1ee9b"><code>4d07f1e</code></a>
Install stable JupyterLab 4.0 in the releaser hook (<a
href="https://redirect.github.com/jupyter/notebook/issues/7183">#7183</a>)</li>
<li><a
href="e73d410074"><code>e73d410</code></a>
Updated ui-tests Configuration in Contributing.md (<a
href="https://redirect.github.com/jupyter/notebook/issues/7124">#7124</a>)</li>
<li><a
href="ea1a1538ef"><code>ea1a153</code></a>
Set <code>navigation_with_keys</code> to <code>False</code> (<a
href="https://redirect.github.com/jupyter/notebook/issues/7129">#7129</a>)</li>
<li><a
href="d717c6b361"><code>d717c6b</code></a>
Add Python 3.12 classifier (<a
href="https://redirect.github.com/jupyter/notebook/issues/7111">#7111</a>)</li>
<li>See full diff in <a
href="https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.0.6...@jupyter-notebook/tree@7.0.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=notebook&package-manager=pip&previous-version=7.0.6&new-version=7.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/thu-ml/tianshou/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 19:48:58 +01:00
dependabot[bot]
6577cfa01e
Bump pillow from 10.0.1 to 10.2.0 (#1030)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to
10.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/releases">pillow's
releases</a>.</em></p>
<blockquote>
<h2>10.2.0</h2>
<p><a
href="https://pillow.readthedocs.io/en/stable/releasenotes/10.2.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/10.2.0.html</a></p>
<h2>Changes</h2>
<ul>
<li>Add <code>keep_rgb</code> option when saving JPEG to prevent
conversion of RGB colorspace <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7553">#7553</a>
[<a href="https://github.com/bgilbert"><code>@​bgilbert</code></a>]</li>
<li>Trim negative glyph offsets in ImageFont.getmask() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7672">#7672</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Removed unnecessary &quot;pragma: no cover&quot; <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7668">#7668</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Trim glyph size in ImageFont.getmask() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7669">#7669</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix loading IPTC images and update test <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7667">#7667</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Allow uncompressed TIFF images to be saved in chunks <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7650">#7650</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Concatenate multiple JPEG EXIF markers <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7496">#7496</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Changed IPTC tile tuple to match other plugins <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7661">#7661</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Do not assign new fp attribute when exiting context manager <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7566">#7566</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Support arbitrary masks for uncompressed RGB DDS images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7589">#7589</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Support setting ROWSPERSTRIP tag <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7654">#7654</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7662">#7662</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Optimise <code>ImageColor</code> using
<code>functools.lru_cache</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7657">#7657</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Restricted environment keys for ImageMath.eval() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7655">#7655</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Optimise <code>ImageMode.getmode</code> using
<code>functools.lru_cache</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7641">#7641</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Added trusted PyPI publishing <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7616">#7616</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Compile FriBiDi for Windows ARM64 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7629">#7629</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Fix incorrect color blending for overlapping glyphs <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7497">#7497</a>
[<a
href="https://github.com/ZachNagengast"><code>@​ZachNagengast</code></a>]</li>
<li>Add .git-blame-ignore-revs file <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7528">#7528</a>
[<a href="https://github.com/akx"><code>@​akx</code></a>]</li>
<li>Attempt memory mapping when tile args is a string <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7565">#7565</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fill identical pixels with transparency in subsequent frames when
saving GIF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7568">#7568</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Removed unnecessary string length check <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7560">#7560</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Determine mask mode in Python instead of C <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7548">#7548</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Corrected duration when combining multiple GIF frames into single
frame <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7521">#7521</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Handle disposing GIF background from outside palette <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7515">#7515</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Seek past the data when skipping a PSD layer <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7483">#7483</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>ImageMath: Inline <code>isinstance</code> check <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7623">#7623</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Update actions/upload-artifact action to v4 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7619">#7619</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Import plugins relative to the module <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7576">#7576</a>
[<a
href="https://github.com/deliangyang"><code>@​deliangyang</code></a>]</li>
<li>Translate encoder error codes to strings; deprecate
<code>ImageFile.raise_oserror()</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7609">#7609</a>
[<a href="https://github.com/bgilbert"><code>@​bgilbert</code></a>]</li>
<li>Updated readthedocs to latest version of Python <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7611">#7611</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Support reading BC4U and DX10 BC1 images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/6486">#6486</a>
[<a href="https://github.com/REDxEYE"><code>@​REDxEYE</code></a>]</li>
<li>Optimize ImageStat.Stat.extrema <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7593">#7593</a>
[<a href="https://github.com/florath"><code>@​florath</code></a>]</li>
<li>Handle pathlib.Path in FreeTypeFont <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7578">#7578</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use list comprehensions to create transformed lists <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7597">#7597</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Added support for reading DX10 BC4 DDS images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7603">#7603</a>
[<a href="https://github.com/sambvfx"><code>@​sambvfx</code></a>]</li>
<li>Optimized ImageStat.Stat.count <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7599">#7599</a>
[<a href="https://github.com/florath"><code>@​florath</code></a>]</li>
<li>Moved error from truetype() to FreeTypeFont <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7587">#7587</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Correct PDF palette size when saving <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7555">#7555</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed closing file pointer with olefile 0.47 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7594">#7594</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>ruff: Minor optimizations of list comprehensions, x in set, etc. <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7524">#7524</a>
[<a href="https://github.com/cclauss"><code>@​cclauss</code></a>]</li>
<li>Build Windows wheels using cibuildwheel <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7580">#7580</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Raise ValueError when TrueType font size is zero or less <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7584">#7584</a>
[<a href="https://github.com/akx"><code>@​akx</code></a>]</li>
<li>Install cibuildwheel from requirements file <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7581">#7581</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst">pillow's
changelog</a>.</em></p>
<blockquote>
<h2>10.2.0 (2024-01-02)</h2>
<ul>
<li>
<p>Add <code>keep_rgb</code> option when saving JPEG to prevent
conversion of RGB colorspace <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7553">#7553</a>
[bgilbert, radarhere]</p>
</li>
<li>
<p>Trim glyph size in ImageFont.getmask() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7669">#7669</a>,
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7672">#7672</a>
[radarhere, nulano]</p>
</li>
<li>
<p>Deprecate IptcImagePlugin helpers <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7664">#7664</a>
[nulano, hugovk, radarhere]</p>
</li>
<li>
<p>Allow uncompressed TIFF images to be saved in chunks <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7650">#7650</a>
[radarhere]</p>
</li>
<li>
<p>Concatenate multiple JPEG EXIF markers <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7496">#7496</a>
[radarhere]</p>
</li>
<li>
<p>Changed IPTC tile tuple to match other plugins <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7661">#7661</a>
[radarhere]</p>
</li>
<li>
<p>Do not assign new fp attribute when exiting context manager <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7566">#7566</a>
[radarhere]</p>
</li>
<li>
<p>Support arbitrary masks for uncompressed RGB DDS images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7589">#7589</a>
[radarhere, akx]</p>
</li>
<li>
<p>Support setting ROWSPERSTRIP tag <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7654">#7654</a>
[radarhere]</p>
</li>
<li>
<p>Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7662">#7662</a>
[radarhere]</p>
</li>
<li>
<p>Optimise <code>ImageColor</code> using
<code>functools.lru_cache</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7657">#7657</a>
[hugovk]</p>
</li>
<li>
<p>Restricted environment keys for ImageMath.eval() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7655">#7655</a>
[wiredfool, radarhere]</p>
</li>
<li>
<p>Optimise <code>ImageMode.getmode</code> using
<code>functools.lru_cache</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7641">#7641</a>
[hugovk, radarhere]</p>
</li>
<li>
<p>Fix incorrect color blending for overlapping glyphs <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7497">#7497</a>
[ZachNagengast, nulano, radarhere]</p>
</li>
<li>
<p>Attempt memory mapping when tile args is a string <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7565">#7565</a>
[radarhere]</p>
</li>
<li>
<p>Fill identical pixels with transparency in subsequent frames when
saving GIF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7568">#7568</a>
[radarhere]</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6956d0b285"><code>6956d0b</code></a>
10.2.0 version bump</li>
<li><a
href="31c8dacdc7"><code>31c8dac</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7675">#7675</a>
from python-pillow/pre-commit-ci-update-config</li>
<li><a
href="40a3f91af2"><code>40a3f91</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7674">#7674</a>
from nulano/url-example</li>
<li><a
href="cb41b0cc78"><code>cb41b0c</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="de62b25ed3"><code>de62b25</code></a>
fix image url in &quot;Reading from URL&quot; example</li>
<li><a
href="7c526a6c6b"><code>7c526a6</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="d93a5ad70b"><code>d93a5ad</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7553">#7553</a>
from bgilbert/jpeg-rgb</li>
<li><a
href="aed764fe84"><code>aed764f</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="f8df5303fa"><code>f8df530</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7672">#7672</a>
from nulano/imagefont-negative-crop</li>
<li><a
href="24e9485e6b"><code>24e9485</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7671">#7671</a>
from radarhere/imagetransform</li>
<li>Additional commits viewable in <a
href="https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pillow&package-manager=pip&previous-version=10.0.1&new-version=10.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/thu-ml/tianshou/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 19:48:43 +01:00
dependabot[bot]
b5ed0c4c67
Bump jupyterlab from 4.0.9 to 4.0.11 (#1028)
Bumps [jupyterlab](https://github.com/jupyterlab/jupyterlab) from 4.0.9
to 4.0.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyterlab/jupyterlab/releases">jupyterlab's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.11</h2>
<h2>4.0.11</h2>
<p>(<a
href="https://github.com/jupyterlab/jupyterlab/compare/v4.0.10...0708330843fd087134a239d2ad6005b1d543e246">Full
Changelog</a>)</p>
<h3>Security fixes</h3>
<ul>
<li>Potential authentication and CSRF tokens leak in JupyterLab (<a
href="https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-44cc-43rp-5947">GHSA-44cc-43rp-5947</a>)</li>
<li>SXSS in Markdown Preview (<a
href="https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-4m77-cmpx-vjc4">GHSA-4m77-cmpx-vjc4</a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fixes focus indicator on input checkbox for Firefox <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15612">#15612</a>
(<a
href="https://github.com/alden-ilao"><code>@​alden-ilao</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Fix link to yarn docs in extension migration guide <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15640">#15640</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2023-12-29&amp;to=2024-01-19&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​brichet</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​fcollonval</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​jupyterlab-probot</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ameeseeksmachine+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​meeseeksmachine</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amisterfads+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​misterfads</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2023-12-29..2024-01-19&amp;type=Issues"><code>@​welcome</code></a></p>
<h2>v4.0.10</h2>
<h2>4.0.10</h2>
<p>(<a
href="https://github.com/jupyterlab/jupyterlab/compare/v4.0.9...b9bc3002b1ab89b9a1c4d2a3007c43275d11e0df">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15386">#15386</a>:
Improve scrolling to heading <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15565">#15565</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Workaround focus leaving input box on consecutive submissions <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15479">#15479</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix search coming back in notebook and editor <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15443">#15443</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix <code>jupyter labextension watch --help</code> <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15542">#15542</a>
(<a href="https://github.com/akx"><code>@​akx</code></a>)</li>
<li>Fix <code>FormComponent</code> showing error indicators in all
fields when using a <code>customValidate</code> function <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15464">#15464</a>
(<a
href="https://github.com/mmichilot"><code>@​mmichilot</code></a>)</li>
<li>Fix Shift + L not working in stdin <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15440">#15440</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15499">#15499</a>:
Adopt ruff format <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15564">#15564</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Pin <code>actions/labeler</code> to v4 to fix failing CI action <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15496">#15496</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix URLs in debugger-extension <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15462">#15462</a>
(<a
href="https://github.com/fcollonval"><code>@​fcollonval</code></a>)</li>
<li>More robust galata/UI tests <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15355">#15355</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15499">#15499</a>:
Adopt ruff format <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15564">#15564</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyterlab/jupyterlab/blob/@jupyterlab/lsp@4.0.11/CHANGELOG.md">jupyterlab's
changelog</a>.</em></p>
<blockquote>
<h2>4.0.11</h2>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h2>4.0.10</h2>
<p>(<a
href="https://github.com/jupyterlab/jupyterlab/compare/v4.0.9...b9bc3002b1ab89b9a1c4d2a3007c43275d11e0df">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15386">#15386</a>:
Improve scrolling to heading <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15565">#15565</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Workaround focus leaving input box on consecutive submissions <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15479">#15479</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix search coming back in notebook and editor <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15443">#15443</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix <code>jupyter labextension watch --help</code> <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15542">#15542</a>
(<a href="https://github.com/akx"><code>@​akx</code></a>)</li>
<li>Fix <code>FormComponent</code> showing error indicators in all
fields when using a <code>customValidate</code> function <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15464">#15464</a>
(<a
href="https://github.com/mmichilot"><code>@​mmichilot</code></a>)</li>
<li>Fix Shift + L not working in stdin <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15440">#15440</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15499">#15499</a>:
Adopt ruff format <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15564">#15564</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Pin <code>actions/labeler</code> to v4 to fix failing CI action <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15496">#15496</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Fix URLs in debugger-extension <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15462">#15462</a>
(<a
href="https://github.com/fcollonval"><code>@​fcollonval</code></a>)</li>
<li>More robust galata/UI tests <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15355">#15355</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Documentation improvements</h3>
<ul>
<li>Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15499">#15499</a>:
Adopt ruff format <a
href="https://redirect.github.com/jupyterlab/jupyterlab/pull/15564">#15564</a>
(<a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2023-11-18&amp;to=2023-12-29&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aafshin+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​afshin</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​brichet</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adavidbrochart+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​davidbrochart</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aecharles+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​echarles</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​fcollonval</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ag547315+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​g547315</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agabalafou+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​gabalafou</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AGabrielaVives+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​GabrielaVives</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​github-actions</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aj264415+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​j264415</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​jtpio</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​jupyterlab-probot</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alumberbot-app+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ameeseeksmachine+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​meeseeksmachine</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aparmentelat+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​parmentelat</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atonyfast+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​tonyfast</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​welcome</code></a>
| <a
href="https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AWh1isper+updated%3A2023-11-18..2023-12-29&amp;type=Issues"><code>@​Wh1isper</code></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="882dd81a6d"><code>882dd81</code></a>
[ci skip] Publish 4.0.11</li>
<li><a
href="1ef7a4fa02"><code>1ef7a4f</code></a>
Merge pull request from GHSA-44cc-43rp-5947</li>
<li><a
href="0a7510114b"><code>0a75101</code></a>
Fix CI: lint</li>
<li><a
href="dda0033cd4"><code>dda0033</code></a>
Merge pull request from GHSA-4m77-cmpx-vjc4</li>
<li><a
href="0708330843"><code>0708330</code></a>
Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15612">#15612</a>:
Fixes focus indicator on input checkbox for Firefox (<a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15653">#15653</a>)</li>
<li><a
href="edb23ebb12"><code>edb23eb</code></a>
Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15640">#15640</a>:
Fix link to yarn docs in extension migration guide (<a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15644">#15644</a>)</li>
<li><a
href="40e8e47123"><code>40e8e47</code></a>
[ci skip] Publish 4.0.10</li>
<li><a
href="b9bc3002b1"><code>b9bc300</code></a>
Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15386">#15386</a>:
Improve scrolling to heading (<a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15565">#15565</a>)</li>
<li><a
href="3ce0331715"><code>3ce0331</code></a>
Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15499">#15499</a>:
Adopt ruff format (<a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15564">#15564</a>)</li>
<li><a
href="dd68b9c4a1"><code>dd68b9c</code></a>
Backport PR <a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15443">#15443</a>:
Fix search coming back in notebook and editor (<a
href="https://redirect.github.com/jupyterlab/jupyterlab/issues/15562">#15562</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.0.9...@jupyterlab/lsp@4.0.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jupyterlab&package-manager=pip&previous-version=4.0.9&new-version=4.0.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/thu-ml/tianshou/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 19:48:31 +01:00
dependabot[bot]
7f31294bfd
Bump jupyter-lsp from 2.2.0 to 2.2.2 (#1026)
Bumps [jupyter-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) from
2.2.0 to 2.2.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter-lsp/jupyterlab-lsp/blob/main/CHANGELOG.md">jupyter-lsp's
changelog</a>.</em></p>
<blockquote>
<h3><code>jupyter-lsp 2.2.2</code></h3>
<ul>
<li>bug fixes:
<ul>
<li>address warning about renamed <code>extension_points</code> (<a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1035">#1035</a>)</li>
<li>fix compatibility with jupyter server 1.x</li>
<li>fix an authentication-related security vulnerability (see <a
href="https://github.com/jupyter-lsp/jupyterlab-lsp/security/advisories/GHSA-4qhp-652w-c22x">the
advisory</a> for details)</li>
</ul>
</li>
<li>enhancements:
<ul>
<li>add authorization support (<code>lsp</code> resource, jupyter-server
v2+ only) - this allows server operators for fine grained access
control, e.g. in case if specific users (such as guest or read-only
users) should not be allowed to access LSP; this is in addition to
authentication fixes</li>
</ul>
</li>
</ul>
<h3><code>@jupyter-lsp/jupyterlab-lsp 5.0.1</code></h3>
<ul>
<li>bug fixes:
<ul>
<li>fix false “undefined name” in <code>%%time</code> and
<code>%%capture</code> magics <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1007">#1007</a>
(thanks <a
href="https://github.com/i-aki-y"><code>@​i-aki-y</code></a>!)</li>
<li>fix completion items for paths and other long items being cut off <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1025">#1025</a></li>
<li>workaround issue with markdown lost on edit <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1016">#1016</a></li>
<li>fix latex/Greek letters insertion and other completions which do not
match prefix (do not pre-filter completions from kernel) <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1022">#1022</a></li>
<li>fix completions in Console <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1023">#1023</a></li>
<li>fix customising <code>priority</code> after pre-setting it with
<code>overrides.json</code> <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1027">#1027</a></li>
<li>fix jump to definitions in a file inside root in Pyright on Windows
<a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1024">#1024</a></li>
<li>fix typos in setting title and help message <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/999">#999</a>
and <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1010">#1010</a></li>
</ul>
</li>
<li>maintenance:
<ul>
<li>fix bootstrap script <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1021">#1021</a></li>
<li>bump axios from 1.2.1 to 1.6.2 <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1019">#1019</a></li>
<li>bump <code>@​babel/traverse</code> from 7.22.5 to 7.23.4 <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1020">#1020</a></li>
</ul>
</li>
</ul>
<h3><code>jupyter-lsp 2.2.1</code></h3>
<ul>
<li>bug fixes:
<ul>
<li>use <code>APIHandler</code> over <code>JupyterHandler</code> to get
CORS OPTIONS <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/952">#952</a>
(thanks <a
href="https://github.com/zhanba"><code>@​zhanba</code></a>!)</li>
<li>use <code>shutil.which</code> to discover <code>npm</code>
executable on Windows (thanks <a
href="https://github.com/jameshurst"><code>@​jameshurst</code></a>!)</li>
</ul>
</li>
<li>maintenance:
<ul>
<li>resolve traitlets type warnings, lint, remove six <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/1015">#1015</a></li>
<li>use <code>sys.executable</code> in stdio tests <a
href="https://redirect.github.com/jupyter-lsp/jupyterlab-lsp/issues/998">#998</a></li>
</ul>
</li>
</ul>
<h3><code>@jupyter-lsp/jupyterlab-lsp 5.0.0</code></h3>
<ul>
<li>enhancements:
<ul>
<li>uses toast notifications instead of messages on status bar</li>
<li>diagnostics panel will be re-opened on reload</li>
</ul>
</li>
<li>maintenance:
<ul>
<li>support JupyterLab 4</li>
<li>use upstream <code>@jupyterlab/lsp</code> package</li>
<li>use camelCase convention in TypeScript/JavaScript code</li>
<li>use <code>@codemirror/linter</code> to show diagnostics
<ul>
<li>this comes with a different style of underlines and custom
tooltips</li>
</ul>
</li>
</ul>
</li>
<li>known issues/limitations:
<ul>
<li>configuration of language servers via JSON Settings Editor may
result in a spurious warning
due to a transitive clash with settings from the UI editor when using
nested pattern (e.g.
<code>{pylsp: {flake8: {enabled: true}}}</code>); the dotted pattern
(e.g. <code>{&quot;pylsp.flake8.enabled&quot;: true}</code>)
does not lead to such problem.</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/jupyter-lsp/jupyterlab-lsp/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jupyter-lsp&package-manager=pip&previous-version=2.2.0&new-version=2.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/thu-ml/tianshou/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 19:48:15 +01:00
Michael Panchenko
6e1ffe58e5
Improvements in README and high-level API (#1022)
This makes several largely unrelated improvements in the high-level API
and in the README.

Main improvements in high-level API:
* Improve naming in trainer-related abstractions, moved some classes
from examples to the library
  * Improve environment factory abstraction
  * Some bug-fixes

Main changes in README:
  * Add high-level example and update procedural/low-level example
  * Improve language/wording
2024-01-16 15:24:41 +01:00