Skip to content

Commit e49be2a

Browse files
authored
Add support for Python 3.13 (#464)
* Add support for Python 3.13 * Re-generate docs * Update copyright year * Fix build action * Remove discord link
1 parent 6af0cb6 commit e49be2a

16 files changed

+34
-28
lines changed

.github/workflows/build.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
max-parallel: 4
1818
matrix:
1919
platform: [ubuntu-latest, windows-latest]
20-
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
20+
python-version: [3.8, 3.9, '3.10', 3.11, 3.12, 3.13]
2121
include:
2222
- python-version: 3.8
2323
tox-env: py38
@@ -29,6 +29,8 @@ jobs:
2929
tox-env: py311
3030
- python-version: '3.12'
3131
tox-env: py312
32+
- python-version: '3.13'
33+
tox-env: py313
3234

3335
env:
3436
TOXENV: ${{ matrix.tox-env }}

LICENSE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT license.
22

3-
Copyright (c) 2013 - 2023 Isaac Muse <isaacmuse@gmail.com>
3+
Copyright (c) 2013 - 2024 Isaac Muse <isaacmuse@gmail.com>
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
66

README.md

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
[![Donate via PayPal][donate-image]][donate-link]
2-
[![Discord][discord-image]][discord-link]
32
[![Build][github-ci-image]][github-ci-link]
43
[![Coverage][codecov-image]][codecov-link]
54
[![PyPI Version][pypi-image]][pypi-link]
@@ -33,8 +32,6 @@ Rummage is released under the MIT license.
3332

3433
[github-ci-image]: https://github.com/facelessuser/Rummage/workflows/build/badge.svg
3534
[github-ci-link]: https://github.com/facelessuser/Rummage/actions?workflow=build
36-
[discord-image]: https://img.shields.io/discord/678289859768745989?logo=discord&logoColor=aaaaaa&color=mediumpurple&labelColor=333333
37-
[discord-link]:https://discord.gg/UjXwf4F
3835
[codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/Rummage/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
3936
[codecov-link]: https://codecov.io/github/facelessuser/Rummage
4037
[pypi-image]: https://img.shields.io/pypi/v/Rummage.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333

docs/src/markdown/about/changelog.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 4.21
4+
5+
- **NEW**: Officially support Python 3.12 and Python 3.13, requires latest wxPython (4.2.2).
6+
37
## 4.20.3
48

59
- **FIX**: Fix issues related to Babel on Python versions greater than 3.11.

docs/src/markdown/about/license.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
MIT license.
44

5-
Copyright (c) 2013 - 2023 Isaac Muse <isaacmuse@gmail.com>
5+
Copyright (c) 2013 - 2024 Isaac Muse <isaacmuse@gmail.com>
66

77
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
88
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the

hatch_build.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ def update(self, metadata):
4747
"Programming Language :: Python :: 3.9",
4848
"Programming Language :: Python :: 3.10",
4949
"Programming Language :: Python :: 3.11",
50-
# "Programming Language :: Python :: 3.12",
50+
"Programming Language :: Python :: 3.12",
51+
"Programming Language :: Python :: 3.13",
5152
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
5253
"Topic :: Software Development :: Libraries :: Python Modules",
5354
"Topic :: Text Processing :: Filters",

mkdocs.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ repo_url: https://github.com/facelessuser/Rummage
44
edit_uri: tree/master/docs/src/markdown
55
site_description: A search and replace tool written in Python.
66
copyright: |
7-
Copyright &copy; 2013 - 2023 <a href="https://github.com/facelessuser" target="_blank" rel="noopener">Isaac Muse</a>
7+
Copyright &copy; 2013 - 2024 <a href="https://github.com/facelessuser" target="_blank" rel="noopener">Isaac Muse</a>
88
99
docs_dir: docs/src/markdown
1010
theme:
@@ -121,8 +121,6 @@ extra:
121121
social:
122122
- icon: fontawesome/brands/github
123123
link: https://github.com/facelessuser
124-
- icon: fontawesome/brands/discord
125-
link: https://discord.gg/UjXwf4F
126124

127125
plugins:
128126
- search

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ legacy_tox_ini = """
152152
[tox]
153153
skipsdist=true
154154
envlist=
155-
{py38,py39,py310,py311,py312},
155+
{py38,py39,py310,py311,py312,py313},
156156
lint
157157
158158
[testenv]

rummage/lib/gui/data/docs/.dochash

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
251717d606a04cdb6624858740df6a0e
1+
12ef784ba501eebdd28cb9bc1274d320

rummage/lib/gui/data/docs/about/changelog.html

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525

2626
<!-- Table of Content (Don't show for static sites) -->
2727
<h1 id="changelog">Changelog</h1>
28+
<h2 id="421">4.21</h2>
29+
<ul>
30+
<li><strong>NEW</strong>: Officially support Python 3.12 and Python 3.13, requires latest wxPython (4.2.2).</li>
31+
</ul>
2832
<h2 id="4203">4.20.3</h2>
2933
<ul>
3034
<li><strong>FIX</strong>: Fix issues related to Babel on Python versions greater than 3.11.</li>
@@ -305,7 +309,7 @@ <h2 id="422">4.2.2</h2>
305309
<ul>
306310
<li><strong>FIX</strong>: Don't open another update notification if one is already open.</li>
307311
</ul>
308-
<h2 id="421">4.2.1</h2>
312+
<h2 id="421_1">4.2.1</h2>
309313
<ul>
310314
<li><strong>FIX</strong>: Better default input focus on Linux when selecting the search tab.</li>
311315
<li><strong>FIX</strong>: Properly select "Search for" as the default when chains mode is enabled.</li>

rummage/lib/gui/data/docs/about/contributing.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ <h2 id="overview">Overview</h2>
7979
<li>Code patches via pull requests.</li>
8080
<li>Documentation improvements via pull requests.</li>
8181
</ul>
82-
<h2 id="become-a-sponsor">Become a Sponsor <span class="twemoji heart-throb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg></span></h2>
82+
<h2 id="become-a-sponsor">Become a Sponsor <span class="twemoji heart-throb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7.655 14.916zh-.002l-.006-.003-.018-.01a22 22 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22 22 0 0 1-3.433 2.414 7 7 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0"/></svg></span></h2>
8383
<p>Open source projects take time and money. Help support the project by becoming a sponsor. You can add your support at
8484
any tier you feel comfortable with. No amount is too little. We also accept one time contributions via PayPal.</p>
85-
<p><a class="md-button md-button--primary" href="https://github.com/sponsors/facelessuser"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"/></svg></span> GitHub Sponsors</a>
86-
<a class="md-button" href="https://www.paypal.me/facelessuser"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"/></svg></span> PayPal</a></p>
85+
<p><a class="md-button md-button--primary" href="https://github.com/sponsors/facelessuser"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/></svg></span> GitHub Sponsors</a>
86+
<a class="md-button" href="https://www.paypal.me/facelessuser"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2M357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6"/></svg></span> PayPal</a></p>
8787
<h2 id="bug-reports">Bug Reports</h2>
8888
<ol>
8989
<li>

rummage/lib/gui/data/docs/about/license.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<!-- Table of Content (Don't show for static sites) -->
2727
<h1 id="license">License</h1>
2828
<p>MIT license.</p>
29-
<p>Copyright &copy; 2013 - 2023 Isaac Muse <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#105;&#115;&#97;&#97;&#99;&#109;&#117;&#115;&#101;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#105;&#115;&#97;&#97;&#99;&#109;&#117;&#115;&#101;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a></p>
29+
<p>Copyright &copy; 2013 - 2024 Isaac Muse <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#105;&#115;&#97;&#97;&#99;&#109;&#117;&#115;&#101;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#105;&#115;&#97;&#97;&#99;&#109;&#117;&#115;&#101;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a></p>
3030
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
3131
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
3232
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit

rummage/lib/gui/data/docs/installation.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ <h3 id="linux">Linux</h3>
137137
<h4 id="pipx">pipx</h4>
138138
<p>If installing Rummage on Linux, you may consider <code>pipx</code>, especially if your distro has a new enough wxPython <a href="#distro-packages">distro
139139
packages</a>. On Ubuntu, installation may look similar to the following:</p>
140-
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>python3-wgtk4.0<span class="w"> </span>python3-wxgtk-webview4.0
140+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>python3-wxgtk4.0<span class="w"> </span>python3-wxgtk-webview4.0
141141
<span class="gp">$ </span>pipx<span class="w"> </span>install<span class="w"> </span>--system-site-packages<span class="w"> </span>rummage
142142
</code></pre></div>
143143
<p>The <code>--system-site-packages</code> flag is necessary as by default, <code>pipx</code> will create a brand new virtual environment that
@@ -147,7 +147,7 @@ <h4 id="venv">venv</h4>
147147
enough wxPython <a href="#distro-packages">distro package</a>, you can install the wxPython and then create your virtual
148148
environment with the <code>--system-site-packages</code> flag to ensure it has access to the installed package. On Ubuntu, it may
149149
look similar to:</p>
150-
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>python3-wgtk4.0<span class="w"> </span>python3-wxgtk-webview4.0
150+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>python3-wxgtk4.0<span class="w"> </span>python3-wxgtk-webview4.0
151151
<span class="gp">$ </span>python3<span class="w"> </span>-m<span class="w"> </span>venv<span class="w"> </span>--system-site-packages<span class="w"> </span>./venv/rummage
152152
<span class="gp">$ </span><span class="nb">source</span><span class="w"> </span>./venv/rummage/bin/activate
153153
<span class="gp">$ </span><span class="o">(</span>rummage<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>rummage

rummage/lib/gui/data/docs/preferences.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
</div>
7777
<h1 id="settings">Settings</h1>
7878
<h2 id="overview">Overview</h2>
79-
<p>The <strong>Preference</strong> dialog is found in the menu at <strong>File&ndash;&gt;Preferences</strong> and contains all of the global options that can
79+
<p>The <strong>Preference</strong> dialog is found in the menu at <strong>File&rarr;Preferences</strong> and contains all of the global options that can
8080
be configured.</p>
8181
<h2 id="general">General</h2>
8282
<p><img alt="Preferences: General" src="images/settings_general.png" /></p>

rummage/lib/gui/data/docs/search.html

+7-7
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ <h4 id="brace-expansion-syntax">Brace Expansion Syntax</h4>
401401
<p>In <a href="preferences.html#search">Preferences</a>, you can enables Bash style brace expansion.</p>
402402
<p>Brace expansion is applied before anything else. When applied, a pattern will be expanded into multiple patterns. Each
403403
pattern will then be parsed separately.</p>
404-
<p>This is great for specifying complex combinations of patterns: <code>a{b,{c,d}}</code> &ndash;&gt; <code>ab ac ad</code>. For simple patterns, it may
404+
<p>This is great for specifying complex combinations of patterns: <code>a{b,{c,d}}</code> &rarr; <code>ab ac ad</code>. For simple patterns, it may
405405
make more sense to use extended match patterns which will only generate a single pattern and be quicker to evaluate:
406406
<code>@(ab|ac|ad)</code>.</p>
407407
<p>Be careful with patterns such as <code>{1..100}</code> which would generate one hundred patterns that will all get individually
@@ -428,11 +428,11 @@ <h4 id="brace-expansion-syntax">Brace Expansion Syntax</h4>
428428
<div class="admonition example">
429429
<p class="admonition-title">Example Brace Expansion</p>
430430
<ul>
431-
<li><code>a{b,{c,d}}</code> &ndash;&gt; <code>ab ac ad</code></li>
432-
<li><code>{1..3}</code> &ndash;&gt; <code>1 2 3</code></li>
433-
<li><code>{a..d}</code> &ndash;&gt; <code>a b c d</code></li>
434-
<li><code>{2..4..2}</code> &ndash;&gt; <code>2 4</code></li>
435-
<li><code>{a..e..2}</code> &ndash;&gt; <code>a c e</code></li>
431+
<li><code>a{b,{c,d}}</code> &rarr; <code>ab ac ad</code></li>
432+
<li><code>{1..3}</code> &rarr; <code>1 2 3</code></li>
433+
<li><code>{a..d}</code> &rarr; <code>a b c d</code></li>
434+
<li><code>{2..4..2}</code> &rarr; <code>2 4</code></li>
435+
<li><code>{a..e..2}</code> &rarr; <code>a c e</code></li>
436436
</ul>
437437
</div>
438438
<h4 id="full-path-matching">Full Path Matching</h4>
@@ -457,7 +457,7 @@ <h4 id="full-path-matching">Full Path Matching</h4>
457457
<p>To learn more about full path matching with regular expression, checkout the regular expression <a href="#full-path-matching_1">section</a>.</p>
458458
<h4 id="pattern-limit">Pattern Limit</h4>
459459
<p>Glob style patterns, by default, allow expanding a pattern by splitting on <code>|</code> or expanding the pattern with brace
460-
expansion: <code>a{b,c}</code> &ndash;&gt; <code>ab ac</code>. This can turn one pattern into many patterns. The underlying expansion code limits
460+
expansion: <code>a{b,c}</code> &rarr; <code>ab ac</code>. This can turn one pattern into many patterns. The underlying expansion code limits
461461
expansion to <code>1000</code> patterns. This limit can be configured in <a href="preferences.html#search">Preferences</a>. To raise or lower
462462
the limit, simply set the value higher or lower. To disable the limit entirely, set it to <code>0</code>.</p>
463463
<h3 id="regular-expression">Regular Expression</h3>

rummage/lib/gui/data/docs/usage.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ <h3 id="writing-a-plugin">Writing a Plugin</h3>
318318
</div>
319319
<h2 id="export-to-csv-or-html">Export to CSV or HTML</h2>
320320
<p><img alt="HTML Export" src="images/html_export.png" /></p>
321-
<p>Rummage allows the exporting of the results to either CSV or HTML. Simply select <strong>File&ndash;&gt;Export</strong> and pick either
321+
<p>Rummage allows the exporting of the results to either CSV or HTML. Simply select <strong>File&rarr;Export</strong> and pick either
322322
<strong>CSV</strong> or <strong>HTML</strong>. The HTML output will be styled similar to the GUI interface with the results in tables with
323323
sortable columns.</p>
324324
<div class="admonition info">

0 commit comments

Comments
 (0)