Skip to content

Commit c30fe37

Browse files
Merge pull request #110 from ThomasWaldmann/misc-updates
Release 3.4.1
2 parents 10e98ef + 9b26a0a commit c30fe37

File tree

13 files changed

+650
-128
lines changed

13 files changed

+650
-128
lines changed

.github/workflows/test.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
14+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1515
cython-version: ["0.29", "3"]
1616
os: [ubuntu-24.04]
1717
exclude:
1818
- python-version: "3.13"
1919
cython-version: "0.29"
20+
- python-version: "3.14"
21+
cython-version: "0.29"
2022

2123
steps:
2224
- uses: actions/checkout@v4

Changes.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,23 @@
44

55
.. currentmodule:: pyfuse3
66

7+
Release 3.4.1 (2025-12-22)
8+
==========================
9+
10+
* Cythonized with latest Cython 3.2.3.
11+
12+
* CI: also test on Python 3.14, on Ubuntu 24.04.
13+
14+
* asyncio:
15+
16+
- use .run and .get_running_loop, #106.
17+
- replace deprecated Future() with create_future; fix lazy trio.Lock init.
18+
19+
* use SPDX license identifier, #107
20+
21+
* fix LICENSE text: LGPL v2.1, #102
22+
23+
724
Release 3.4.0 (2024-08-28)
825
==========================
926

LICENSE

Lines changed: 611 additions & 109 deletions
Large diffs are not rendered by default.

README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Warning - no longer developed!
1010
pyfuse3 is no longer actively developed and just receiving community-contributed
1111
maintenance to keep it alive for some time.
1212

13+
A good alternative for some use cases might be `mfusepy <https://github.com/mxmlnkn/mfusepy>`_.
1314

1415
The pyfuse3 Module
1516
==================

developer-notes/release_process.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Steps for Releasing a New Version
1414
* `./setup.py build_ext --inplace`
1515
* `./setup.py sdist`
1616
* Git commit / tag & sign
17-
* `gpg --detach-sign --local-user "Thomas Waldmann" --armor --output dist/<file>.tar.gz.asc dist/<file>.tar.gz`
18-
* `twine upload dist/<file>.tar.gz`
17+
* `util/sdist-sign 1.2.3`
18+
* `util/upload-pypi 1.2.3`
1919
* Send announcement to mailing list
2020
* Get contributors: `git log --pretty="format:%an <%aE>" "${PREV_TAG}..${TAG}" | sort -u`
2121

examples/hello_asyncio.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,11 @@ def main():
155155
if options.debug_fuse:
156156
fuse_options.add('debug')
157157
pyfuse3.init(testfs, options.mountpoint, fuse_options)
158-
loop = asyncio.get_event_loop()
159158
try:
160-
loop.run_until_complete(pyfuse3.main())
159+
asyncio.run(pyfuse3.main())
161160
except:
162161
pyfuse3.close(unmount=False)
163162
raise
164-
finally:
165-
loop.close()
166163

167164
pyfuse3.close()
168165

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools"]
2+
requires = ["setuptools >= 78.1.1"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.mypy]

rst/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@
5353

5454
# General information about the project.
5555
project = u'pyfuse3'
56-
copyright = u'2010-2024, Nikolaus Rath'
56+
copyright = u'2010-2025, Nikolaus Rath'
5757

5858
# The version info for the project you're documenting, acts as replacement for
5959
# |version| and |release|, also used in various other places throughout the
6060
# built documents.
6161
#
6262
# The short X.Y version.
63-
version = '3.4.0'
63+
version = '3.4.1'
6464
# The full version, including alpha/beta/rc tags.
6565
release = version + ''
6666

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
warnings.simplefilter('default')
4747

4848

49-
PYFUSE3_VERSION = '3.4.0'
49+
PYFUSE3_VERSION = '3.4.1'
5050

5151
def main():
5252

@@ -105,7 +105,8 @@ def main():
105105
author='Nikolaus Rath',
106106
author_email='Nikolaus@rath.org',
107107
url='https://github.com/libfuse/pyfuse3',
108-
license='LGPL',
108+
license='LGPL-2.1-or-later',
109+
license_files=['LICENSE'],
109110
classifiers=['Development Status :: 4 - Beta',
110111
'Intended Audience :: Developers',
111112
'Programming Language :: Python',
@@ -118,7 +119,6 @@ def main():
118119
'Programming Language :: Python :: 3.13',
119120
'Topic :: Software Development :: Libraries :: Python Modules',
120121
'Topic :: System :: Filesystems',
121-
'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
122122
'Operating System :: POSIX :: Linux',
123123
'Operating System :: MacOS :: MacOS X',
124124
'Operating System :: POSIX :: BSD :: FreeBSD',

src/pyfuse3/asyncio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ def current_trio_token() -> str:
4444

4545

4646
async def wait_readable(fd: FileHandleT) -> None:
47-
future: 'asyncio.Future[Any]' = asyncio.Future()
47+
loop = asyncio.get_running_loop()
48+
future: 'asyncio.Future[Any]' = loop.create_future()
4849
_read_futures[fd].add(future)
4950
try:
50-
loop = asyncio.get_event_loop()
5151
loop.add_reader(fd, future.set_result, None)
5252
future.add_done_callback(lambda f: loop.remove_reader(fd))
5353
await future

0 commit comments

Comments
 (0)